@charset "UTF-8";:root{--primary-color: #2d4f7c;--primary-dark: #1e3a5f;--primary-light: #6c84a3;--primary-lightest: rgba(45, 79, 124, .1);--primary-lightish: rgba(45, 79, 124, .3);--primary-shadow: rgba(45, 79, 124, .3);--primary-shadow-hover: rgba(45, 79, 124, .4);--success-color: #2D6A4F;--success-light: rgba(45, 106, 79, .1);--warning-color: #B45309;--warning-light: rgba(180, 83, 9, .1);--danger-color: #C73E1D;--danger-light: rgba(199, 62, 29, .1);--info-color: #2D4F7C;--info-light: rgba(45, 79, 124, .1);--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-disabled: #cbd5e1;--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-tertiary: #f5f7fa;--bg-hover: #e2e8f0;--border-color: #e2e8f0;--border-light: #f5f7fa;--c-text: #1e293b;--c-text-secondary: #64748b;--c-text-muted: #64748b;--c-text-disabled: #94a3b8;--c-text-inverse: #ffffff;--c-bg: #ffffff;--c-bg-card: #ffffff;--c-bg-secondary: #f5f7fa;--c-bg-tertiary: #f5f7fa;--c-bg-hover: #e2e8f0;--c-border: #cbd5e1;--c-border-light: #e2e8f0;--c-shadow: 0 1px 3px rgba(0, 0, 0, .08);--c-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--c-primary: #2d4f7c;--c-primary-light: #6c84a3;--c-primary-bg: rgba(45, 79, 124, .08);--c-danger: #C73E1D;--c-danger-bg: rgba(199, 62, 29, .08);--c-warning: #B45309;--c-warning-bg: rgba(180, 83, 9, .08);--c-success: #2D6A4F;--c-success-bg: rgba(45, 106, 79, .08);--c-success-text: #2D6A4F;--c-warning-text: #8E6F3E;--c-info: #2D4F7C;--c-info-bg: rgba(45, 79, 124, .08);--font-family-primary: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--gradient-primary: linear-gradient(135deg, #1e3a5f 0%, #1a1f2e 100%);--gradient-warm: linear-gradient(135deg, #c73e1d 0%, #c9a66b 100%);--gradient-cool: linear-gradient(135deg, #2d6a4f 0%, #4a8b6b 100%);--gradient-sunset: linear-gradient(135deg, #c73e1d 0%, #c9a66b 100%);--gradient-ink: linear-gradient(135deg, #1a1f2e 0%, #334155 100%);--gradient-paper: linear-gradient(180deg, #fafaf7 0%, #f5f2ed 100%);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .4);--glass-blur: blur(12px);--glass-blur-strong: blur(20px);--color-cream: #f5f2ed;--color-cream-dark: #ebe6dd;--color-ink: #1a1f2e;--color-ink-light: #334155;--color-brick: #c73e1d;--color-indigo: #1e3a5f;--color-gold: #c9a66b;--color-forest: #2d6a4f;--color-rose: rgba(199, 62, 29, .3);--color-mist: #e8e4dc;--ed-text-1: #1a1f2e;--ed-text-3: #94a3b8;--ed-text-4: #cbd5e1;--ed-bg-1: #fafaf7;--ed-bg-2: #f5f2ed;--ed-bg-3: #ebe6dd;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--shadow-glow-primary: 0 0 24px rgba(45, 79, 124, .25);--shadow-glow-warm: 0 0 24px rgba(201, 166, 107, .3);--shadow-paper: 0 1px 3px rgba(26, 31, 46, .05), 0 4px 12px rgba(26, 31, 46, .04);--shadow-elevated: 0 4px 8px rgba(26, 31, 46, .06), 0 12px 24px rgba(26, 31, 46, .08);--ed-cream: #f5f2ed;--ed-cream-dark: #ebe7e0;--ed-paper: #fffdf9;--ed-paper-2: #f7f4ef;--ed-ink: #1a1f2e;--ed-ink-light: #334155;--ed-brick: #c73e1d;--ed-brick-dark: #8f3523;--ed-brick-light: #f3e3de;--ed-indigo: #1e3a5f;--ed-indigo-dark: #2d4f7c;--ed-indigo-light: #e8eef5;--ed-gold: #c9a66b;--ed-gold-light: #f5efe3;--ed-forest: #2d6a4f;--ed-forest-dark: #1f4d38;--ed-forest-light: #e4eee9;--ed-slate: #64748b;--ed-slate-light: #e4e7ed;--ed-text: #1a1f2e;--ed-text-2: #4b5563;--ed-text-3: #6b7280;--ed-border: rgba(26, 31, 46, .16);--ed-border-strong: rgba(26, 31, 46, .55);--ed-radius-sm: 12px;--ed-radius: 14px;--ed-radius-lg: 16px;--ed-shadow-sm: 0 2px 4px rgba(26, 31, 46, .04);--ed-shadow: 0 6px 14px rgba(26, 31, 46, .07);--ed-shadow-lg: 0 18px 32px rgba(26, 31, 46, .12);--ed-serif: "Source Han Serif SC", "Noto Serif SC", "Songti SC", "SimSun", serif;--ed-sans: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--ed-gradient-primary: linear-gradient(135deg, var(--ed-indigo) 0%, var(--ed-ink) 100%);--ed-gradient-warm: linear-gradient(135deg, var(--ed-brick) 0%, var(--ed-gold) 100%);--ed-gradient-fresh: linear-gradient(135deg, var(--ed-forest) 0%, var(--ed-forest-dark) 100%);--ed-gradient-deep: linear-gradient(135deg, var(--ed-indigo) 0%, var(--ed-indigo-dark) 100%)}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background-color:var(--bg-secondary);background-image:radial-gradient(ellipse at 50% 0%,rgba(199,62,29,.03) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(45,79,124,.02) 0%,transparent 50%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
#app{width:100%;height:100%;min-height:100vh}
h1{font-size:var(--font-size-3xl)}
h2{font-size:var(--font-size-2xl)}
h3{font-size:var(--font-size-lg)}
h4{font-size:var(--font-size-base)}
h5,h6{font-size:var(--font-size-sm)}
a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}
a:hover{color:var(--primary-color)}
ul,ol{list-style:none}
input,textarea,button,select{outline:none;font-family:inherit}
.clearfix:after{content:"";display:block;clear:both}
.text-right{text-align:right}
.text-primary{color:var(--primary-color)}
.text-secondary{color:var(--text-secondary)}
.text-tertiary{color:var(--text-tertiary)}
.pull-left{float:left}
.pull-right{float:right}
.mt-xs{margin-top:var(--spacing-xs)}
.mt-sm{margin-top:var(--spacing-sm)}
.mt-md{margin-top:var(--spacing-md)}
.mt-lg{margin-top:var(--spacing-lg)}
.mt-xl{margin-top:var(--spacing-xl)}
.mt-2xl{margin-top:var(--spacing-2xl)}
.mb-xs{margin-bottom:var(--spacing-xs)}
.mb-sm{margin-bottom:var(--spacing-sm)}
.mb-md{margin-bottom:var(--spacing-md)}
.mb-lg{margin-bottom:var(--spacing-lg)}
.mb-xl{margin-bottom:var(--spacing-xl)}
.mb-2xl{margin-bottom:var(--spacing-2xl)}
.ml-xs{margin-left:var(--spacing-xs)}
.ml-sm{margin-left:var(--spacing-sm)}
.ml-md{margin-left:var(--spacing-md)}
.ml-lg{margin-left:var(--spacing-lg)}
.mr-xs{margin-right:var(--spacing-xs)}
.mr-sm{margin-right:var(--spacing-sm)}
.mr-md{margin-right:var(--spacing-md)}
.mr-lg{margin-right:var(--spacing-lg)}
.p-xs{padding:var(--spacing-xs)}
.p-sm{padding:var(--spacing-sm)}
.p-md{padding:var(--spacing-md)}
.p-lg{padding:var(--spacing-lg)}
.p-xl{padding:var(--spacing-xl)}
.p-2xl{padding:var(--spacing-2xl)}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-center{display:flex;align-items:center;justify-content:center}
.flex-between{display:flex;align-items:center;justify-content:space-between}
.flex-start{display:flex;align-items:center;justify-content:flex-start}
.flex-end{display:flex;align-items:center;justify-content:flex-end}
.flex-1{flex:1}
.flex-gap-xs{gap:var(--spacing-xs)}
.flex-gap-sm{gap:var(--spacing-sm)}
.flex-gap-md{gap:var(--spacing-md)}
.flex-gap-lg{gap:var(--spacing-lg)}
.page-container{padding:var(--spacing-xl);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--transition-normal)}
.card:hover{box-shadow:var(--shadow-md)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;border:none;transition:all var(--transition-fast)}
.btn-primary{background:var(--primary-color);color:#fff}
.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md)}
.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}
.btn-secondary:hover{background:var(--bg-hover)}
.btn-success{background:var(--success-color);color:#fff}
.btn-success:hover{background:#1f4d38}
.btn-warning{background:var(--warning-color);color:#fff}
.btn-warning:hover{background:#8a5a1f}
.btn-danger{background:var(--danger-color);color:#fff}
.btn-danger:hover{background:#8f3523}
.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}
.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md)}
@media screen and (max-width: 1024px){html,body{font-size:var(--font-size-sm)}.page-container{padding:var(--spacing-lg)}.el-card{margin-bottom:var(--spacing-lg)}.el-table{font-size:var(--font-size-xs)}.el-table td,.el-table th{padding:8px 4px}}
@media screen and (max-width: 767px){html,body{font-size:var(--font-size-sm)}.page-container{padding:var(--spacing-md);margin:var(--spacing-sm)}.el-card{margin-bottom:var(--spacing-md);border-radius:var(--radius-md)}.el-button{padding:8px 12px;font-size:var(--font-size-sm)}.el-button--small{padding:6px 10px;font-size:var(--font-size-xs)}.el-input,.el-select{width:100%}.el-table{font-size:var(--font-size-xs);overflow-x:auto}.el-table td,.el-table th{padding:6px 4px;white-space:nowrap}.el-dialog{margin:var(--spacing-sm);width:calc(100% - var(--spacing-2xl))!important}.el-tabs__header{flex-wrap:nowrap;overflow-x:auto}.el-tabs__item{flex-shrink:0;margin-right:var(--spacing-md)}.stats-row,.stats-cards,.courses-grid{grid-template-columns:repeat(2,1fr)!important;gap:var(--spacing-sm)!important}.exams-list,.main-content{grid-template-columns:1fr!important}.action-bar{flex-direction:column;gap:var(--spacing-sm)}.nav-dots{gap:var(--spacing-xs)!important}.nav-dot{width:30px!important;height:30px!important;font-size:var(--font-size-sm)!important}}
@media screen and (max-width: 480px){html,body{font-size:var(--font-size-xs)}.page-container{padding:var(--spacing-sm);margin:3px}.el-card{padding:var(--spacing-md)}.el-button{padding:6px 10px;font-size:var(--font-size-xs)}.el-form-item{margin-bottom:var(--spacing-md)}.el-form-item__label{padding:0 0 4px;line-height:1.2}.stats-row,.stats-cards{grid-template-columns:1fr!important;gap:var(--spacing-xs)!important}.stat-card{flex-direction:column;text-align:center}.courses-grid{grid-template-columns:1fr!important;gap:var(--spacing-xs)!important}.question-header{flex-wrap:wrap;gap:var(--spacing-xs)}.question-content{font-size:var(--font-size-md)!important}.options-list{gap:var(--spacing-sm)!important}.option-item{padding:var(--spacing-lg)!important}.mode-cards{flex-direction:column;gap:var(--spacing-sm)}}
@media (hover: none){.el-button:active{transform:scale(.98);opacity:.8}.el-card:active{transform:scale(.99)}.option-item:active,.mode-card:active{transform:scale(.98)}}
@media (prefers-contrast: high){:root{--primary-color: #c73e1d;--primary-dark: #8f3523}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}
::selection{background:var(--primary-lightest);color:var(--primary-color)}
.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.text-gradient-warm{background:var(--gradient-warm);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.text-gradient-cool{background:var(--gradient-cool);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}
.glass-strong{background:var(--glass-bg);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border)}
.paper{background:var(--gradient-paper);box-shadow:var(--shadow-paper);border:1px solid var(--color-mist)}
.hover-float{transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.hover-float:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated)}
.btn-gradient{background:var(--gradient-primary);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-weight:500;cursor:pointer;transition:all .3s var(--ease-out);box-shadow:0 2px 8px #2d4f7c40}
.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2d4f7c66}
.btn-gradient:active{transform:translateY(0)}
.btn-gradient-warm{background:var(--gradient-warm);box-shadow:0 2px 8px #c9a66b4d}
.btn-gradient-warm:hover{box-shadow:0 6px 16px #c9a66b80}
.btn-gradient-cool{background:var(--gradient-cool);box-shadow:0 2px 8px #4a8b6b4d}
.btn-gradient-cool:hover{box-shadow:0 6px 16px #4a8b6b80}
.card-elegant{background:white;border-radius:14px;padding:20px;border:1px solid var(--color-mist);box-shadow:var(--shadow-paper);transition:all .3s var(--ease-out)}
.card-elegant:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated);border-color:var(--color-rose)}
.skeleton{background:linear-gradient(90deg,var(--color-mist) 0%,rgba(255,255,255,.5) 50%,var(--color-mist) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}
@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
.focus-ring:focus-visible{outline:2px solid #2D4F7C;outline-offset:2px;border-radius:4px}
.divider-fancy{height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-mist) 50%,transparent 100%);margin:16px 0}
.fab{position:fixed;width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #2d4f7c66;cursor:pointer;border:none;z-index:100;transition:all .3s var(--ease-spring)}
.fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 12px 32px #2d4f7c80}
.fab:active{transform:scale(.96)}
.pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500;background:var(--color-cream);color:var(--color-ink)}
.pill-primary{background:rgba(45,79,124,.12);color:#2d4f7c}
.pill-success{background:rgba(45,106,79,.12);color:#2d6a4f}
.pill-warning{background:rgba(180,83,9,.15);color:#b45309}
.pill-danger{background:rgba(199,62,29,.12);color:#c73e1d}
.pill-info{background:rgba(45,79,124,.12);color:#2d4f7c}
.fade-in-up{animation:fadeInUp .5s var(--ease-out) backwards}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--ed-text-3);text-align:center}
.empty-state .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}
.empty-state .empty-title{font-size:16px;color:var(--ed-text-2);margin-bottom:8px;font-weight:500}
.empty-state .empty-desc{font-size:13px;color:var(--ed-text-3);max-width:320px;line-height:1.6}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(45,79,124,.3),rgba(91,75,138,.3));border-radius:10px;border:2px solid transparent;background-clip:content-box;transition:background .2s}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(45,79,124,.6),rgba(91,75,138,.6));background-clip:content-box}
::-webkit-scrollbar-corner{background:transparent}
*{scrollbar-width:thin;scrollbar-color:rgba(45,79,124,.4) transparent}
.page-enter-active,.page-leave-active{transition:opacity .25s ease,transform .25s ease}
.page-enter-from{opacity:0;transform:translateY(8px)}
.page-leave-to{opacity:0;transform:translateY(-8px)}
.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 28px #2d4f7c26}
.text-gradient{background:linear-gradient(135deg,#2d4f7c 0%,#5b4b8a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}
.text-gradient-warm{background:linear-gradient(135deg,#c73e1d 0%,#c9a66b 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}
.text-gradient-fresh{background:linear-gradient(135deg,#2e7d7b 0%,#4a8b6b 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}
.fade-in-up{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) both}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.stagger-1{animation-delay:.05s}
.stagger-2{animation-delay:.1s}
.stagger-3{animation-delay:.15s}
.stagger-4{animation-delay:.2s}
.stagger-5{animation-delay:.25s}
.stagger-6{animation-delay:.3s}
.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}
@keyframes pulseGlow{0%,to{box-shadow:0 0 #2d4f7c66}50%{box-shadow:0 0 0 8px #2d4f7c00}}
.skeleton{background:linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.06) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:6px}
@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
.text-flash{animation:textFlash .6s ease-out}
@keyframes textFlash{0%{color:var(--ed-text-2);transform:scale(1)}50%{color:#2d4f7c;transform:scale(1.1)}to{color:inherit;transform:scale(1)}}
.shine-on-hover{position:relative;overflow:hidden}
.shine-on-hover:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);transition:left .6s ease;pointer-events:none}
.shine-on-hover:hover:after{left:200%}
.btn-press:active{transform:scale(.96);transition:transform .1s}
.link-underline{position:relative;display:inline-block;cursor:pointer;color:#2d4f7c;transition:color .2s}
.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#2d4f7c,#5b4b8a);transition:width .3s ease}
.link-underline:hover{color:#5b4b8a}
.link-underline:hover:after{width:100%}
.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #00000014}
.glass-dark{background:rgba(0,0,0,.4);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.1);color:#fff}
@media (max-width: 767px){.hide-on-mobile{display:none!important}.app-hero{padding:20px 16px!important}.app-hero-title{font-size:18px!important}}
@media (min-width: 768px){.hide-on-desktop{display:none!important}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
:focus-visible{outline:2px solid #2d4f7c;outline-offset:2px;border-radius:4px}
::selection{background:rgba(45,79,124,.3);color:#1e293b}
.balance-text{text-wrap:balance}
.academic-page{min-height:100vh;margin:-16px -20px 0;padding:0 20px 28px;font-family:var(--ed-sans);background:radial-gradient(circle at 20% 30%,var(--ed-paper-2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,var(--ed-cream-dark) 0%,transparent 50%),var(--ed-cream);position:relative}
.academic-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(26,31,46,.08) 1px,transparent 1px),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.12 0 0 0 0 0.18 0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:24px 24px,200px 200px;pointer-events:none;z-index:0}
.academic-page>*{position:relative;z-index:1}
.ed-panel{background:var(--ed-paper);border:1px solid var(--ed-border);border-radius:var(--ed-radius-lg);padding:20px 24px;box-shadow:var(--ed-shadow-sm);transition:box-shadow .25s ease,transform .25s ease}
.ed-panel:hover{box-shadow:var(--ed-shadow)}
.ed-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed var(--ed-border)}
.ed-panel-title{display:flex;align-items:center;gap:8px;font-family:var(--ed-serif);font-size:18px;font-weight:600;color:var(--ed-ink);letter-spacing:.5px}
.ed-panel-title-icon{color:var(--ed-brick);font-size:20px}
.ed-section-title{display:flex;align-items:center;gap:12px;font-family:var(--ed-serif);font-size:22px;font-weight:600;color:var(--ed-ink);margin:0 0 20px;letter-spacing:.5px}
.ed-section-title:before{content:"";width:4px;height:22px;background:var(--ed-ink);border-radius:2px}
.ed-hero{position:relative;padding:56px 40px 48px;background:var(--ed-gradient-primary);border-radius:var(--ed-radius-lg);overflow:hidden;color:#fff;box-shadow:var(--ed-shadow-lg)}
.ed-hero-decoration{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ed-hero-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.ed-hero-orb-1{width:280px;height:280px;background:var(--ed-gold);top:-80px;right:-60px}
.ed-hero-orb-2{width:200px;height:200px;background:var(--ed-paper);bottom:-60px;left:20%;opacity:.25}
.ed-hero-orb-3{width:160px;height:160px;background:var(--ed-brick);top:30%;left:10%;opacity:.3}
.ed-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}
.ed-hero-content{position:relative;z-index:1}
.ed-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;background:var(--ed-ink);color:#fff;border:none;border-radius:var(--ed-radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .25s var(--ease-out);box-shadow:0 4px 10px #1a1f2e33}
.ed-btn-primary:hover{background:var(--ed-brick);transform:translateY(-1px);box-shadow:0 6px 16px #c73e1d4d}
.ed-btn-warm{background:var(--ed-gradient-warm);color:#fff}
.ed-btn-warm:hover{filter:brightness(1.08);box-shadow:0 6px 16px #c9a66b66}
.ed-btn-ghost{background:transparent;color:var(--ed-ink);border:1px solid var(--ed-border-strong)}
.ed-btn-ghost:hover{background:var(--ed-paper);border-color:var(--ed-ink)}
.ed-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--ed-paper-2);color:var(--ed-text-2);border:1px solid var(--ed-border)}
.ed-tag-brick{background:var(--ed-brick-light);color:var(--ed-brick);border-color:transparent}
.ed-tag-indigo{background:var(--ed-indigo-light);color:var(--ed-indigo);border-color:transparent}
.ed-tag-gold{background:var(--ed-gold-light);color:#8e6f3e;border-color:transparent}
.ed-tag-forest{background:var(--ed-forest-light);color:var(--ed-forest);border-color:transparent}
.ed-metric{background:var(--ed-paper);border:1px solid var(--ed-border);border-radius:var(--ed-radius);padding:20px;position:relative;overflow:hidden;transition:all .3s var(--ease-out)}
.ed-metric:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--ed-ink)}
.ed-metric-brick:before{background:var(--ed-brick)}
.ed-metric-gold:before{background:var(--ed-gold)}
.ed-metric-forest:before{background:var(--ed-forest)}
.ed-metric-indigo:before{background:var(--ed-indigo)}
.ed-metric:hover{transform:translateY(-2px);box-shadow:var(--ed-shadow)}
.ed-metric-label{font-size:13px;color:var(--ed-text-2);margin-bottom:6px;font-family:var(--ed-sans)}
.ed-metric-value{font-family:var(--ed-serif);font-size:28px;font-weight:700;color:var(--ed-ink);line-height:1.2;letter-spacing:-.5px}
.ed-metric-suffix{font-size:14px;color:var(--ed-text-3);margin-left:4px;font-weight:400}
.ed-container{max-width:1280px;margin:0 auto;padding:0 20px}
.ed-section{padding:32px 0}
.ed-serif{font-family:var(--ed-serif)}
.ed-text-2{color:var(--ed-text-2)}
.ed-text-3{color:var(--ed-text-3)}
.ed-h1{font-family:var(--ed-serif);font-size:36px;font-weight:700;line-height:1.25;letter-spacing:-.5px;color:var(--ed-ink);margin:0 0 16px}
.ed-h2{font-family:var(--ed-serif);font-size:28px;font-weight:600;line-height:1.3;letter-spacing:-.3px;color:var(--ed-ink);margin:0 0 14px}
.ed-h3{font-family:var(--ed-serif);font-size:22px;font-weight:600;line-height:1.35;color:var(--ed-ink);margin:0 0 12px}
.ed-h4{font-family:var(--ed-serif);font-size:18px;font-weight:600;line-height:1.4;color:var(--ed-ink);margin:0 0 10px}
.ed-h5{font-family:var(--ed-sans);font-size:16px;font-weight:600;line-height:1.5;color:var(--ed-ink);margin:0 0 8px}
.ed-lead{font-family:var(--ed-serif);font-size:18px;line-height:1.7;color:var(--ed-text-2);font-weight:400;letter-spacing:.2px}
.ed-body{font-family:var(--ed-sans);font-size:14px;line-height:1.7;color:var(--ed-text)}
.ed-caption{font-family:var(--ed-sans);font-size:12px;line-height:1.5;color:var(--ed-text-3);letter-spacing:.3px}
.ed-quote{font-family:var(--ed-serif);font-size:16px;font-style:italic;line-height:1.7;color:var(--ed-text-2);border-left:3px solid var(--ed-brick);padding:8px 0 8px 20px;margin:12px 0}
.ed-divider-volume{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0;color:var(--ed-text-3)}
.ed-divider-volume:before,.ed-divider-volume:after{content:"";flex:1;max-width:80px;height:1px;background:var(--ed-border-strong)}
.ed-divider-volume-dot{width:6px;height:6px;border-radius:50%;background:var(--ed-brick)}
.ed-divider-double{border:0;height:4px;border-top:1px solid var(--ed-border-strong);border-bottom:1px solid var(--ed-border-strong);margin:16px 0}
.ed-divider-dashed{border:0;border-top:1px dashed var(--ed-border-strong);margin:14px 0}
.ed-volume-stamp{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--ed-serif);font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--ed-brick-dark, #8f3523);background:var(--ed-brick-light);border:1px solid var(--ed-brick);border-radius:2px;text-transform:uppercase}
.ed-volume-stamp:before{content:"※";color:var(--ed-brick-dark, #8f3523)}
.ed-magazine-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-family:var(--ed-serif);font-size:12px;color:var(--ed-text-2);border-top:2px solid var(--ed-ink);border-bottom:1px solid var(--ed-ink);letter-spacing:1px;text-transform:uppercase}
.ed-magazine-header-left,.ed-magazine-header-right{display:flex;align-items:center;gap:16px;flex-shrink:0;white-space:nowrap}
.ed-magazine-header-center{flex:1;min-width:0;text-align:center;font-weight:600;color:var(--ed-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width: 1023px){.ed-magazine-header{font-size:11px;letter-spacing:.5px}.ed-magazine-header-left,.ed-magazine-header-right{display:none}.ed-magazine-header-center{flex:none;width:100%}}
.ed-archive-strip{display:flex;align-items:stretch;background:var(--ed-paper-2);border-left:4px solid var(--ed-brick);border-radius:2px;padding:10px 16px;margin:12px 0;gap:16px}
.ed-archive-strip-label{font-family:var(--ed-serif);font-weight:700;font-size:14px;color:var(--ed-brick);white-space:nowrap;letter-spacing:1px}
.ed-archive-strip-content{flex:1;font-size:13px;color:var(--ed-text-2);line-height:1.6}
.ed-eyebrow{display:inline-block;font-family:var(--ed-sans);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--ed-brick);margin-bottom:8px}
.ed-binding-line{position:relative;padding-left:20px}
.ed-binding-line:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:linear-gradient(to bottom,var(--ed-brick) 0%,var(--ed-gold) 50%,var(--ed-forest) 100%);border-radius:1px}
.ed-diamond{display:inline-block;width:6px;height:6px;background:var(--ed-brick);transform:rotate(45deg);margin:0 8px;vertical-align:middle}
.ed-underline{background-image:linear-gradient(transparent 65%,var(--ed-gold-light) 65%,var(--ed-gold-light) 90%,transparent 90%);padding:0 2px}
.ed-drop-cap:first-letter{font-family:var(--ed-serif);font-size:56px;font-weight:700;float:left;line-height:.9;padding:6px 8px 0 0;color:var(--ed-brick)}
.ed-stat-figure{font-family:var(--ed-serif);font-size:48px;font-weight:700;line-height:1;color:var(--ed-ink);letter-spacing:-1px}
.ed-stat-figure:after{content:"";display:block;width:32px;height:3px;background:var(--ed-brick);margin-top:8px}
.ed-chapter-marker{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.ed-chapter-number{font-family:var(--ed-serif);font-size:14px;font-weight:700;color:var(--ed-brick-dark, #8f3523);letter-spacing:2px;padding:2px 8px;background:var(--ed-brick-light);border-radius:2px}
.ed-chapter-title{font-family:var(--ed-serif);font-size:20px;font-weight:600;color:var(--ed-ink);letter-spacing:.5px}
.ed-aside{font-family:var(--ed-serif);font-size:13px;line-height:1.7;color:var(--ed-text-2);padding:12px 16px;background:var(--ed-paper-2);border-left:3px solid var(--ed-gold);font-style:italic}
.ed-footnote{display:inline;position:relative;font-size:.75em;vertical-align:super;color:var(--ed-brick);cursor:help;font-weight:600}
.ed-footnote:after{content:"]"}
.ed-footnote:before{content:"["}
.ed-page-number{display:inline-flex;align-items:center;gap:4px;font-family:var(--ed-serif);font-size:12px;color:var(--ed-text-3);letter-spacing:1px}
.ed-page-number-current{color:var(--ed-brick);font-weight:700;font-size:14px}
.ed-seal{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ed-brick);color:var(--ed-paper);font-family:var(--ed-serif);font-size:11px;font-weight:700;letter-spacing:1px;box-shadow:0 0 0 2px var(--ed-paper),0 0 0 3px var(--ed-brick);text-align:center;line-height:1.1}
.ed-hero .ed-h1,.ed-hero .ed-h2,.ed-hero .ed-h3,.ed-hero .ed-h4,.ed-hero .ed-h5,.ed-hero .ed-lead,.ed-hero .ed-body,.ed-hero .ed-caption,.ed-hero .ed-quote,.ed-hero .ed-eyebrow,.ed-hero .ed-chapter-title{color:#fff}
.ed-hero .ed-eyebrow{color:var(--ed-gold)}
.ed-hero .ed-volume-stamp{background:rgba(255,253,249,.1);border-color:var(--ed-gold);color:var(--ed-gold)}
.ed-hero .ed-archive-strip{background:rgba(255,253,249,.08);color:#fff}
.ed-hero .ed-archive-strip-label{color:var(--ed-gold)}
.ed-hero .ed-archive-strip-content{color:#ffffffd9}
.ed-hero .ed-aside{background:rgba(255,253,249,.08);color:#ffffffe6;border-left-color:var(--ed-gold)}
.ed-hero .ed-divider-volume{color:#fff9}
.ed-hero .ed-divider-volume:before,.ed-hero .ed-divider-volume:after{background:rgba(255,255,255,.4)}
.ed-hero .ed-magazine-header{border-color:var(--ed-gold);color:#ffffffd9}
.ed-hero .ed-magazine-header-center,.ed-hero .ed-stat-figure{color:#fff}
.ed-hero .ed-stat-figure:after{background:var(--ed-gold)}
.ed-hero .ed-chapter-number{background:rgba(199,62,29,.3);color:var(--ed-gold)}
.ed-hero .ed-page-number{color:#ffffffb3}
:root{--touch-target-mobile: 44px;--touch-target-tablet: 36px;--touch-target-desktop: 32px}
:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}
@media (min-width: 1280px){html,body{font-size:15px!important}.responsive-container{max-width:1240px!important;margin-left:auto!important;margin-right:auto!important}.el-table{font-size:13px!important}.el-table td,.el-table th{padding:10px 8px!important}.el-card{margin-bottom:var(--spacing-xl)!important}.page-hero h1,.app-hero h1{font-size:32px!important;line-height:1.2}.page-hero .page-subtitle,.app-hero .page-subtitle{font-size:16px!important}}
@media (min-width: 1600px){html,body{font-size:16px!important}.responsive-container{max-width:1480px!important}.grid-2-cols-md{grid-template-columns:repeat(3,1fr)!important}.el-table{font-size:14px!important}.el-table td,.el-table th{padding:12px 10px!important}.page-hero h1,.app-hero h1{font-size:40px!important}.page-hero,.app-hero{padding:32px 40px!important}.el-row.is-justify-space-between{gap:16px!important}}
.scroll-snap-x{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.scroll-snap-x::-webkit-scrollbar{display:none}
.scroll-snap-x>*{scroll-snap-align:start;flex-shrink:0}
.toolbar-responsive{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media (max-width: 767px){.toolbar-responsive{flex-direction:column;align-items:stretch;gap:8px}.toolbar-responsive>*{width:100%}}
@media (max-width: 767px){.table-card-mobile thead{display:none}.table-card-mobile tbody tr{display:block;margin-bottom:12px;border:1px solid var(--border-color);border-radius:12px;padding:12px;background:var(--bg-primary);box-shadow:var(--shadow-sm)}.table-card-mobile tbody td{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border:none;font-size:13px}.table-card-mobile tbody td:before{content:attr(data-label);color:var(--text-tertiary);font-weight:500;margin-right:12px;flex-shrink:0}.table-card-mobile tbody tr:hover{background:var(--bg-secondary)}}
@media (max-width: 767px){.dialog-fullscreen-mobile .el-dialog{width:100vw!important;height:100vh!important;max-height:100vh!important;margin:0!important;border-radius:0!important}.dialog-fullscreen-mobile .el-dialog__header{padding:16px 20px;border-bottom:1px solid var(--ed-border)}.dialog-fullscreen-mobile .el-dialog__body{padding:16px 20px;max-height:calc(100vh - 120px);overflow-y:auto}.dialog-fullscreen-mobile .el-dialog__footer{padding:12px 20px;border-top:1px solid var(--ed-border)}}
@media (max-width: 767px){.form-stacked-mobile .el-form-item__label{text-align:left!important;line-height:1.4;padding:0 0 6px;width:100%!important;float:none!important;display:block}.form-stacked-mobile .el-form-item__content{margin-left:0!important}.form-stacked-mobile .el-form-item{margin-bottom:16px}}
.safe-bottom{padding-bottom:calc(12px + var(--safe-area-bottom))}
.safe-top{padding-top:calc(12px + var(--safe-area-top))}
@media (hover: none) and (pointer: coarse){.btn-touch-feedback:active,.el-button:active,.ed-btn-primary:active,.ed-btn-warm:active{transform:scale(.96);transition:transform .1s}}
.grid-auto-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.grid-auto-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.grid-auto-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
@media (max-width: 767px){.grid-auto-2,.grid-auto-3,.grid-auto-4{grid-template-columns:1fr}}
.show-mobile{display:none}
.show-tablet-up,.show-desktop-up{display:initial}
@media (max-width: 767px){.show-mobile{display:initial}.hide-mobile{display:none!important}.show-tablet-up,.show-desktop-up{display:none}}
@media (min-width: 768px) and (max-width: 1024px){.show-tablet-up{display:initial}.hide-tablet{display:none!important}}
@media (min-width: 1025px){.show-desktop-up{display:initial}.hide-desktop{display:none!important}}
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.text-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.list-fade-in>*{animation:fadeInUp .5s var(--ease-out) backwards}
.list-fade-in>*:nth-child(1){animation-delay:.04s}
.list-fade-in>*:nth-child(2){animation-delay:.08s}
.list-fade-in>*:nth-child(3){animation-delay:.12s}
.list-fade-in>*:nth-child(4){animation-delay:.16s}
.list-fade-in>*:nth-child(5){animation-delay:.2s}
.list-fade-in>*:nth-child(6){animation-delay:.24s}
.list-fade-in>*:nth-child(7){animation-delay:.28s}
.list-fade-in>*:nth-child(8){animation-delay:.32s}
.list-fade-in>*:nth-child(9){animation-delay:.36s}
.list-fade-in>*:nth-child(10){animation-delay:.4s}
.list-fade-in>*:nth-child(n+11){animation-delay:.44s}
@media (orientation: landscape) and (max-height: 500px){.ed-hero,.app-hero,.page-hero{padding:20px 24px!important}.ed-hero .ed-h1,.app-hero-title,.page-hero-title{font-size:22px!important}.ed-hero-decoration,.page-hero-decoration{opacity:.4}}
.page-hero .ed-h1,.page-hero .ed-h2,.page-hero .ed-h3,.page-hero .ed-h4,.page-hero .ed-h5,.page-hero .ed-lead,.page-hero .ed-body,.page-hero .ed-caption,.page-hero .ed-quote,.page-hero .ed-eyebrow,.page-hero .ed-chapter-title{color:#fff}
.page-hero .ed-eyebrow{color:var(--ed-gold)}
.page-hero .ed-volume-stamp{background:rgba(255,253,249,.1);border-color:var(--ed-gold);color:var(--ed-gold)}
.page-hero .ed-archive-strip{background:rgba(255,253,249,.08);color:#fff}
.page-hero .ed-archive-strip-label{color:var(--ed-gold)}
.page-hero .ed-archive-strip-content{color:#ffffffd9}
.page-hero .ed-aside{background:rgba(255,253,249,.08);color:#ffffffe6;border-left-color:var(--ed-gold)}
.page-hero .ed-divider-volume{color:#fff9}
.page-hero .ed-divider-volume:before,.page-hero .ed-divider-volume:after{background:rgba(255,255,255,.4)}
.page-hero .ed-magazine-header{border-color:var(--ed-gold);color:#ffffffd9}
.page-hero .ed-magazine-header-center,.page-hero .ed-stat-figure{color:#fff}
.page-hero .ed-stat-figure:after{background:var(--ed-gold)}
.page-hero .ed-chapter-number{background:rgba(199,62,29,.3);color:var(--ed-gold)}
.page-hero .ed-page-number{color:#ffffffb3}
.ed-hero .ed-page-number-current{color:var(--ed-gold)}
.ed-hero .ed-underline{background-image:linear-gradient(transparent 65%,rgba(201,166,107,.4) 65%,rgba(201,166,107,.4) 90%,transparent 90%)}
.responsive-container{padding:20px;max-width:1600px;margin:0 auto;width:100%}
.responsive-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.responsive-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.responsive-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.responsive-stack-mobile{display:block}
.responsive-row{display:flex;flex-wrap:wrap;gap:16px}
.responsive-hide-mobile{display:initial}
.responsive-hide-desktop,.responsive-show-mobile{display:none}
@media (max-width: 767px){.responsive-container{padding:12px}.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{grid-template-columns:1fr;gap:12px}.responsive-stack-mobile>*{margin-bottom:12px}.responsive-row{flex-direction:column;gap:8px}.responsive-hide-mobile{display:none!important}.responsive-hide-desktop,.responsive-show-mobile{display:initial!important}}
@media (min-width: 768px) and (max-width: 1024px){.responsive-container{padding:16px}.responsive-grid-3,.responsive-grid-4{grid-template-columns:repeat(2,1fr)}}
.glass-card{background:rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #1e3a5f14;border-radius:12px}
.glass-card-dark{background:rgba(30,58,95,.7);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #0003;color:#fff}
.btn-gradient-primary{background:linear-gradient(135deg,var(--ed-indigo) 0%,var(--ed-ink) 100%);color:#fff;border:none;transition:all var(--transition-normal)}
.btn-gradient-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1e3a5f4d}
.btn-gradient-warm{background:linear-gradient(135deg,var(--ed-brick) 0%,var(--ed-gold) 100%);color:#fff;border:none;transition:all var(--transition-normal)}
.btn-gradient-warm:hover{transform:translateY(-2px);box-shadow:0 8px 20px #c73e1d4d}
.btn-gradient-fresh{background:linear-gradient(135deg,var(--ed-forest) 0%,var(--ed-forest-dark) 100%);color:#fff;border:none;transition:all var(--transition-normal)}
.btn-gradient-fresh:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2d6a4f4d}
.hover-lift{transition:all var(--transition-normal)}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}
@media (max-width: 767px){html,body,.main,.el-main{overflow-x:hidden}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}.el-table{overflow-x:auto;display:block}.el-dialog{width:calc(100vw - 24px)!important;margin:12px!important}.el-dialog__body{padding:12px 16px!important}.el-button{min-height:36px}.el-pagination{flex-wrap:wrap;justify-content:center}.el-tabs__header{overflow-x:auto;overflow-y:hidden}.el-tabs__nav-wrap--scrollable .el-tabs__nav{flex-wrap:nowrap}.el-card{margin-bottom:12px;border-radius:8px}.el-form-item__label{line-height:1.4}}
@media (max-width: 480px){.el-button{min-height:44px;padding:8px 16px}.el-button+.el-button{margin-left:0;margin-top:8px}.page-title{font-size:18px}}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
.animate-fade-in-up{animation:fadeInUp .5s ease-out}
.animate-fade-in{animation:fadeIn .3s ease-out}
.animate-float{animation:float 3s ease-in-out infinite}
button,.el-button,[role=button],a.btn,.clickable{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:active,.el-button:active,[role=button]:active,.clickable:active{transform:scale(.97);transition:transform .08s ease}
@supports (padding: max(0px)){:root{--safe-area-top: max(0px, env(safe-area-inset-top, 0px));--safe-area-bottom: max(0px, env(safe-area-inset-bottom, 0px));--safe-area-left: max(0px, env(safe-area-inset-left, 0px));--safe-area-right: max(0px, env(safe-area-inset-right, 0px))}body{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}}
@media (min-width: 1920px){html,body{font-size:15px}.app-hero{padding:64px 56px}.el-card{border-radius:16px}.el-button{padding:10px 20px}}
@media (min-width: 768px) and (max-width: 1024px){.el-table{font-size:12px}.el-table th,.el-table td{padding:8px 6px}.app-hero{padding:32px 24px}.el-card__body{padding:16px}}
@media (max-width: 767px){.el-message{min-width:auto!important;max-width:90vw!important}.el-notification{width:90vw!important}.el-popper,.el-tooltip__popper{max-width:80vw!important}.el-pagination .el-pagination__sizes,.el-pagination .el-pagination__jump{display:none!important}.el-drawer{width:85vw!important}.el-menu--horizontal>.el-menu-item{padding:0 8px!important}}
@media (min-width: 1024px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ed-border, rgba(26, 31, 46, .16));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ed-text-3, #6b7280)}}
:focus-visible{outline:2px solid var(--primary-color, #2d4f7c);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--c-text: #e2e8f0;--c-text-secondary: #94a3b8;--c-text-muted: #94a3b8;--c-text-disabled: #475569;--ed-text-1: #e2e8f0;--ed-text-2: #cbd5e1;--ed-text-3: #94a3b8;--ed-text: #e2e8f0;--ed-slate: #94a3b8;--c-text-inverse: #0f172a;--c-bg: #0f172a;--c-bg-card: #1e293b;--c-bg-secondary: #1e293b;--c-bg-tertiary: #334155;--c-bg-hover: #334155;--c-border: #334155;--c-border-light: #1e293b;--c-shadow: 0 1px 3px rgba(0, 0, 0, .3);--c-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--c-primary: #c73e1d;--c-primary-light: #D96C5A;--c-primary-bg: rgba(199, 62, 29, .12);--c-danger: #d96c5a;--c-danger-bg: rgba(217, 108, 90, .12);--c-warning: #c9a66b;--c-warning-bg: rgba(201, 166, 107, .12);--c-success: #4A8B6B;--c-success-bg: rgba(74, 139, 107, .12);--c-success-text: #6fae8f;--c-warning-text: #d4b57e;--c-info: #96a7bd;--c-info-bg: rgba(150, 167, 189, .12)}}
[data-theme=dark]{--c-text: #e2e8f0;--c-text-secondary: #94a3b8;--c-text-muted: #94a3b8;--c-text-disabled: #475569;--ed-text-1: #e2e8f0;--ed-text-2: #cbd5e1;--ed-text-3: #94a3b8;--ed-text: #e2e8f0;--ed-slate: #94a3b8;--ed-cream: #1e293b;--ed-cream-dark: #1e293b;--ed-paper: #1e293b;--ed-paper-2: #1e293b;--ed-bg-1: #0f172a;--ed-bg-2: #1e293b;--ed-bg-3: #1e293b;--ed-ink: #e2e8f0;--ed-ink-light: #cbd5e1;--ed-indigo-light: #1e3a5f;--ed-gold-light: #33291a;--ed-forest-light: #1d362b;--ed-brick-light: #331c18;--ed-slate-light: #334155;--ed-border: rgba(255, 255, 255, .16);--ed-border-strong: rgba(255, 255, 255, .55);--c-text-inverse: #0f172a;--c-bg: #0f172a;--c-bg-card: #1e293b;--c-bg-secondary: #1e293b;--c-bg-tertiary: #334155;--c-bg-hover: #334155;--c-border: #334155;--c-border-light: #1e293b;--c-shadow: 0 1px 3px rgba(0, 0, 0, .3);--c-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--c-primary: #c73e1d;--c-primary-light: #D96C5A;--c-primary-bg: rgba(199, 62, 29, .12);--c-danger: #d96c5a;--c-danger-bg: rgba(217, 108, 90, .12);--c-warning: #c9a66b;--c-warning-bg: rgba(201, 166, 107, .12);--c-success: #4A8B6B;--c-success-bg: rgba(74, 139, 107, .12);--c-success-text: #6fae8f;--c-warning-text: #d4b57e;--c-info: #96a7bd;--c-info-bg: rgba(150, 167, 189, .12)}
[data-theme=light]{--c-text: #1e293b;--c-text-secondary: #64748b;--c-text-muted: #64748b;--c-text-disabled: #94a3b8;--c-text-inverse: #ffffff;--c-bg: #ffffff;--c-bg-card: #ffffff;--c-bg-secondary: #f5f7fa;--c-bg-tertiary: #f5f7fa;--c-bg-hover: #e2e8f0;--c-border: #cbd5e1;--c-border-light: #e2e8f0;--c-shadow: 0 1px 3px rgba(0, 0, 0, .08);--c-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--c-primary: #2d4f7c;--c-primary-light: #6c84a3;--c-primary-bg: rgba(45, 79, 124, .08);--c-danger: #C73E1D;--c-danger-bg: rgba(199, 62, 29, .08);--c-warning: #B45309;--c-warning-bg: rgba(180, 83, 9, .08);--c-success: #2D6A4F;--c-success-bg: rgba(45, 106, 79, .08);--c-success-text: #2D6A4F;--c-warning-text: #8E6F3E;--c-info: #2D4F7C;--c-info-bg: rgba(45, 79, 124, .08)}
@media print{.sidebar,.el-header,.el-pagination,.app-fab,button{display:none!important}.el-main{padding:0!important}.el-card{box-shadow:none!important;border:1px solid #e4e7ed}body{background:white!important}}
.sr-only-focusable:focus,.sr-only-focusable:focus-within,.sr-only-focusable:active{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
.skip-link{position:absolute;top:-100px;left:8px;z-index:100000;padding:12px 20px;background:var(--color-primary-from, #1e3a5f);color:#fff;font-weight:600;font-size:14px;text-decoration:none;border-radius:8px;box-shadow:0 4px 12px #0003;transition:top .2s ease}
.skip-link:focus,.skip-link:focus-visible{top:8px;outline:3px solid #2d4f7c;outline-offset:2px}
@media (prefers-reduced-motion: reduce){.skip-link{transition:none}}
@media (prefers-contrast: high){:focus-visible{outline-width:3px!important;outline-color:currentColor!important}}
.ed-hero,.ed-hero *,.app-hero,.app-hero *,.page-hero,.page-hero *,.app-card-gradient,.app-card-gradient *,.app-card-deep,.app-card-deep *,.app-card-warm,.app-card-warm *,.app-card-fresh,.app-card-fresh *,.app-card-sunset,.app-card-sunset *,.ed-hero-content,.ed-hero-content *,.app-hero-content,.app-hero-content *,.page-hero-content,.page-hero-content *{color:#fff!important}
.ed-hero .ed-text-2,.ed-hero .ed-text-3,.app-hero .ed-text-2,.app-hero .ed-text-3,.page-hero .ed-text-2,.page-hero .ed-text-3,.ed-hero .text-secondary,.app-hero .text-secondary,.page-hero .text-secondary,.ed-hero [class*=subtitle],.app-hero [class*=subtitle],.page-hero [class*=subtitle],.ed-hero .app-hero-subtitle,.page-hero .page-subtitle{color:#ffffffd9!important}
.ed-hero .ed-text-3,.app-hero .ed-text-3,.page-hero .ed-text-3,.ed-hero .text-tertiary,.app-hero .text-tertiary,.page-hero .text-tertiary{color:#ffffffb3!important}
.ed-hero .ed-gold,.ed-hero .ed-tag-gold,.app-hero .ed-gold,.app-hero .ed-tag-gold,.page-hero .ed-gold,[class*=hero] .ed-gold,[class*=hero] [class*=gold]{color:var(--ed-gold, #c9a66b)!important}
.ed-hero .ed-brick,.ed-hero .ed-tag-brick,.app-hero .ed-brick,.app-hero .ed-tag-brick,.page-hero .ed-brick{color:var(--ed-brick, #c73e1d)!important}
.ed-hero a,.app-hero a,.page-hero a{color:#ffffffe6!important;text-decoration:underline}
.ed-hero a:hover,.app-hero a:hover,.page-hero a:hover{color:#fff!important}
.app-card-gradient .el-card,.app-card-deep .el-card,.app-card-warm .el-card,.app-card-fresh .el-card,.app-card-gradient .el-card__body,.app-card-deep .el-card__body{background:rgba(255,255,255,.1)!important;border-color:#ffffff26!important;color:#fff!important}
.ed-hero .el-input__wrapper,.app-hero .el-input__wrapper,.page-hero .el-input__wrapper,.app-card-gradient .el-input__wrapper,.app-card-deep .el-input__wrapper{background:rgba(255,255,255,.12)!important;box-shadow:0 0 0 1px #fff3 inset!important}
.ed-hero .el-input__inner,.app-hero .el-input__inner,.page-hero .el-input__inner,.app-card-gradient .el-input__inner,.app-card-deep .el-input__inner{color:#fff!important}
.ed-hero .el-input__inner::placeholder,.app-hero .el-input__inner::placeholder,.page-hero .el-input__inner::placeholder{color:#ffffff73!important}
.ed-hero .el-form-item__label,.app-hero .el-form-item__label,.page-hero .el-form-item__label{color:#ffffffd9!important}
.ed-hero .el-tag,.app-hero .el-tag,.page-hero .el-tag{background:rgba(255,255,255,.15)!important;border-color:#ffffff40!important;color:#fff!important}
.ed-hero .ed-tag,.app-hero .ed-tag,.page-hero .ed-tag{background:rgba(255,255,255,.12)!important;color:#ffffffe6!important;border-color:#fff3!important}
.ed-hero .ed-tag-brick,.app-hero .ed-tag-brick,.page-hero .ed-tag-brick{background:rgba(199,62,29,.3)!important;color:#d96c5a!important}
.ed-hero .ed-tag-indigo,.app-hero .ed-tag-indigo,.page-hero .ed-tag-indigo{background:rgba(30,58,95,.4)!important;color:#c0cad8!important}
.ed-hero .ed-tag-forest,.app-hero .ed-tag-forest,.page-hero .ed-tag-forest{background:rgba(45,106,79,.4)!important;color:#ffffffeb!important}
.ed-hero .app-stat-value,.app-hero .app-stat-value,.page-hero .app-stat-value,.ed-hero .app-stat-label,.app-hero .app-stat-label,.page-hero .app-stat-label{color:#fff!important;-webkit-text-fill-color:#fff!important}
.ed-hero .ed-metric-value,.app-hero .ed-metric-value,.page-hero .ed-metric-value{color:#fff!important}
.ed-hero .ed-metric-label,.app-hero .ed-metric-label,.page-hero .ed-metric-label{color:#fffc!important}
.ed-hero .el-icon,.app-hero .el-icon,.page-hero .el-icon,.ed-hero [class*=icon],.app-hero [class*=icon],.page-hero [class*=icon]{color:inherit}
.ed-hero .el-divider,.app-hero .el-divider,.page-hero .el-divider,.ed-hero .el-divider__text,.app-hero .el-divider__text,.page-hero .el-divider__text{border-color:#fff3!important;color:#ffffffb3!important}
.ed-hero .el-empty__description p,.app-hero .el-empty__description p,.page-hero .el-empty__description p{color:#ffffffb3!important}
.ed-hero .el-progress__text,.app-hero .el-progress__text,.page-hero .el-progress__text{color:#fff!important}
.ed-hero .el-select .el-input .el-select__caret,.app-hero .el-select .el-input .el-select__caret,.page-hero .el-select .el-input .el-select__caret{color:#ffffffb3!important}
.ed-hero .el-select__wrapper,.app-hero .el-select__wrapper,.page-hero .el-select__wrapper{background:rgba(255,255,255,.12)!important;box-shadow:0 0 0 1px #fff3 inset!important}
.ed-hero .el-select__placeholder,.app-hero .el-select__placeholder,.page-hero .el-select__placeholder{color:#ffffffbf!important}
.ed-hero .el-select__selected-item,.app-hero .el-select__selected-item,.page-hero .el-select__selected-item{color:#fff!important}
.ed-hero .el-select__suffix,.app-hero .el-select__suffix,.page-hero .el-select__suffix{color:#ffffffb3!important}
.ed-hero .el-dialog,.app-hero .el-dialog,.page-hero .el-dialog{background:#fff!important;color:var(--text-primary, #1e293b)!important}
.ed-hero .el-dialog__title,.app-hero .el-dialog__title,.page-hero .el-dialog__title,.ed-hero .el-dialog__body,.app-hero .el-dialog__body,.page-hero .el-dialog__body{color:var(--text-primary, #1e293b)!important}
.ed-hero .app-breadcrumb,.app-hero .app-breadcrumb,.page-hero .app-breadcrumb{color:#ffffffbf!important}
.ed-hero .app-breadcrumb-item,.app-hero .app-breadcrumb-item,.page-hero .app-breadcrumb-item{color:#fffc!important}
.ed-hero .app-breadcrumb-item.current,.app-hero .app-breadcrumb-item.current,.page-hero .app-breadcrumb-item.current{color:#fff!important}
.app-card-gradient .el-button:not(.el-button--primary),.app-card-deep .el-button:not(.el-button--primary),.app-card-warm .el-button:not(.el-button--primary),.app-card-fresh .el-button:not(.el-button--primary),.app-hero-warm .el-button:not(.el-button--primary),.app-hero-fresh .el-button:not(.el-button--primary),.app-hero-deep .el-button:not(.el-button--primary),.app-hero-sunset .el-button:not(.el-button--primary){background:rgba(255,255,255,.15)!important;border-color:#ffffff4d!important;color:#fff!important}
.app-card-gradient .el-button:not(.el-button--primary):hover,.app-card-deep .el-button:not(.el-button--primary):hover,.app-card-warm .el-button:not(.el-button--primary):hover,.app-card-fresh .el-button:not(.el-button--primary):hover,.app-hero-warm .el-button:not(.el-button--primary):hover,.app-hero-fresh .el-button:not(.el-button--primary):hover,.app-hero-deep .el-button:not(.el-button--primary):hover,.app-hero-sunset .el-button:not(.el-button--primary):hover{background:rgba(255,255,255,.25)!important}
.ed-hero .el-checkbox__label,.app-hero .el-checkbox__label,.page-hero .el-checkbox__label,.ed-hero .el-radio__label,.app-hero .el-radio__label,.page-hero .el-radio__label{color:#ffffffe6!important}
.page-hero .el-radio-button__inner{background:rgba(255,255,255,.15)!important;border-color:#ffffff4d!important;color:#ffffffe6!important}
.page-hero .el-radio-button__original-radio:checked+.el-radio-button__inner{background:rgba(255,255,255,.95)!important;border-color:#fffffff2!important;color:var(--ed-ink, #1a1f2e)!important}
.page-hero .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--danger){background:rgba(255,255,255,.15)!important;border-color:#ffffff4d!important;color:#fff!important}
.page-hero .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--danger):hover{background:rgba(255,255,255,.25)!important}
.page-hero .el-button.is-plain{background:rgba(255,255,255,.15)!important;border-color:#ffffff4d!important;color:#fff!important}
.page-hero .el-button.is-plain:hover{background:rgba(255,255,255,.25)!important}
.ed-hero .el-date-editor .el-input__wrapper,.app-hero .el-date-editor .el-input__wrapper,.page-hero .el-date-editor .el-input__wrapper{background:rgba(255,255,255,.12)!important}
.ed-hero .el-date-editor .el-input__inner,.app-hero .el-date-editor .el-input__inner,.page-hero .el-date-editor .el-input__inner{color:#fff!important}
.ed-hero h1,.ed-hero h2,.ed-hero h3,.ed-hero h4,.ed-hero h5,.ed-hero h6,.app-hero h1,.app-hero h2,.app-hero h3,.app-hero h4,.app-hero h5,.app-hero h6,.page-hero h1,.page-hero h2,.page-hero h3,.page-hero h4,.page-hero h5,.page-hero h6,.app-card-gradient h1,.app-card-gradient h2,.app-card-gradient h3,.app-card-gradient h4,.app-card-gradient h5,.app-card-gradient h6,.app-card-deep h1,.app-card-deep h2,.app-card-deep h3,.app-card-deep h4,.app-card-deep h5,.app-card-deep h6,.app-card-warm h1,.app-card-warm h2,.app-card-warm h3,.app-card-warm h4,.app-card-warm h5,.app-card-warm h6,.app-card-fresh h1,.app-card-fresh h2,.app-card-fresh h3,.app-card-fresh h4,.app-card-fresh h5,.app-card-fresh h6{color:#fff!important}
.ed-hero label,.app-hero label,.page-hero label,.app-card-gradient label,.app-card-deep label,.app-card-warm label,.app-card-fresh label,.ed-hero li,.app-hero li,.page-hero li,.app-card-gradient li,.app-card-deep li,.app-card-warm li,.app-card-fresh li{color:#ffffffe6!important}
.ed-hero .el-cascader__label,.app-hero .el-cascader__label,.page-hero .el-cascader__label,.ed-hero .el-tree-node__label,.app-hero .el-tree-node__label,.page-hero .el-tree-node__label,.ed-hero .el-transfer-panel__header .el-checkbox__label,.app-hero .el-transfer-panel__header .el-checkbox__label,.page-hero .el-transfer-panel__header .el-checkbox__label,.ed-hero .el-timeline-item__content,.app-hero .el-timeline-item__content,.page-hero .el-timeline-item__content{color:#ffffffd9!important}
.ed-hero .el-collapse-item__header,.app-hero .el-collapse-item__header,.page-hero .el-collapse-item__header{color:#ffffffe6!important;border-bottom-color:#ffffff26!important}
.ed-hero .el-collapse-item__content,.app-hero .el-collapse-item__content,.page-hero .el-collapse-item__content{color:#fffc!important}
.ed-hero .el-carousel__indicators .el-carousel__button,.app-hero .el-carousel__indicators .el-carousel__button,.page-hero .el-carousel__indicators .el-carousel__button{background-color:#fff6!important}
.ed-hero .el-dropdown-menu__item,.app-hero .el-dropdown-menu__item,.page-hero .el-dropdown-menu__item{color:var(--text-primary, #1e293b)!important}
.ed-hero .el-avatar,.app-hero .el-avatar,.page-hero .el-avatar{color:#fff!important}
.ed-hero .el-card,.ed-hero .el-card *,.app-hero .el-card,.app-hero .el-card *,.page-hero .el-card,.page-hero .el-card *,.app-card-gradient .el-card,.app-card-gradient .el-card *,.app-card-deep .el-card,.app-card-deep .el-card *,.app-card-warm .el-card,.app-card-warm .el-card *,.app-card-fresh .el-card,.app-card-fresh .el-card *{color:var(--ed-ink, #1a1f2e)!important}
.ed-hero .el-card .el-card__header,.app-hero .el-card .el-card__header,.page-hero .el-card .el-card__header,.app-card-gradient .el-card .el-card__header,.app-card-deep .el-card .el-card__header{color:var(--ed-ink, #1a1f2e)!important;border-bottom-color:var(--el-border-color-light, #ebeef5)!important}
.ed-hero .app-card,.ed-hero .app-card *,.app-hero .app-card,.app-hero .app-card *,.page-hero .app-card,.page-hero .app-card *,.ed-hero .el-dialog,.ed-hero .el-dialog *,.app-hero .el-dialog,.app-hero .el-dialog *,.page-hero .el-dialog,.page-hero .el-dialog *,.ed-hero .el-message-box,.ed-hero .el-message-box *,.app-hero .el-message-box,.app-hero .el-message-box *,.page-hero .el-message-box,.page-hero .el-message-box *,.ed-hero .el-drawer,.ed-hero .el-drawer *,.app-hero .el-drawer,.app-hero .el-drawer *,.page-hero .el-drawer,.page-hero .el-drawer *,.ed-hero .el-dialog .el-dialog__title,.app-hero .el-dialog .el-dialog__title,.page-hero .el-dialog .el-dialog__title{color:var(--ed-ink, #1a1f2e)!important}
.ed-hero .el-dialog .el-dialog__body,.app-hero .el-dialog .el-dialog__body,.page-hero .el-dialog .el-dialog__body{color:var(--ed-text-2, #6b7280)!important}
.ed-hero .el-select-dropdown,.ed-hero .el-select-dropdown *,.app-hero .el-select-dropdown,.app-hero .el-select-dropdown *,.page-hero .el-select-dropdown,.page-hero .el-select-dropdown *,.ed-hero .el-dropdown-menu,.ed-hero .el-dropdown-menu *,.app-hero .el-dropdown-menu,.app-hero .el-dropdown-menu *,.page-hero .el-dropdown-menu,.page-hero .el-dropdown-menu *,.ed-hero .el-cascader-panel,.ed-hero .el-cascader-panel *,.app-hero .el-cascader-panel,.app-hero .el-cascader-panel *,.page-hero .el-cascader-panel,.page-hero .el-cascader-panel *,.ed-hero .el-tree,.ed-hero .el-tree *,.app-hero .el-tree,.app-hero .el-tree *,.page-hero .el-tree,.page-hero .el-tree *,.ed-hero .el-transfer,.ed-hero .el-transfer *,.app-hero .el-transfer,.app-hero .el-transfer *,.page-hero .el-transfer,.page-hero .el-transfer *{color:var(--ed-ink, #1a1f2e)!important}
.ed-hero .el-icon--success,.ed-hero .el-icon--warning,.ed-hero .el-icon--error,.ed-hero .el-icon--info,.ed-hero .el-tag--success,.ed-hero .el-tag--warning,.ed-hero .el-tag--danger,.ed-hero .el-tag--info,.ed-hero .el-tag--primary,.ed-hero [class*=--success],.ed-hero [class*=--warning],.ed-hero [class*=--danger],.ed-hero [class*=--info],.app-hero .el-icon--success,.app-hero .el-icon--warning,.app-hero .el-icon--error,.app-hero .el-icon--info,.app-hero .el-tag--success,.app-hero .el-tag--warning,.app-hero .el-tag--danger,.app-hero .el-tag--info,.app-hero .el-tag--primary,.app-hero [class*=--success],.app-hero [class*=--warning],.app-hero [class*=--danger],.app-hero [class*=--info],.page-hero .el-icon--success,.page-hero .el-icon--warning,.page-hero .el-icon--error,.page-hero .el-icon--info,.page-hero .el-tag--success,.page-hero .el-tag--warning,.page-hero .el-tag--danger,.page-hero .el-tag--info,.page-hero .el-tag--primary,.page-hero [class*=--success],.page-hero [class*=--warning],.page-hero [class*=--danger],.page-hero [class*=--info]{color:inherit!important}
.ed-hero .el-tag--success,.app-hero .el-tag--success,.page-hero .el-tag--success{color:var(--el-color-success, #2D6A4F)!important}
.ed-hero .el-tag--warning,.app-hero .el-tag--warning,.page-hero .el-tag--warning{color:var(--el-color-warning, #B45309)!important}
.ed-hero .el-tag--danger,.app-hero .el-tag--danger,.page-hero .el-tag--danger{color:var(--el-color-danger, #C73E1D)!important}
.ed-hero .el-tag--info,.app-hero .el-tag--info,.page-hero .el-tag--info{color:var(--el-color-info, #6b7280)!important}
.dashboard-footer-bar,.dashboard-footer-bar *,.dashboard-footer-bar .activity-title,.dashboard-footer-bar .activity-desc,.dashboard-footer-bar .activity-time,.dashboard-footer-bar .footer-section-title,.hub-entry-left,.hub-entry-left *,.hub-entry-right,.hub-entry-right *{color:#fff!important}
.dashboard-footer-bar .footer-section-title,.hub-entry-left .hub-entry-title,.hub-entry-right .hub-entry-title{color:var(--ed-gold, #c9a66b)!important}
.dashboard-footer-bar .footer-empty,.dashboard-footer-bar .stat-value-muted,.dashboard-footer-bar [class*=empty]{color:#fffdf999!important}
.ed-hero .ed-gold,.app-hero .ed-gold,.page-hero .ed-gold,.ed-hero .ed-divider,.app-hero .ed-divider,.page-hero .ed-divider,.ed-hero hr,.app-hero hr,.page-hero hr{color:var(--ed-gold, #c9a66b)!important}
.ed-hero a:not([class*=el-button]),.app-hero a:not([class*=el-button]),.page-hero a:not([class*=el-button]){color:var(--ed-gold, #c9a66b)!important;text-decoration:underline}
.ed-hero a:not([class*=el-button]):hover,.app-hero a:not([class*=el-button]):hover,.page-hero a:not([class*=el-button]):hover{color:#fff!important}
.ed-hero ::-webkit-scrollbar-thumb,.app-hero ::-webkit-scrollbar-thumb,.page-hero ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2)!important}
.ed-hero ::-webkit-scrollbar-track,.app-hero ::-webkit-scrollbar-track,.page-hero ::-webkit-scrollbar-track{background:rgba(255,255,255,.05)!important}
.ed-hero code,.ed-hero pre,.ed-hero blockquote,.app-hero code,.app-hero pre,.app-hero blockquote,.page-hero code,.page-hero pre,.page-hero blockquote{color:#ffffffeb!important;background:rgba(255,255,255,.08)!important;border-color:#ffffff26!important}
.ed-hero i[class*=el-icon],.ed-hero [class*=icon-],.app-hero i[class*=el-icon],.app-hero [class*=icon-],.page-hero i[class*=el-icon],.page-hero [class*=icon-],.app-card-gradient i[class*=el-icon],.app-card-deep i[class*=el-icon],.app-card-warm i[class*=el-icon],.app-card-fresh i[class*=el-icon]{color:#fff!important;fill:currentColor}
.ed-hero svg,.app-hero svg,.page-hero svg,.app-card-gradient svg,.app-card-deep svg,.app-card-warm svg,.app-card-fresh svg{color:#fff;fill:currentColor}
.ed-hero svg:not([fill]),.app-hero svg:not([fill]),.page-hero svg:not([fill]){fill:currentColor!important}
.ed-hero .is-success,.ed-hero .is-warning,.ed-hero .is-danger,.ed-hero .is-info,.app-hero .is-success,.app-hero .is-warning,.app-hero .is-danger,.app-hero .is-info,.page-hero .is-success,.page-hero .is-warning,.page-hero .is-danger,.page-hero .is-info,.dashboard-footer-bar .is-success,.dashboard-footer-bar .is-warning,.dashboard-footer-bar .is-danger,.dashboard-footer-bar .is-info{color:inherit}
.ed-hero .is-success,.app-hero .is-success,.page-hero .is-success{color:var(--el-color-success, #2D6A4F)!important}
.ed-hero .is-warning,.app-hero .is-warning,.page-hero .is-warning{color:var(--el-color-warning, #B45309)!important}
.ed-hero .is-danger,.app-hero .is-danger,.page-hero .is-danger{color:var(--el-color-danger, #C73E1D)!important}
.ed-hero .is-info,.app-hero .is-info,.page-hero .is-info{color:var(--el-color-info, #6b7280)!important}
.ed-hero img,.app-hero img,.page-hero img,.dashboard-footer-bar img,.hub-entry-left img,.hub-entry-right img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));border-radius:8px}
.ed-hero .el-empty__description,.app-hero .el-empty__description,.page-hero .el-empty__description{color:#ffffffb3!important}
.ed-hero .el-empty__image,.app-hero .el-empty__image,.page-hero .el-empty__image{filter:invert(1) brightness(1.5);opacity:.6}
.ed-hero .el-breadcrumb__item,.app-hero .el-breadcrumb__item,.page-hero .el-breadcrumb__item{color:#ffffffb3!important}
.ed-hero .el-breadcrumb__item:last-child .el-breadcrumb__inner,.app-hero .el-breadcrumb__item:last-child .el-breadcrumb__inner,.page-hero .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#fff!important}
.dashboard-footer-bar,.dashboard-footer-bar *,.metric-card.featured,.metric-card.featured *,.metric-card.featured .metric-label,.metric-card.featured .metric-value,.metric-card.featured .metric-unit,.metric-card.featured .metric-icon,.hub-entry-left,.hub-entry-left *,.hub-entry-left .hub-entry-icon,.hub-entry-left .hub-entry-title,.hub-entry-left .hub-entry-desc,.hub-entry-left .hub-entry-text,.hub-entry-right,.hub-entry-right *,.hub-entry-right .el-icon,.suggestion-dot,.suggestion-dot *{color:var(--ed-paper, #fffdf9)!important}
.dashboard-footer-bar .footer-section-title,.dashboard-footer-bar .footer-section-title *,.dashboard-footer-bar .footer-section-title .el-icon,.hub-entry-left .hub-entry-title{color:var(--ed-gold, #c9a66b)!important}
.dashboard-footer-bar .footer-empty,.dashboard-footer-bar [class*=empty],.dashboard-footer-bar [class*=muted]{color:#fffdf9b3!important}
.dashboard-footer-bar .activity-time,.dashboard-footer-bar .activity-desc{color:#fffdf9d9!important}
.hub-entry-right{color:var(--ed-indigo, #1e3a5f)!important;background:var(--ed-paper, #fffdf9)!important}
.hub-entry-right *,.hub-entry-right .el-icon{color:var(--ed-indigo, #1e3a5f)!important}
.legend-dot,.legend-dot *,.rec-icon,.rec-icon *,.search-result-mastery .mastery-fill,.search-result-mastery .mastery-fill *,.progress-fill,.progress-fill *,.path-depth,.path-depth *,.graph-toolbar,.graph-toolbar *,.graph-header,.graph-header *{color:var(--ed-paper, #fffdf9)!important}
.legend-dot{color:transparent!important}
.graph-header .el-button:not(.el-button--primary),.graph-header .el-button:not(.el-button--primary) *,.graph-header .el-select .el-select__wrapper,.graph-header .el-select .el-select__wrapper *,.graph-header .el-select__selected-item,.graph-header .el-select__placeholder{color:var(--el-text-color-regular, #6b7280)!important}
.graph-header .el-button--primary,.graph-header .el-button--primary *{color:#fff!important}
.rec-icon,.guide-icon,.guide-icon *,.faq-item.open .faq-num,.faq-item.open .faq-num *,.hero-search-btn,.hero-search-btn *,.contact-emoji,.contact-emoji *{color:var(--ed-paper, #fffdf9)!important}
.answer-divider span{background:var(--ed-forest, #2d6a4f)!important;color:var(--ed-paper, #fffdf9)!important}
.faq-item.open .faq-num{background-color:var(--ed-brick, #c73e1d)!important}
.ai-message,.ai-message *,.user-bubble,.user-bubble *,.chat-message-bg,.chat-message-bg *,[data-message-role=assistant],[data-message-role=assistant] *,[data-message-role=user],[data-message-role=user] *,.gradient-card,.gradient-card *,.bg-indigo,.bg-ink,.bg-brick,.bg-forest,.bg-gold,.bg-indigo *,.bg-ink *,.bg-brick *,.bg-forest *,.bg-gold *{color:var(--ed-paper, #fffdf9)!important}
.bg-indigo{background-color:var(--ed-indigo, #1e3a5f)!important}
.bg-ink{background-color:var(--ed-ink, #1a1f2e)!important}
.bg-brick{background-color:var(--ed-brick, #c73e1d)!important}
.bg-forest{background-color:var(--ed-forest, #2d6a4f)!important}
.bg-gold{background-color:var(--ed-gold, #c9a66b)!important;color:var(--ed-ink, #1a1f2e)!important}
.lp-hero,.lp-hero *,.path-stage-active,.path-stage-active *,.path-step-completed,.path-step-completed *,.path-step-current,.path-step-current *,.timeline-item.completed .timeline-dot,.timeline-item.completed .timeline-content,.timeline-item.completed .timeline-title,.timeline-item.completed .timeline-time,.timeline-item.current .timeline-dot,.timeline-item.current .timeline-content,.timeline-item.current .timeline-title,.timeline-item.current .timeline-time,.impact-details .impact-item,.impact-details .impact-item *,.impact-details h4,.impact-details h4 *{color:var(--ed-paper, #fffdf9)!important}
.stat-card.enabled .stat-icon{background:var(--ed-forest-light, #e4eee9)!important;color:var(--ed-forest, #2d6a4f)!important}
.stat-card.running .stat-icon{background:var(--ed-gold-light, #f5efe3)!important;color:var(--ed-gold, #c9a66b)!important}
.stat-card.total .stat-icon,.stat-card.releases .stat-icon{background:var(--ed-indigo-light, #e8eef5)!important;color:var(--ed-indigo, #1e3a5f)!important}
.formula-card,.formula-card *,.chapter-card-active,.chapter-card-active *,.subject-card-active,.subject-card-active *,.class-card-active,.class-card-active *{color:var(--ed-paper, #fffdf9)!important}
.ed-hero .el-button--primary,.ed-hero .el-button--primary *,.app-hero .el-button--primary,.app-hero .el-button--primary *,.page-hero .el-button--primary,.page-hero .el-button--primary *,.app-card-gradient .el-button--primary,.app-card-gradient .el-button--primary *,.app-card-deep .el-button--primary,.app-card-deep .el-button--primary *,.app-card-warm .el-button--primary,.app-card-warm .el-button--primary *,.app-card-fresh .el-button--primary,.app-card-fresh .el-button--primary *,.dashboard-footer-bar .el-button--primary,.dashboard-footer-bar .el-button--primary *,.hub-entry-left .el-button--primary,.hub-entry-left .el-button--primary *,.metric-card.featured .el-button--primary,.metric-card.featured .el-button--primary *,.ai-message .el-button--primary,.ai-message .el-button--primary *,.lp-hero .el-button--primary,.lp-hero .el-button--primary *{color:#fff!important}
[style*="background: var(--ed-indigo)"],[style*="background: var(--ed-ink)"],[style*="background: var(--ed-brick)"],[style*="background: var(--ed-forest)"],[style*="background:var(--ed-indigo)"],[style*="background:var(--ed-ink)"],[style*="background:var(--ed-brick)"],[style*="background:var(--ed-forest)"],[style*="background: linear-gradient(135deg, var(--ed-indigo)"],[style*="background: linear-gradient(135deg, var(--ed-brick)"],[style*="background: linear-gradient(90deg, var(--ed-indigo)"],[style*="background: linear-gradient(90deg, var(--ed-brick)"],[style*="background: linear-gradient(135deg, #1a1f2e"],[style*="background: linear-gradient(135deg, #1e3a5f"],[style*="background: linear-gradient(135deg, var(--color-primary"],[style*="background: linear-gradient(135deg, var(--color-deep"]{color:var(--ed-paper, #fffdf9)!important}
.dashboard-footer-bar svg,.dashboard-footer-bar i,.dashboard-footer-bar .el-icon,.dashboard-footer-bar [class*=icon],.metric-card.featured svg,.metric-card.featured i,.metric-card.featured .el-icon,.metric-card.featured [class*=icon],.hub-entry-left svg,.hub-entry-left i,.hub-entry-left .el-icon,.hub-entry-left [class*=icon],.guide-icon svg,.guide-icon i,.guide-icon .el-icon,.guide-icon [class*=icon],.msg-avatar svg,.msg-avatar i,.msg-avatar .el-icon,.contact-emoji svg,.contact-emoji i,.contact-emoji .el-icon,.ai-message svg,.ai-message i,.ai-message .el-icon,.lp-hero svg,.lp-hero i,.lp-hero .el-icon{color:var(--ed-paper, #fffdf9)!important;fill:currentColor}
.progress-fill,.mastery-fill,.path-progress-fill,.timeline-item.completed:before,.timeline-item.current:before{color:var(--ed-paper, #fffdf9)!important}
.progress-fill:after,.mastery-fill:after{color:#ffffffe6!important}
.learning-hero,.learning-hero *,.learning-hero-bg,.learning-hero-bg *,.login-bg,.login-bg *,.resource-card-featured,.resource-card-featured *,.subject-icon-active,.subject-icon-active *,.subject-card-selected,.subject-card-selected *,.mood-stat-circle,.mood-stat-circle *,.emotion-circle-active,.emotion-circle-active *,.wellness-card-featured,.wellness-card-featured *,.pricing-card-featured,.pricing-card-featured *,.pricing-card-featured .plan-price,.pricing-card-featured .plan-name,.pricing-card-featured .plan-feature{color:var(--ed-paper, #fffdf9)!important}
.pricing-card-featured .pricing-btn{color:var(--ed-paper, #fffdf9)!important;border-color:var(--ed-paper, #fffdf9)!important}
.dark-bg,.dark-bg *,.gradient-bg,.gradient-bg *,.bg-dark,.bg-dark *,.bg-gradient,.bg-gradient *,.bg-deep,.bg-deep *,.bg-primary-gradient,.bg-primary-gradient *{color:var(--ed-paper, #fffdf9)!important}
.bg-gold-text,.bg-gold-text *{color:var(--ed-ink, #1a1f2e)!important}
.dashboard-footer-bar .stat-value,.dashboard-footer-bar .stat-label,.metric-card.featured .metric-value,.metric-card.featured .metric-unit,.metric-card.featured .metric-label,.hub-entry-left .stat-value,.hub-entry-left .stat-label,.ai-message .stat-value,.ai-message .stat-label{color:var(--ed-paper, #fffdf9)!important}
.dashboard-footer-bar a,.dashboard-footer-bar a *,.metric-card.featured a,.metric-card.featured a *,.hub-entry-left a,.hub-entry-left a *,.guide-card a,.guide-card a *,.ai-message a,.ai-message a *,.lp-hero a,.lp-hero a *{color:var(--ed-gold, #c9a66b)!important;text-decoration:underline}
.dashboard-footer-bar a:hover,.metric-card.featured a:hover,.hub-entry-left a:hover,.guide-card a:hover,.ai-message a:hover,.lp-hero a:hover{color:#fff!important}
.dashboard-footer-bar .el-input__inner,.dashboard-footer-bar .el-textarea__inner,.metric-card.featured .el-input__inner,.metric-card.featured .el-textarea__inner,.hub-entry-left .el-input__inner,.hub-entry-left .el-textarea__inner,.ai-message .el-input__inner,.ai-message .el-textarea__inner,.lp-hero .el-input__inner,.lp-hero .el-textarea__inner{color:var(--ed-paper, #fffdf9)!important;background-color:#ffffff1a!important;border-color:#fff3!important}
.dashboard-footer-bar .el-input__inner::placeholder,.dashboard-footer-bar .el-textarea__inner::placeholder,.metric-card.featured .el-input__inner::placeholder,.metric-card.featured .el-textarea__inner::placeholder,.hub-entry-left .el-input__inner::placeholder,.hub-entry-left .el-textarea__inner::placeholder{color:#ffffff80!important}
.sb-header,[class*=sb-header]{background:linear-gradient(135deg,#1e3a5f 0%,#1a1f2e 50%,#8f3523 100%)!important;border-bottom:1px solid rgba(199,62,29,.12)!important;min-height:68px!important;position:relative!important;overflow:hidden!important}
[data-theme=dark] .sb-header,[data-theme=dark] [class*=sb-header],.dark .sb-header,.sb-header.on-dark{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#8f3523 100%)!important;border-bottom-color:#ffffff1a!important;box-shadow:0 2px 12px #0006!important}
.sb-logo-icon,[class*=sb-logo-icon]{background:linear-gradient(135deg,#c9a66b 0%,#c73e1d 100%)!important;color:#fff!important;width:40px!important;height:40px!important;font-size:20px!important;font-weight:700!important;box-shadow:0 4px 14px #c73e1d80,0 0 0 2px #ffffff26!important;border:1.5px solid rgba(255,255,255,.25)!important}
.sb-logo-title,[class*=sb-logo-title]{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:#fff!important;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.4)!important;font-weight:700!important}
.sb-logo-subtitle,[class*=sb-logo-subtitle]{color:#c9a66bf2!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important;font-family:Georgia,"Source Han Serif SC",serif!important}
.sb-logo-stamp,[class*=sb-logo-stamp]{background:rgba(201,166,107,.25)!important;border:1px solid rgba(201,166,107,.6)!important;color:#c9a66b!important}
.sb-collapse-btn,[class*=sb-collapse-btn]{background:rgba(255,255,255,.1)!important;border:1.5px solid rgba(255,255,255,.3)!important;color:#fff!important;width:30px!important;height:30px!important;font-weight:700!important;backdrop-filter:blur(6px)!important}
.sb-collapse-btn:hover,[class*=sb-collapse-btn]:hover{background:rgba(255,255,255,.2)!important;border-color:#ffffff80!important;color:#fff!important;transform:scale(1.05) rotate(180deg)!important;box-shadow:0 4px 12px #0000004d!important}
[data-theme=dark] .sb-collapse-btn,[data-theme=dark] [class*=sb-collapse-btn],.dark .sb-collapse-btn{background:rgba(255,255,255,.08)!important;border-color:#ffffff40!important;color:#fffffff2!important}
[data-theme=dark] .sb-collapse-btn:hover,[data-theme=dark] [class*=sb-collapse-btn]:hover,.dark .sb-collapse-btn:hover{background:rgba(255,255,255,.18)!important;border-color:#ffffff73!important;color:#fff!important}
[data-theme=dark] .app-sidebar,[data-theme=dark] [class*=app-sidebar]:not([class*=tag]):not([class*=badge]):not([class*=pin]){background:#1e293b!important;border-color:#ffffff14!important}
[data-theme=dark] .app-sidebar-item-badge{color:#fff!important}
[data-theme=dark] .app-sidebar-item,[data-theme=dark] [class*=app-sidebar-item]:not([class*=icon]):not([class*=text]):not([class*=hint]):not([class*=badge]):not([class*=tag]):not([class*=pin]){color:#ffffffd9!important}
[data-theme=dark] .app-sidebar-item:hover,[data-theme=dark] [class*=app-sidebar-item]:hover{background:rgba(45,79,124,.2)!important;color:#fff!important}
[data-theme=dark] .app-sidebar-item.active,[data-theme=dark] .app-sidebar-item.active *,[data-theme=dark] [class*=app-sidebar-item][class*=active],[data-theme=dark] [class*=app-sidebar-item][class*=active] *{background:linear-gradient(135deg,rgba(45,79,124,.3) 0%,rgba(91,75,138,.3) 100%)!important;color:#fff!important}
[data-theme=dark] .app-sidebar-item-text,[data-theme=dark] .app-sidebar-group-header,[data-theme=dark] .app-sidebar-group-header *,[data-theme=dark] .app-sidebar-subitem,[data-theme=dark] .app-sidebar-subitem-text{color:#ffffffe6!important}
[data-theme=dark] .app-sidebar-search,[data-theme=dark] .app-sidebar-header,[data-theme=dark] .app-sidebar-footer{background:rgba(255,255,255,.02)!important;border-color:#ffffff14!important}
[data-theme=dark] .app-sidebar-search-box{background:rgba(255,255,255,.06)!important;border-color:#ffffff1a!important}
[data-theme=dark] .stat-value,[data-theme=dark] .stat-num,[data-theme=dark] .lp-panel-title,[data-theme=dark] .welcome-title,[data-theme=dark] .alerts-header h2,[data-theme=dark] .summary-title,[data-theme=dark] .summary-title span,[data-theme=dark] .ov-value{color:#e2e8f0!important}
[data-theme=dark] .stat-label,[data-theme=dark] .app-stat-label,[data-theme=dark] .mode-label,[data-theme=dark] .dashboard-label,[data-theme=dark] .unit-label,[data-theme=dark] .ai-suggestion-text,[data-theme=dark] .welcome-desc,[data-theme=dark] .header-subtitle,[data-theme=dark] .avatar-tips p,[data-theme=dark] .empty-state p,[data-theme=dark] .desc-label{color:#94a3b8!important}
[data-theme=dark] .summary-value.summary-up,[data-theme=dark] .mark.mark-yes,[data-theme=dark] .health-metric-value,[data-theme=dark] .ai-stat-value.success-text,[data-theme=dark] .ga-score-value.target{color:#4a8b6b!important}
[data-theme=dark] .gap-negative,[data-theme=dark] .footprint-hint,[data-theme=dark] .prediction-value--gold,[data-theme=dark] .score-value.negative,[data-theme=dark] .points-value{color:#c9a66b!important}
[data-theme=dark] .mark.mark-best,[data-theme=dark] .filter-empty-hint,[data-theme=dark] .ed-page-number-current,[data-theme=dark] .ed-eyebrow{color:#d96c5a!important}
[data-theme=dark] .progress-value,[data-theme=dark] .biz-metric-value,[data-theme=dark] .ring-value,[data-theme=dark] .prediction-value--indigo,[data-theme=dark] .prediction-value--deep,[data-theme=dark] .hl,[data-theme=dark] .ga-score-value.current,[data-theme=dark] .landing-admin-value{color:#96a7bd!important}
[data-theme=dark] .hero-title,[data-theme=dark] .card-title,[data-theme=dark] .app-card-title,[data-theme=dark] .error-title,[data-theme=dark] .legend-item span,[data-theme=dark] .chart-legend span{color:#e2e8f0!important}
[data-theme=dark] .target-label,[data-theme=dark] .score-label,[data-theme=dark] .score-unit,[data-theme=dark] .page-subtitle,[data-theme=dark] .x-labels span,[data-theme=dark] .chart-x-label{color:#94a3b8!important}
[data-theme=dark] .loop-stage.clickable.active .loop-label{color:#d96c5a!important}
[data-theme=dark] .loop-cta button.el-button--primary{color:#fff!important}
[data-theme=dark] .ed-chapter-number,[data-theme=dark] .hot-tag{color:#d96c5a!important}
[data-theme=dark] .faq-num,[data-theme=dark] .answer-divider span{color:#fff!important}
[data-theme=dark] .meta-cat{color:#c0cad8!important}
[data-theme=dark] .stat-trend.down{color:#d96c5a!important}
[data-theme=dark] .bento-action-cta,[data-theme=dark] button.el-button--primary.bento-cta{color:#fff!important}
@media (max-width: 767px){body{font-size:13px;line-height:1.6}.el-button,button,[role=button],a.btn,.clickable{min-height:44px}.el-button:not(.el-button--text):not(.is-link):not(.is-text),[role=button]{min-width:44px}.el-button.is-link,.el-button.is-text{min-width:44px;min-height:44px}.el-button.is-link>span,.el-button.is-text>span{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px}.el-tabs__item{min-height:44px;display:inline-flex;align-items:center}.el-input-number__decrease,.el-input-number__increase{width:44px}.el-input-number .el-input__wrapper{padding-left:48px;padding-right:48px}.el-input__wrapper,.el-select__wrapper,.el-select__selection,.el-textarea__inner{min-height:44px}.el-input--small .el-input__wrapper,.el-select--small .el-select__wrapper{min-height:40px}.filter-bar,.search-bar,.toolbar,.tool-row,.query-form,.el-form--inline{display:flex;flex-wrap:wrap;gap:8px}.page-header{flex-wrap:wrap;gap:12px}.page-header .header-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.page-header .header-actions .el-select{width:100%!important;margin-right:0!important}.el-form--inline .el-form-item{margin-right:0;width:100%}.filter-bar .el-select,.search-bar .el-select,.toolbar .el-select,.tool-row .el-select,.filter-bar .el-date-editor,.search-bar .el-date-editor,.toolbar .el-date-editor,.tool-row .el-date-editor,.el-form--inline .el-select,.el-form--inline .el-date-editor{width:100%!important}.el-radio-group,.el-checkbox-group{flex-wrap:wrap;row-gap:8px}.app-card:hover,.el-card:hover{transform:none!important}.el-dialog{max-width:calc(100vw - 24px)}.el-drawer.rtl,.el-drawer.ltr{max-width:88vw}.el-pagination{flex-wrap:wrap;row-gap:8px;justify-content:center}.el-pagination .el-pagination__jump,.el-pagination .el-pagination__sizes{display:none}.el-table{font-size:13px}.el-table .cell{padding-left:8px;padding-right:8px}.el-message,.el-message-box{max-width:calc(100vw - 24px)}.el-form:not(.el-form--inline):not(.el-form--label-top):not(.form-stacked-mobile) .el-form-item{display:block}.el-form:not(.el-form--inline):not(.el-form--label-top):not(.form-stacked-mobile) .el-form-item__label{width:100%!important;float:none!important;display:flex!important;justify-content:flex-start!important;text-align:left!important;padding:0 0 4px;line-height:1.4}.el-form:not(.el-form--inline):not(.el-form--label-top):not(.form-stacked-mobile) .el-form-item__content{margin-left:0!important;width:100%}.el-form:not(.el-form--inline):not(.el-form--label-top):not(.form-stacked-mobile) .el-form-item__content .el-input,.el-form:not(.el-form--inline):not(.el-form--label-top):not(.form-stacked-mobile) .el-form-item__content .el-select,.el-form:not(.el-form--inline):not(.el-form--label-top):not(.form-stacked-mobile) .el-form-item__content .el-textarea{width:100%}}
.textbook-content,.markdown-body{font-family:"Source Han Serif SC","Noto Serif CJK SC",Songti SC,SimSun,STSong,KaiTi,serif;font-size:15px;line-height:1.85;color:var(--ed-ink);word-break:break-word}
.textbook-content.compact,.markdown-body.compact{font-size:14px;line-height:1.6}
.textbook-content.compact p,.markdown-body.compact p{margin:4px 0}
.textbook-content.compact h1,.textbook-content.compact h2,.textbook-content.compact h3,.textbook-content.compact h4,.markdown-body.compact h1,.markdown-body.compact h2,.markdown-body.compact h3,.markdown-body.compact h4{margin:8px 0 4px}
.textbook-content h1,.markdown-body h1{font-size:1.45em;font-weight:700;color:var(--ed-ink);text-align:center;margin:20px 0 14px;padding-bottom:6px;border-bottom:3px double var(--ed-indigo)}
.textbook-content h2,.markdown-body h2{font-size:1.2em;font-weight:700;color:var(--ed-ink);margin:16px 0 10px;padding-left:10px;border-left:4px solid var(--ed-indigo)}
.textbook-content h3,.markdown-body h3{font-size:1.05em;font-weight:600;color:var(--ed-ink);margin:14px 0 8px}
.textbook-content h4,.markdown-body h4{font-size:1em;font-weight:600;color:var(--ed-indigo);margin:12px 0 6px}
.textbook-content p,.markdown-body p{margin:10px 0;text-indent:2em}
.textbook-content ul,.textbook-content ol,.markdown-body ul,.markdown-body ol{margin:8px 0 12px 2em;padding-left:1em}
.textbook-content li,.markdown-body li{margin:4px 0;line-height:1.8}
.textbook-content li>p,.markdown-body li>p{text-indent:0;margin:2px 0;display:inline}
.textbook-content strong,.markdown-body strong{color:var(--ed-brick);font-weight:700}
.textbook-content em,.markdown-body em{color:var(--ed-brick);font-style:normal;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}
.textbook-content blockquote,.markdown-body blockquote{margin:12px 0;padding:10px 16px;background:var(--ed-gold-light);border-left:4px solid var(--ed-gold);color:var(--ed-ink-light);border-radius:0 4px 4px 0}
.textbook-content blockquote p,.markdown-body blockquote p{text-indent:0}
.textbook-content table,.markdown-body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.93em;background:var(--ed-paper)}
.textbook-content th,.markdown-body th{background:var(--ed-indigo);color:var(--ed-paper);font-weight:600;padding:8px 12px;border:1px solid var(--ed-slate-light);text-align:center}
.textbook-content td,.markdown-body td{padding:8px 12px;border:1px solid var(--ed-slate-light);text-align:left}
.textbook-content tr:nth-child(2n) td,.markdown-body tr:nth-child(2n) td{background:var(--ed-paper-2)}
.textbook-content code,.markdown-body code{background:var(--ed-slate-light);color:var(--ed-brick);padding:2px 6px;border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.87em}
.textbook-content pre,.markdown-body pre{background:var(--ed-ink);color:var(--ed-paper);padding:12px 16px;border-radius:6px;overflow-x:auto;margin:12px 0}
.textbook-content pre code,.markdown-body pre code{background:transparent;color:inherit;padding:0}
.textbook-content hr,.markdown-body hr{border:none;border-top:1px dashed var(--ed-slate-light);margin:14px 0}
.textbook-content .katex-display,.markdown-body .katex-display{margin:12px 0;overflow-x:auto;overflow-y:hidden}
.textbook-content .katex,.markdown-body .katex{font-size:1.05em}
.textbook-content .math-error,.markdown-body .math-error{color:var(--ed-brick);background:var(--ed-brick-light);padding:2px 6px;border-radius:3px;font-family:monospace}
.textbook-content img,.markdown-body img{max-width:100%;height:auto;border-radius:6px;margin:8px 0}
.textbook-content.subject-chinese p,.markdown-body.subject-chinese p{line-height:1.95}
.textbook-content.subject-english p,.markdown-body.subject-english p{text-indent:0;font-family:Georgia,Times New Roman,Palatino Linotype,serif}
.textbook-content.subject-math p,.textbook-content.subject-physics p,.textbook-content.subject-chemistry p,.markdown-body.subject-math p,.markdown-body.subject-physics p,.markdown-body.subject-chemistry p{margin:6px 0}
:root{--color-primary-from: #1e3a5f;--color-primary-to: #1a1f2e;--color-primary-gradient: linear-gradient(135deg, #1e3a5f 0%, #1a1f2e 100%);--color-warm-from: #c73e1d;--color-warm-to: #c9a66b;--color-warm-gradient: linear-gradient(135deg, #c73e1d 0%, #c9a66b 100%);--color-fresh-from: #2d6a4f;--color-fresh-to: #4a8b6b;--color-fresh-gradient: linear-gradient(135deg, #2d6a4f 0%, #4a8b6b 100%);--color-deep-from: #1e3a5f;--color-deep-to: #2d4f7c;--color-deep-gradient: linear-gradient(135deg, #1e3a5f 0%, #2d4f7c 100%);--color-sunset-from: #c73e1d;--color-sunset-to: #c9a66b;--color-sunset-gradient: linear-gradient(135deg, #c73e1d 0%, #c9a66b 100%);--color-subject-math: #2D4F7C;--color-subject-chinese: #2D6A4F;--color-subject-english: #8E6F3E;--color-subject-physics: #C73E1D;--color-subject-chemistry: #6C84A3;--color-subject-biology: #4A8B6B;--color-subject-history: #5B4B8A;--color-subject-geography: #2E7D7B;--color-subject-politics: #A05C4A;--color-text-primary: #303133;--color-text-regular: #606266;--color-text-secondary: #6b7280;--color-text-placeholder: #6b7280;--color-border-base: #e4e7ed;--color-border-light: #ebeef5;--color-background-base: #f5f7fa;--color-background-light: #fafbfc;--color-white: #ffffff;--color-success: #2D6A4F;--color-warning: #B45309;--color-danger: #C73E1D;--color-info: #6C84A3;--color-action-completed: #2D6A4F;--color-action-progress: #2D4F7C;--color-action-blocked: #C73E1D;--color-action-pending: #6C84A3;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-primary: 0 4px 12px rgba(45, 79, 124, .3);--shadow-warm: 0 4px 12px rgba(199, 62, 29, .3);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-family-base: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 28px;--font-size-5xl: 32px;--font-size-6xl: 40px;--font-size-7xl: 48px;--line-height-tight: 1.3;--line-height-base: 1.6;--line-height-loose: 1.8;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}
body{font-family:var(--font-family-base);color:var(--color-text-primary);background-color:var(--color-background-base);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.app-page{max-width:1280px;margin:0 auto;padding:var(--space-6)}
.app-hero{position:relative;padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);background:var(--color-primary-gradient);color:var(--color-white);margin-bottom:var(--space-6);overflow:hidden;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;min-height:120px}
.app-hero:before{content:"";position:absolute;top:-50%;right:-10%;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.app-hero-warm{background:var(--color-warm-gradient)}
.app-hero-fresh{background:var(--color-fresh-gradient)}
.app-hero-deep{background:var(--color-deep-gradient)}
.app-hero-sunset{background:var(--color-sunset-gradient)}
.app-hero-cool{background:var(--color-deep-gradient)}
.app-hero-content{position:relative;z-index:1;flex:1}
.app-hero-title{font-size:var(--font-size-4xl);font-weight:700;margin:0 0 var(--space-2) 0;line-height:var(--line-height-tight);display:flex;align-items:center;gap:var(--space-3);color:var(--color-white)}
.app-hero-subtitle{font-size:var(--font-size-md);opacity:.92;margin:0;color:var(--color-white)}
.app-hero-icon{width:64px;height:64px;border-radius:var(--radius-pill);background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:32px;backdrop-filter:blur(10px);margin-left:var(--space-6);flex-shrink:0;color:var(--color-white)}
.app-hero,.app-hero *,.app-hero h1,.app-hero h2,.app-hero h3,.app-hero h4,.app-hero h5,.app-hero h6,.app-hero p,.app-hero span,.app-hero div,.app-hero small,.app-hero i,.app-hero em,.app-hero strong,.app-hero b{color:var(--color-white)}
.app-hero .app-hero-subtitle,.app-hero [class*=subtitle]{color:#ffffffeb}
.app-hero a{color:var(--color-gold);text-decoration:underline}
.app-hero a:hover,.app-hero-warm,.app-hero-warm *,.app-hero-fresh,.app-hero-fresh *,.app-hero-deep,.app-hero-deep *,.app-hero-cool,.app-hero-cool *,.app-hero-sunset,.app-hero-sunset *{color:var(--color-white)}
.app-hero-warm .app-hero-subtitle,.app-hero-fresh .app-hero-subtitle,.app-hero-deep .app-hero-subtitle,.app-hero-cool .app-hero-subtitle,.app-hero-sunset .app-hero-subtitle{color:#ffffffeb}
.page-hero,.page-hero *,.page-hero h1,.page-hero h2,.page-hero h3,.page-hero h4,.page-hero h5,.page-hero h6,.page-hero p,.page-hero span,.page-hero div{color:var(--color-white)}
.page-hero .page-subtitle,.page-hero [class*=subtitle]{color:#ffffffeb}
.ed-hero,.ed-hero *,.ed-hero h1,.ed-hero h2,.ed-hero h3,.ed-hero h4,.ed-hero h5,.ed-hero h6,.ed-hero p,.ed-hero span,.ed-hero div{color:var(--color-white)}
.ed-hero .ed-text-2,.ed-hero .ed-text-3,.ed-hero [class*=subtitle]{color:#ffffffd9}
.app-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:transform var(--transition-base),box-shadow var(--transition-base);border:1px solid var(--color-border-light)}
.app-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#2d4f7c4d}
.app-card-gradient{background:var(--color-primary-gradient);color:var(--color-white);border:none}
.app-card-warm{background:var(--color-warm-gradient);color:var(--color-white);border:none}
.app-card-fresh{background:var(--color-fresh-gradient);color:var(--color-white);border:none}
.app-card-deep{background:var(--color-deep-gradient);color:var(--color-white);border:none}
.app-card-title{font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--space-3) 0;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-3);border-left:4px solid var(--color-primary-from);line-height:var(--line-height-tight)}
.app-stat{text-align:center;padding:var(--space-5)}
.app-stat-value{font-size:var(--font-size-6xl);font-weight:700;background:var(--color-primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2;margin-bottom:var(--space-2)}
.app-stat-value-warm{background:var(--color-warm-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.app-stat-value-fresh{background:var(--color-fresh-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.app-stat-value-danger{background:linear-gradient(135deg,var(--ed-brick) 0%,var(--ed-gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.app-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}
.app-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:500;background:var(--color-background-light);color:var(--color-text-regular);border:1px solid var(--color-border-light)}
.app-pill-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.app-pill-success{background:rgba(45,106,79,.1);color:#2d6a4f;border-color:#2d6a4f4d}
.app-pill-warning{background:rgba(180,83,9,.1);color:#b45309;border-color:#8e6f3e4d}
.app-pill-danger{background:rgba(199,62,29,.1);color:#c73e1d;border-color:#c73e1d4d}
.app-pill-info{background:rgba(45,79,124,.1);color:#2d4f7c;border-color:#2d4f7c4d}
.el-button.app-btn-gradient{background:var(--color-primary-gradient)!important;border:none!important;color:var(--color-white)!important;box-shadow:var(--shadow-primary);transition:all var(--transition-base)!important}
.el-button.app-btn-gradient:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #2d4f7c66!important}
.el-button.app-btn-warm{background:var(--color-warm-gradient)!important;border:none!important;color:var(--color-white)!important;box-shadow:var(--shadow-warm);transition:all var(--transition-base)!important}
.app-tag-pill{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:500;background:var(--color-background-light);color:var(--color-text-regular);border:1px solid var(--color-border-light)}
.app-tag-math{background:rgba(45,79,124,.12);color:var(--color-subject-math);border-color:#2d4f7c4d}
.app-tag-chinese{background:rgba(45,106,79,.12);color:var(--color-subject-chinese);border-color:#2d6a4f4d}
.app-tag-english{background:rgba(142,111,62,.12);color:var(--color-subject-english);border-color:#8e6f3e4d}
.app-tag-physics{background:rgba(199,62,29,.12);color:var(--color-subject-physics);border-color:#c73e1d4d}
.app-tag-chemistry{background:rgba(108,132,163,.12);color:var(--color-subject-chemistry);border-color:#6c84a34d}
.app-tag-biology{background:rgba(74,139,107,.12);color:var(--color-subject-biology);border-color:#4a8b6b4d}
.app-tag-history{background:rgba(91,75,138,.12);color:var(--color-subject-history);border-color:#5b4b8a4d}
.app-tag-geography{background:rgba(46,125,123,.12);color:var(--color-subject-geography);border-color:#2e7d7b4d}
.app-tag-politics{background:rgba(160,92,74,.12);color:var(--color-subject-politics);border-color:#a05c4a4d}
.app-section{margin:var(--space-6) 0}
.app-section-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:var(--space-2)}
.app-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary)}
.app-empty-icon{font-size:64px;margin-bottom:var(--space-4);opacity:.4}
.app-empty-text{font-size:var(--font-size-md);margin-bottom:var(--space-4)}
.app-skeleton{background:linear-gradient(90deg,var(--color-background-light) 25%,#e8eef5 50%,var(--color-background-light) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius-md)}
@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}
.el-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--color-border-light)!important;transition:transform var(--transition-base),box-shadow var(--transition-base)!important}
.el-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important}
@media (max-width: 640px){.el-dialog{width:100%!important;max-width:100vw!important;margin:0!important;border-radius:0!important}.el-dialog__body{padding:var(--space-4)!important}}
.el-button{border-radius:var(--radius-md)!important;transition:all var(--transition-base)!important}
.el-button--primary{background:var(--color-primary-gradient)!important;border:none!important;box-shadow:var(--shadow-primary)}
.el-button--primary:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 16px #2d4f7c66!important}
@media (max-width: 767px){.app-page{padding:var(--space-4)}.app-hero{padding:var(--space-5);flex-direction:column;text-align:center}.app-hero-icon{margin-left:0;margin-top:var(--space-3)}.app-hero-title{font-size:var(--font-size-2xl)}}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--color-background-light)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-primary-from),var(--color-primary-to));border-radius:var(--radius-pill)}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-primary-to),var(--color-primary-from))}
.page-fade-enter-active,.page-fade-leave-active{transition:opacity .3s ease,transform .3s ease}
.page-fade-enter-from{opacity:0;transform:translateY(12px)}
.page-fade-leave-to{opacity:0;transform:translateY(-12px)}
.page-slide-enter-active,.page-slide-leave-active{transition:opacity .35s ease,transform .35s var(--ease-out)}
.page-slide-enter-from{opacity:0;transform:translate(20px)}
.page-slide-leave-to{opacity:0;transform:translate(-20px)}
.page-scale-enter-active,.page-scale-leave-active{transition:opacity .25s ease,transform .25s var(--ease-spring)}
.page-scale-enter-from{opacity:0;transform:scale(.96)}
.page-scale-leave-to{opacity:0;transform:scale(1.04)}
.app-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;pointer-events:none;overflow:hidden;background:transparent}
.app-progress-bar:before{content:"";position:absolute;top:0;left:0;height:100%;width:0%;background:var(--color-primary-gradient);box-shadow:0 0 10px #2d4f7c99,0 0 5px #2d4f7c99;transition:width .4s ease;animation:app-progress-pulse 1.4s ease-in-out infinite}
@keyframes app-progress-pulse{0%,to{box-shadow:0 0 10px #2d4f7c80}50%{box-shadow:0 0 20px #2d4f7ce6,0 0 10px #2d4f7c99}}
.app-progress-bar.indeterminate:before{width:30%!important;animation:app-progress-indeterminate 1.5s ease-in-out infinite}
@keyframes app-progress-indeterminate{0%{left:-30%}to{left:100%}}
.app-scroll-top{position:fixed;right:32px;bottom:96px;width:48px;height:48px;border-radius:var(--radius-pill);background:var(--color-primary-gradient);color:var(--color-white);border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #2d4f7c8c,0 0 0 3px #ffffff1a;z-index:100;transition:all var(--transition-base);opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;backdrop-filter:blur(8px)}
.app-scroll-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.app-scroll-top:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px #2d4f7cb3,0 0 0 4px #ffffff26;border-color:#ffffff80}
.app-scroll-top:active{transform:translateY(-2px) scale(.95)}
@media (max-width: 767px){.app-scroll-top{right:16px;bottom:80px;width:44px;height:44px}}
.app-error-illustration{font-size:144px;line-height:1;margin-bottom:var(--space-6);background:var(--color-primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:900;letter-spacing:-8px;animation:app-error-float 3s ease-in-out infinite;filter:drop-shadow(0 8px 20px rgba(45,79,124,.3))}
@keyframes app-error-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
.app-error-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-background-base);text-align:center}
.app-error-title{font-size:48px;font-weight:700;margin:0 0 var(--space-3) 0;color:var(--color-text-primary)}
.app-error-subtitle{font-size:var(--font-size-lg);color:var(--color-text-regular);margin:0 0 var(--space-6) 0;max-width:480px;line-height:var(--line-height-loose)}
.app-error-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}
[data-theme=dark]{--color-text-primary: #e2e8f0;--color-text-regular: #cbd5e1;--color-text-secondary: #94a3b8;--color-text-placeholder: #94a3b8;--color-border-base: #334155;--color-border-light: #1e293b;--color-background-base: #0f172a;--color-background-light: #1e293b;--color-white: #1e293b}
[data-theme=dark] body{color-scheme:dark}
[data-theme=dark] .app-pill-success{color:#4a8b6b}
[data-theme=dark] .app-pill-warning{color:#c9a66b}
[data-theme=dark] .app-pill-danger{color:#d96c5a}
[data-theme=dark] .app-pill-info{color:#96a7bd}
[data-theme=dark] .app-card,[data-theme=dark] .el-card{background:var(--color-white)!important;border-color:var(--color-border-light)!important}
.text-center{text-align:center}
.text-gradient{background:var(--color-primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.text-gradient-warm{background:var(--color-warm-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.text-gradient-fresh{background:var(--color-fresh-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cursor-pointer{cursor:pointer}
.full-width{width:100%}
.app-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);background:var(--color-primary-gradient);color:var(--color-white)}
.app-badge-warm{background:var(--color-warm-gradient)}
.app-badge-fresh{background:var(--color-fresh-gradient)}
.app-badge-deep{background:var(--color-deep-gradient)}
.app-fade-in{animation:app-fade-in .5s ease both}
@keyframes app-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.app-fade-in-up{animation:app-fade-in .5s var(--ease-out) both}
.app-stagger>*{animation:app-fade-in .5s ease both}
.app-stagger>*:nth-child(1){animation-delay:.05s}
.app-stagger>*:nth-child(2){animation-delay:.1s}
.app-stagger>*:nth-child(3){animation-delay:.15s}
.app-stagger>*:nth-child(4){animation-delay:.2s}
.app-stagger>*:nth-child(5){animation-delay:.25s}
.app-stagger>*:nth-child(6){animation-delay:.3s}
.app-stagger>*:nth-child(7){animation-delay:.35s}
.app-stagger>*:nth-child(8){animation-delay:.4s}
.app-hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}
.app-hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.app-glass{background:rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a}
.el-button.app-btn-warm{background:var(--color-warm-gradient)!important;border:none!important;color:var(--color-white)!important;box-shadow:0 4px 12px #c73e1d4d}
.el-button.app-btn-warm:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #c73e1d66!important}
.el-button.app-btn-fresh{background:var(--color-fresh-gradient)!important;border:none!important;color:var(--color-white)!important;box-shadow:0 4px 12px #2d6a4f4d}
.el-button.app-btn-fresh:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #2d6a4f66!important}
.app-command-palette-mask{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh}
.app-command-palette{width:92%;max-width:640px;background:var(--color-white);border-radius:var(--radius-xl);box-shadow:0 24px 60px #00000040,0 8px 24px #00000026;overflow:hidden;display:flex;flex-direction:column;max-height:70vh;border:1px solid var(--color-border-light)}
.app-command-search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light)}
.app-command-search input{flex:1;border:none;outline:none;font-size:var(--font-size-lg);background:transparent;color:var(--color-text-primary);font-family:var(--font-family-base)}
.app-command-search input::placeholder{color:var(--color-text-placeholder)}
.app-command-list{overflow-y:auto;padding:var(--space-2);max-height:56vh}
.app-command-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-3) var(--space-3) var(--space-2)}
.app-command-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);user-select:none}
.app-command-item:hover,.app-command-item.active{background:linear-gradient(135deg,rgba(45,79,124,.1),rgba(91,75,138,.1));transform:translate(2px)}
.app-command-item.active{background:var(--color-primary-gradient);color:var(--color-white)}
.app-command-item.active .app-command-desc,.app-command-item.active .app-command-shortcut kbd{color:#ffffffd9}
.app-command-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--color-background-light);color:var(--color-primary-from);font-size:16px;flex-shrink:0}
.app-command-item.active .app-command-icon{background:rgba(255,255,255,.2);color:var(--color-white)}
.app-command-text{flex:1;min-width:0}
.app-command-name{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-command-item.active .app-command-name{color:var(--color-white)}
.app-command-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}
.app-command-shortcut kbd{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-background-light);border:1px solid var(--color-border-light);font-size:11px;font-family:var(--font-family-mono);color:var(--color-text-secondary);margin-left:2px}
.app-command-item.active .app-command-shortcut kbd{background:rgba(255,255,255,.2);color:var(--color-white);border-color:#ffffff4d}
.app-command-empty{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-secondary)}
.app-command-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-light);background:var(--color-background-light);font-size:var(--font-size-xs);color:var(--color-text-secondary)}
.app-command-footer kbd{display:inline-block;padding:1px 4px;border-radius:var(--radius-xs);background:var(--color-white);border:1px solid var(--color-border-light);font-family:var(--font-family-mono);font-size:11px;margin:0 2px}
.app-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}
.app-empty-illustration{width:200px;height:160px;margin-bottom:var(--space-6);position:relative}
.app-empty-illustration svg{width:100%;height:100%;filter:drop-shadow(0 8px 24px rgba(45,79,124,.15))}
.app-empty-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}
.app-empty-desc{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 0 var(--space-5) 0;max-width:380px;line-height:var(--line-height-loose)}
.app-empty-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}
.app-skeleton-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}
.app-skeleton-line{height:14px;background:linear-gradient(90deg,var(--color-background-light) 25%,#e8eef5 50%,var(--color-background-light) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}
.app-skeleton-line.title{width:50%;height:18px}
.app-skeleton-line.subtitle{width:80%}
.app-skeleton-line.body{width:100%}
.app-skeleton-line.short{width:40%}
.app-skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--color-background-light) 25%,#e8eef5 50%,var(--color-background-light) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;flex-shrink:0}
.app-skeleton-row{display:flex;align-items:center;gap:var(--space-3)}
.app-skeleton-circle{border-radius:50%;background:linear-gradient(90deg,var(--color-background-light) 25%,#e8eef5 50%,var(--color-background-light) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite}
.el-empty__description p{color:var(--color-text-regular)}
.el-loading-parent--relative .el-loading-text,.el-loading-text{color:var(--color-text-regular)!important}
.app-welcome-mask{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}
.app-welcome-modal{width:92%;max-width:540px;background:var(--color-white);border-radius:var(--radius-xl);box-shadow:0 24px 60px #00000040,0 8px 24px #00000026;overflow:hidden;position:relative}
.app-welcome-hero{position:relative;height:220px;background:var(--color-primary-gradient);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}
.app-welcome-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.3) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.2) 0%,transparent 40%)}
.app-welcome-emoji{font-size:72px;position:relative;z-index:1;animation:app-welcome-bounce 2s ease-in-out infinite}
@keyframes app-welcome-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}
.app-welcome-title{position:relative;z-index:1;color:var(--color-white);font-size:32px;font-weight:700;margin:var(--space-3) 0 0 0;text-shadow:0 2px 8px rgba(0,0,0,.15)}
.app-welcome-body{padding:var(--space-7)}
.app-welcome-subtitle{font-size:var(--font-size-md);color:var(--color-text-regular);text-align:center;margin:0 0 var(--space-6) 0;line-height:var(--line-height-loose)}
.app-welcome-features{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-6)}
.app-welcome-feature{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-background-light);font-size:var(--font-size-sm)}
.app-welcome-feature-emoji{font-size:20px}
.app-welcome-actions{display:flex;gap:var(--space-3)}
.app-welcome-btn-primary{flex:1;background:var(--color-primary-gradient);color:var(--color-white);border:none;border-radius:var(--radius-pill);padding:12px 24px;font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2d4f7c4d}
.app-welcome-btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #2d4f7c66}
.app-welcome-btn-secondary{flex:1;background:var(--color-white);color:var(--color-text-primary);border:2px solid var(--color-border-base);border-radius:var(--radius-pill);padding:10px 24px;font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s ease}
.app-welcome-btn-secondary:hover{border-color:var(--color-primary-from);color:var(--color-primary-from)}
.app-welcome-skip{position:absolute;top:var(--space-4);right:var(--space-4);background:#1a1f2e;color:var(--color-white);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-pill);padding:4px 12px;font-size:var(--font-size-xs);cursor:pointer;z-index:2;transition:all .2s ease}
.app-welcome-skip:hover{background:#334155}
.app-tour-mask{position:fixed;inset:0;background:rgba(15,23,42,.7);backdrop-filter:blur(4px);z-index:9998;pointer-events:none}
.app-tour-spotlight{position:fixed;border:3px solid #fff;border-radius:var(--radius-lg);box-shadow:0 0 0 9999px #0f172ab3,0 0 0 9999px var(--tour-overlay, rgba(15, 23, 42, .7));z-index:9999;pointer-events:auto;transition:all .3s ease}
.app-tour-tooltip{position:fixed;width:320px;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 12px 40px #0000004d;padding:var(--space-5);z-index:10000;pointer-events:auto;transition:all .3s ease}
.app-tour-tooltip-step{display:inline-block;font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary-from);background:rgba(45,79,124,.1);padding:2px 10px;border-radius:var(--radius-pill);margin-bottom:var(--space-2)}
.app-tour-tooltip-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}
.app-tour-tooltip-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-loose);margin:0 0 var(--space-4) 0}
.app-tour-progress{display:flex;gap:4px;margin-bottom:var(--space-3)}
.app-tour-dot{height:4px;flex:1;background:var(--color-background-light);border-radius:var(--radius-pill);overflow:hidden;transition:all .3s ease}
.app-tour-dot.active{background:var(--color-primary-gradient)}
.app-tour-dot.done{background:var(--color-primary-from);opacity:.6}
.app-tour-actions{display:flex;justify-content:space-between;gap:var(--space-2)}
.app-tour-btn{padding:6px 16px;border-radius:var(--radius-pill);font-size:var(--font-size-sm);border:none;cursor:pointer;transition:all .2s ease;font-weight:500}
.app-tour-btn-skip{background:transparent;color:var(--color-text-secondary)}
.app-tour-btn-skip:hover{color:var(--color-text-primary)}
.app-tour-btn-prev{background:var(--color-background-light);color:var(--color-text-primary)}
.app-tour-btn-next{background:var(--color-primary-gradient);color:var(--color-white);margin-left:auto}
.app-tour-btn-next:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 4px 12px #2d4f7c4d}
.app-notification-dropdown{width:360px;max-height:480px;display:flex;flex-direction:column;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 12px 40px #00000026}
.app-notification-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-weight:600;font-size:var(--font-size-md)}
.app-notification-tabs{display:flex;padding:0 var(--space-3);gap:var(--space-1);border-bottom:1px solid var(--color-border-light)}
.app-notification-tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}
.app-notification-tab.active{color:var(--color-primary-from);border-bottom-color:var(--color-primary-from);font-weight:500}
.app-notification-list{flex:1;overflow-y:auto;max-height:340px}
.app-notification-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background .2s ease;position:relative}
.app-notification-item:hover{background:var(--color-background-light)}
.app-notification-item.unread{background:linear-gradient(90deg,rgba(45,79,124,.04),transparent 80%)}
.app-notification-item.unread:before{content:"";position:absolute;top:18px;left:8px;width:6px;height:6px;background:var(--color-primary-from);border-radius:50%}
.app-notification-emoji{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--color-background-light)}
.app-notification-content{flex:1;min-width:0}
.app-notification-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-notification-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-base);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.app-notification-time{font-size:11px;color:var(--color-text-placeholder);margin-top:4px}
.app-notification-empty{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}
.app-notification-footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-light);text-align:center}
.app-notification-footer a{font-size:var(--font-size-sm);color:var(--color-primary-from);text-decoration:none;cursor:pointer}
.app-notification-footer a:hover{text-decoration:underline}
.app-fab{position:fixed;right:32px;bottom:160px;z-index:99;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}
.app-fab-trigger{width:56px;height:56px;border-radius:50%;background:var(--color-primary-gradient);color:var(--color-white);border:2px solid rgba(255,255,255,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #2d4f7c8c,0 0 0 4px #ffffff1f;transition:all .3s var(--ease-spring);font-size:20px;position:relative;backdrop-filter:blur(8px)}
.app-fab-trigger:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 12px 32px #2d4f7cb3,0 0 0 5px #ffffff2e;border-color:#ffffff8c}
.app-fab-trigger:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--color-primary-gradient);opacity:.3;animation:fab-pulse 2s ease-in-out infinite;z-index:-1}
@keyframes fab-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.2);opacity:0}}
.app-fab-actions{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end}
.app-fab-action{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;user-select:none;opacity:0;transform:translate(20px) scale(.8);transition:all .3s var(--ease-spring);pointer-events:none}
.app-fab-action.visible{opacity:1;transform:translate(0) scale(1);pointer-events:auto}
.app-fab-action:hover{transform:translate(-4px) scale(1.05)}
.app-fab-label{background:var(--ed-ink, #1a1f2e);color:var(--color-white);padding:6px 12px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);white-space:nowrap;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.2)}
.app-fab-icon{width:40px;height:40px;border-radius:50%;background:var(--color-white);color:var(--color-primary-from);display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px #00000040;border:2px solid rgba(255,255,255,.4)}
.app-btn-on-dark{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.35)!important;color:var(--color-white)!important;backdrop-filter:blur(8px);transition:all .2s ease}
.app-btn-on-dark:hover{background:rgba(255,255,255,.22)!important;border-color:#ffffff8c!important;transform:translateY(-1px);box-shadow:0 4px 12px #0003}
.app-btn-on-dark:active{transform:translateY(0)}
.app-btn-ghost-dark{background:transparent!important;border:1px solid rgba(255,255,255,.4)!important;color:var(--color-white)!important;transition:all .2s ease}
.app-btn-ghost-dark:hover{background:rgba(255,255,255,.1)!important;border-color:#fff9!important}
@media (max-width: 767px){.app-fab{right:16px;bottom:130px}.app-fab-trigger{width:48px;height:48px;font-size:18px}.app-fab-icon{width:36px;height:36px;font-size:16px}}
.app-breadcrumb{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap}
.app-breadcrumb-item{display:flex;align-items:center;gap:4px;cursor:pointer;transition:color .2s ease;padding:2px 6px;border-radius:var(--radius-sm)}
.app-breadcrumb-item:hover{color:var(--color-primary-from);background:rgba(45,79,124,.06)}
.app-breadcrumb-item.current{color:var(--color-text-primary);font-weight:500;cursor:default}
.app-breadcrumb-item.current:hover{background:transparent}
.app-breadcrumb-separator{color:var(--color-text-placeholder);user-select:none}
.app-breadcrumb-home{display:flex;align-items:center;gap:4px;color:var(--color-primary-from)}
.el-button--primary{background:var(--color-primary-gradient)!important;border:none!important;box-shadow:0 2px 8px #2d4f7c40}
.el-button--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2d4f7c59!important}
.el-button--success{background:var(--color-fresh-gradient)!important;border:none!important;color:var(--color-white)!important}
.el-button--warning{background:var(--color-warm-gradient)!important;border:none!important;color:var(--color-white)!important}
.app-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}
.app-card-title-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}
.app-card-title-bar{width:4px;height:18px;background:var(--color-primary-gradient);border-radius:var(--radius-xs)}
.app-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}
@media (min-width: 1280px){html,body{font-size:15px!important}.responsive-container{max-width:1240px!important;margin-left:auto!important;margin-right:auto!important}.el-table{font-size:13px!important}.el-table td,.el-table th{padding:10px 8px!important}.el-card{margin-bottom:24px!important}.page-hero h1,.app-hero-title{font-size:32px!important;line-height:1.2}.page-hero .page-subtitle,.app-hero-subtitle{font-size:16px!important}}
@media (min-width: 1600px){html,body{font-size:16px!important}.responsive-container{max-width:1480px!important}.grid-2-cols-md{grid-template-columns:repeat(3,1fr)!important}.el-table{font-size:14px!important}.el-table td,.el-table th{padding:12px 10px!important}.page-hero h1,.app-hero-title{font-size:40px!important}.page-hero,.app-hero{padding:32px 40px!important}.el-row.is-justify-space-between{gap:16px!important}}
@media (min-width: 1280px){.data-card-list{grid-template-columns:repeat(2,1fr)!important;gap:20px}}
@media (min-width: 1600px){.data-card-list{grid-template-columns:repeat(3,1fr)!important;gap:24px}}
.container-wide{max-width:1240px;margin-left:auto;margin-right:auto}
@media (min-width: 1600px){.container-wide{max-width:1480px}}
@media (min-width: 1920px){.container-wide{max-width:1800px}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sr-only-focusable:focus,.sr-only-focusable:focus-within{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
.skip-link:focus{outline:3px solid #2d4f7c;outline-offset:2px}
@media (prefers-contrast: high){.app-card,.el-card,.el-button{border:2px solid currentColor!important}.el-button--primary{border:2px solid #1e3a5f!important}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
:focus-visible{outline:3px solid #2d4f7c!important;outline-offset:2px!important;border-radius:4px}
.el-button:focus-visible{outline:3px solid #2d4f7c!important;outline-offset:2px!important;box-shadow:0 0 0 4px #2d4f7c26!important}
.el-button--primary:focus-visible{outline:3px solid #1e3a5f!important;box-shadow:0 0 0 4px #1e3a5f26!important}
.app-card,.el-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)!important}
.app-card:hover,.el-card:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow-lg)!important}
a:focus-visible{outline:3px solid #2d4f7c!important;outline-offset:2px!important;border-radius:2px;text-decoration:underline!important}
.el-input__wrapper.is-focus{box-shadow:0 0 0 3px #2d4f7c26!important;border-color:#2d4f7c!important}
.el-overlay-dialog{transition:opacity .24s cubic-bezier(.4,0,.2,1)!important}
.el-tag{border-radius:var(--radius-sm)!important;font-weight:500!important;letter-spacing:.2px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--color-background-light, #fafbfc);border-radius:6px}
::-webkit-scrollbar-thumb{background:var(--color-border-base, #e4e7ed);border-radius:6px;transition:background .2s ease}
::-webkit-scrollbar-thumb:hover{background:#2d4f7c}
::selection{background-color:#2d4f7c33;color:#1e3a5f}
::-moz-selection{background-color:#2d4f7c33;color:#1e3a5f}
@media (min-width: 1280px){.app-card:hover,.el-card:hover{transform:translateY(-3px)!important}}
:root{--color-chart-1: #2d4f7c;--color-chart-2: #c9a66b;--color-chart-3: #2d6a4f;--color-chart-4: #c73e1d;--color-chart-5: #6c84a3;--color-chart-6: #8e6f3e;--color-chart-7: #4a8b6b;--color-chart-8: #a05c4a;--color-chart-axis: #94a3b8;--color-chart-split: #e2e8f0;--color-chart-text: #334155}
.app-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.app-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.app-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-4) 0}
.app-section-title:before{content:"";width:4px;height:1.1em;border-radius:var(--radius-pill);background:var(--color-primary-gradient);flex-shrink:0}
.app-panel{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:box-shadow var(--transition-base),transform var(--transition-base)}
.app-panel:hover{box-shadow:var(--shadow-md)}
.app-stat-value{font-size:var(--font-size-4xl);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);font-variant-numeric:tabular-nums}
.app-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}
@media (max-width: 1024px){.app-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.app-grid-3,.app-grid-2{grid-template-columns:minmax(0,1fr)}.app-panel{padding:var(--space-4)}.app-stat-value{font-size:var(--font-size-3xl)}}
:root{--c-bg: #ffffff;--c-bg-secondary: #f5f7fa;--c-bg-card: #ffffff;--c-text: #303133;--c-text-secondary: #64748b;--c-text-muted: #64748b;--c-border: #cbd5e1;--c-primary: #2d4f7c;--c-primary-light: #6c84a3;--c-accent: #2e7d7b;--c-danger: #C73E1D;--c-warning: #B45309;--c-success: #2D6A4F;--c-shadow: rgba(0, 0, 0, .08)}
[data-theme=dark]{--c-bg: #0f172a;--c-bg-secondary: #1e293b;--c-bg-card: #1e293b;--c-text: #e4e7ed;--c-text-secondary: #94a3b8;--c-text-muted: #94a3b8;--c-border: #334155;--c-primary: #96a7bd;--c-primary-light: #96a7bd;--c-accent: #4a8b6b;--c-danger: #d96c5a;--c-warning: #c9a66b;--c-success: #4A8B6B;--c-shadow: rgba(0, 0, 0, .3)}
[data-theme=dark] body{background-color:var(--c-bg);color:var(--c-text);color-scheme:dark}
[data-theme=dark] .el-card{background-color:var(--c-bg-card)!important;border-color:var(--c-border)!important}
[data-theme=dark] .el-dialog{background-color:var(--c-bg-card)}
[data-theme=dark] .el-input__wrapper{background-color:var(--c-bg-secondary);box-shadow:0 0 0 1px var(--c-border) inset}
[data-theme=dark] .el-select .el-input__wrapper{background-color:var(--c-bg-secondary)}
[data-theme=dark] .el-textarea__inner{background-color:var(--c-bg-secondary);color:var(--c-text);border-color:var(--c-border)}
[data-theme=dark] .app-skeleton,[data-theme=dark] .app-skeleton-line{background:linear-gradient(90deg,var(--c-bg-secondary) 25%,#1e3a5f 50%,var(--c-bg-secondary) 75%)}
[data-theme=dark] .app-glass{background:rgba(30,41,59,.7);border:1px solid rgba(255,255,255,.1)}
[data-theme=dark] ::-webkit-scrollbar-track{background:var(--c-bg-secondary)}
[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--c-border)}
html,body{transition:background-color .3s ease,color .3s ease}
.el-card,.el-dialog,.el-table,.el-input__wrapper,.el-textarea__inner{transition:background-color .3s ease,border-color .3s ease,color .3s ease}
[data-theme=dark] :focus-visible{outline-color:#6c84a3!important}
[data-theme=dark] .el-button:focus-visible,[data-theme=dark] .el-button--primary:focus-visible,[data-theme=dark] a:focus-visible{outline-color:#6c84a3!important}
button[disabled],button.is-disabled,.btn[disabled],.btn.is-disabled,[class*=btn-][disabled],[class*=btn-].is-disabled,[class*=app-btn][disabled],[class*=app-btn].is-disabled{cursor:not-allowed!important;opacity:.5!important;filter:saturate(.4)!important;box-shadow:none!important;transform:none!important;pointer-events:none}
html{--el-color-primary: #2d4f7c !important;--el-color-primary-light-3: #6c84a3 !important;--el-color-primary-light-5: #96a7bd !important;--el-color-primary-light-7: #c0cad8 !important;--el-color-primary-light-8: #d5dce5 !important;--el-color-primary-light-9: #eaedf2 !important;--el-color-primary-dark-2: #243f63 !important}
:root{--el-color-primary: #2d4f7c;--el-color-primary-light-3: #6c84a3;--el-color-primary-light-5: #96a7bd;--el-color-primary-light-7: #c0cad8;--el-color-primary-light-8: #d5dce5;--el-color-primary-light-9: #eaedf2;--el-color-primary-dark-2: #243f63;--el-color-success: #2d6a4f;--el-color-success-light-9: #e9f0ed;--el-color-warning: #b45309;--el-color-warning-light-9: #f7f1e6;--el-color-danger: #c73e1d;--el-color-danger-light-9: #f8ebe7;--el-color-error: #c73e1d;--el-color-error-light-9: #f8ebe7;--el-color-info: #606266;--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-font-size-base: 14px;--el-box-shadow-light: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--el-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--el-text-color-placeholder: #6b7280;--el-text-color-secondary: #6b7280;--el-text-color-primary: #1a1f2e;--el-text-color-regular: #334155;--el-border-color: #d5dce5;--el-border-color-extra-light: #f0f3f7;--el-fill-color-lighter: #fafbfc}
.el-tag{border-radius:6px}
.el-dialog{border-radius:16px;box-shadow:0 20px 25px -5px #0000001f,0 10px 10px -5px #0000000a}
.el-drawer__header{margin-bottom:12px;color:#1a1f2e}
.el-button.is-text:not(.is-disabled),.el-button--text:not(.is-disabled){color:#2d4f7c}
.el-input__prefix-inner,.el-input__suffix-inner,.el-select__caret{color:#6b7280}
.el-tag--warning.el-tag--light .el-tag__content,.el-tag--warning.el-tag--plain .el-tag__content{color:#8a5a1f!important}
.el-radio-button__original-radio:checked+.el-radio-button__inner{background-color:#2d4f7c!important;border-color:#2d4f7c!important;color:#fff!important;box-shadow:-1px 0 #2d4f7c!important}
.el-tag--primary.el-tag--light .el-tag__content,.el-tag--primary.el-tag--plain .el-tag__content,.el-tag--info.el-tag--light .el-tag__content,.el-tag--info.el-tag--plain .el-tag__content{color:#2d4f7c!important}
.el-tag--primary.el-tag--dark{background-color:#2d4f7c!important;border-color:#2d4f7c!important;color:#fff!important}
.el-tag--primary.el-tag--dark .el-tag__content{color:#fff!important}
.el-checkbox__input.is-checked+.el-checkbox__label{color:#2d4f7c}
.el-tag--danger.el-tag--light .el-tag__content,.el-tag--danger.el-tag--plain .el-tag__content{color:#8f3523!important}
:root:not([data-theme=dark]) .el-button--danger.is-disabled,:root:not([data-theme=dark]) .el-button--danger.is-disabled *{color:#8f3523!important}
.el-tag--success.el-tag--light .el-tag__content,.el-tag--success.el-tag--plain .el-tag__content{color:#2d6a4f!important}
.el-empty__description p{color:#6b7280!important}
.el-progress-circle__track{stroke:#94a3b8!important}
[data-theme=dark] .el-progress-circle__track{stroke:#4c5b7d!important}
.el-avatar{--el-avatar-bg-color: #6b7280}
.app-hero .ed-volume-stamp,.page-hero .ed-volume-stamp{background:rgba(255,253,249,.14)!important;border-color:var(--ed-gold, #c9a66b)!important;color:var(--ed-gold, #c9a66b)!important}
.app-hero .ed-volume-stamp:before,.page-hero .ed-volume-stamp:before{color:var(--ed-gold, #c9a66b)!important}
[data-theme=dark] .el-button.is-text:not(.is-disabled),[data-theme=dark] .el-button--text:not(.is-disabled){color:#c0cad8}
[data-theme=dark] .el-tag--primary.el-tag--light .el-tag__content,[data-theme=dark] .el-tag--primary.el-tag--plain .el-tag__content,[data-theme=dark] .el-tag--info.el-tag--light .el-tag__content,[data-theme=dark] .el-tag--info.el-tag--plain .el-tag__content{color:#c0cad8!important}
[data-theme=dark] .el-tag--warning.el-tag--light .el-tag__content,[data-theme=dark] .el-tag--warning.el-tag--plain .el-tag__content{color:#c9a66b!important}
[data-theme=dark] .el-tag--danger.el-tag--light .el-tag__content,[data-theme=dark] .el-tag--danger.el-tag--plain .el-tag__content{color:#d96c5a!important}
[data-theme=dark] .el-tag--success.el-tag--light,[data-theme=dark] .el-tag--success.el-tag--plain{background-color:#4a8b6b1f!important}
[data-theme=dark] .el-tag--success.el-tag--light .el-tag__content,[data-theme=dark] .el-tag--success.el-tag--plain .el-tag__content{color:#4a8b6b!important}
[data-theme=dark] .el-checkbox__input.is-checked+.el-checkbox__label{color:#c0cad8}
[data-theme=dark] .el-input__prefix-inner,[data-theme=dark] .el-input__suffix-inner,[data-theme=dark] .el-select__caret{color:#94a3b8}
[data-theme=dark] .el-drawer__header{color:#e2e8f0}
[data-theme=dark] .el-tag--success.el-tag--dark{background-color:#2d6a4f!important;border-color:#2d6a4f!important}
[data-theme=dark] .el-tag--warning.el-tag--dark{background-color:#8e6f3e!important;border-color:#8e6f3e!important}
[data-theme=dark] .el-tag--danger.el-tag--dark{background-color:#c73e1d!important;border-color:#c73e1d!important}
[data-theme=dark] .el-button--danger:not(.is-plain):not(.is-link):not(.is-text):not(.is-disabled),[data-theme=dark] .el-button--danger:not(.is-plain):not(.is-link):not(.is-text):not(.is-disabled):hover{background-color:#c73e1d!important;border-color:#c73e1d!important;color:#fff!important}
[data-theme=dark] .el-button--info:not(.is-plain):not(.is-link):not(.is-text):not(.is-disabled){background-color:#4b5563!important;border-color:#4b5563!important;color:#fff!important}
[data-theme=dark] .el-button--danger.is-link:not(.is-disabled),[data-theme=dark] .el-button--danger.is-text:not(.is-disabled){color:#d96c5a!important}
[data-theme=dark] .el-progress__text{color:#e2e8f0!important}
[data-theme=dark] .el-button--danger.is-disabled,[data-theme=dark] .el-button--danger.is-disabled:hover{color:#d96c5a!important;background-color:#8f3523!important;border-color:#8f3523!important}
[data-theme=dark] .ed-volume-stamp{color:#d96c5a!important;border-color:#d96c5a99!important}
[data-theme=dark]{--el-text-color-primary: #e2e8f0;--el-text-color-regular: #cbd5e1;--el-text-color-secondary: #94a3b8;--el-text-color-placeholder: #94a3b8;--el-border-color: #334155;--el-border-color-light: #334155;--el-border-color-lighter: #334155;--el-border-color-extra-light: #293548;--el-fill-color-light: #26334a;--el-fill-color-lighter: #232f44;--el-fill-color-blank: #1e293b;--el-bg-color: #1e293b;--el-color-info: #94a3b8;--el-color-primary-light-9: #1e3a5f;--el-color-primary-light-8: #243f63;--el-color-primary-light-7: #2a4a73;--el-color-success-light-9: #1d362b;--el-color-warning-light-9: #33291a;--el-color-danger-light-9: #331c18;--el-color-error-light-9: #331c18;--el-table-bg-color: #1e293b;--el-table-tr-bg-color: #1e293b;--el-table-header-bg-color: #26334a;--el-table-border-color: #293548;--el-table-row-hover-bg-color: #26334a;--el-table-text-color: #e2e8f0;--el-table-header-text-color: #e2e8f0;--el-table-expanded-cell-bg-color: #1e293b}
html[data-theme=dark] .el-button--danger.is-disabled,html[data-theme=dark] .el-button--danger.is-disabled *,html[data-theme=dark] .el-button--danger.is-disabled:hover{color:#d96c5a!important;background-color:#8f3523!important;border-color:#8f3523!important}
:root{--el-skeleton-color: #eef0f4;--el-skeleton-to-color: #e2e6ec}
html[data-theme=dark]{--el-skeleton-color: #26334a;--el-skeleton-to-color: #1e293b}
.el-empty__image svg{fill:none}
.el-empty__image svg *{fill:#eef0f4;stroke:#c3cdd9}
.el-empty__image svg *[fill="#DCDFE6"],.el-empty__image svg *[fill="#dcdce0"],.el-empty__image svg *[fill="#EEEEEE"],.el-empty__image svg *[fill="#f5f7fa"]{fill:#eef0f4;stroke:#c3cdd9}
html[data-theme=dark] .el-empty__image svg *{fill:#26334a;stroke:#4c5b7d}
html[data-theme=dark]{--el-color-danger: #d96c5a;--el-color-error: #d96c5a;--el-color-success: #4a8b6b;--el-color-warning: #c9a66b;--el-color-danger-light-7: #7a3a2b;--el-color-danger-light-8: #5f2c20;--el-color-error-light-7: #7a3a2b;--el-color-error-light-8: #5f2c20;--el-color-success-light-7: #33523f;--el-color-success-light-8: #294334;--el-color-warning-light-7: #4a3a22;--el-color-warning-light-8: #3d301c}
.error-boundary[data-v-d24db49e]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ed-cream) 0%,#e8eef5 100%);padding:20px}
.error-content[data-v-d24db49e]{background:var(--c-bg-card);border-radius:12px;padding:48px;max-width:600px;width:100%;text-align:center;box-shadow:0 20px 60px #0000001a}
.error-icon[data-v-d24db49e]{margin-bottom:24px}
.error-title[data-v-d24db49e]{font-size:24px;font-weight:600;color:#303133;margin:0 0 12px}
.error-message[data-v-d24db49e]{font-size:16px;color:var(--ed-ink-light);margin:0 0 24px;line-height:1.6}
.error-details[data-v-d24db49e]{margin-top:24px;text-align:left}
.error-detail[data-v-d24db49e]{background:var(--ed-cream);border-radius:8px;padding:16px;font-size:14px;color:var(--ed-slate)}
.error-detail pre[data-v-d24db49e]{background:#334155;color:var(--c-text-muted);padding:12px;border-radius:4px;overflow-x:auto;font-size:12px;line-height:1.5;margin:8px 0}
.error-actions[data-v-d24db49e]{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.fade-enter-active[data-v-2e419b1e],.fade-leave-active[data-v-2e419b1e]{transition:opacity .3s ease}
.fade-enter-from[data-v-2e419b1e],.fade-leave-to[data-v-2e419b1e]{opacity:0}
.scroll-top-enter-active[data-v-d8c9742d],.scroll-top-leave-active[data-v-d8c9742d]{transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}
.scroll-top-enter-from[data-v-d8c9742d],.scroll-top-leave-to[data-v-d8c9742d]{opacity:0;transform:translateY(20px) scale(.8)}
.fab-actions-enter-active[data-v-1d6047ef],.fab-actions-leave-active[data-v-1d6047ef]{transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}
.fab-actions-enter-from[data-v-1d6047ef],.fab-actions-leave-to[data-v-1d6047ef]{opacity:0;transform:translateY(-10px)}
.fab-icon-enter-active[data-v-1d6047ef],.fab-icon-leave-active[data-v-1d6047ef]{transition:all .2s ease;position:absolute}
.fab-icon-enter-from[data-v-1d6047ef]{opacity:0;transform:scale(.5) rotate(-90deg)}
.fab-icon-leave-to[data-v-1d6047ef]{opacity:0;transform:scale(.5) rotate(90deg)}
.command-enter-active[data-v-53d4e6ba],.command-leave-active[data-v-53d4e6ba]{transition:opacity .2s ease}
.command-enter-active .app-command-palette[data-v-53d4e6ba],.command-leave-active .app-command-palette[data-v-53d4e6ba]{transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}
.command-enter-from[data-v-53d4e6ba],.command-leave-to[data-v-53d4e6ba]{opacity:0}
.command-enter-from .app-command-palette[data-v-53d4e6ba],.command-leave-to .app-command-palette[data-v-53d4e6ba]{transform:scale(.92) translateY(-20px);opacity:0}
.welcome-enter-active[data-v-50d47652],.welcome-leave-active[data-v-50d47652]{transition:opacity .3s ease}
.welcome-enter-active .app-welcome-modal[data-v-50d47652],.welcome-leave-active .app-welcome-modal[data-v-50d47652]{transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}
.welcome-enter-from[data-v-50d47652],.welcome-leave-to[data-v-50d47652]{opacity:0}
.welcome-enter-from .app-welcome-modal[data-v-50d47652],.welcome-leave-to .app-welcome-modal[data-v-50d47652]{transform:scale(.9) translateY(20px);opacity:0}
.vip-dialog-body[data-v-a0b50581]{text-align:center;padding:8px 0}
.vip-icon[data-v-a0b50581]{margin-bottom:16px}
.vip-message[data-v-a0b50581]{font-size:16px;color:#334155;margin-bottom:20px;font-weight:500}
.vip-benefits[data-v-a0b50581]{text-align:left;max-width:320px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.benefit-item[data-v-a0b50581]{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}
@media (max-width: 480px){.vip-upgrade-dialog[data-v-a0b50581] .el-dialog{width:92%!important}}
.app-container[data-v-91936cbd]{min-height:100vh;background-color:#f5f2ed}
.skip-link[data-v-91936cbd]{position:absolute;top:-100px;left:8px;z-index:100000;padding:12px 20px;background:var(--color-primary-from, #1e3a5f);color:#fff;font-weight:600;font-size:14px;text-decoration:none;border-radius:8px;box-shadow:0 4px 12px #0003;transition:top .2s ease}
.skip-link[data-v-91936cbd]:focus,.skip-link[data-v-91936cbd]:focus-visible{top:8px;outline:3px solid #2d4f7c;outline-offset:2px}
@media (prefers-reduced-motion: reduce){.skip-link[data-v-91936cbd]{transition:none}}
.page-fade-enter-active[data-v-91936cbd],.page-fade-leave-active[data-v-91936cbd]{transition:opacity .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.4,0,.2,1),filter .32s ease}
.page-fade-enter-from[data-v-91936cbd]{opacity:0;transform:translateY(12px) scale(.98);filter:blur(4px)}
.page-fade-leave-to[data-v-91936cbd]{opacity:0;transform:translateY(-12px) scale(1.02);filter:blur(4px)}
.skeleton-list[data-v-7c9a6c74]{display:flex;flex-direction:column;gap:12px}
.skeleton-list-item[data-v-7c9a6c74]{padding:12px 14px;background:var(--c-bg-card);border:1px solid var(--ed-paper-2);border-radius:8px}
.sk-row[data-v-7c9a6c74]{display:flex;align-items:flex-start;gap:12px}
.sk-avatar[data-v-7c9a6c74]{width:40px;height:40px;flex-shrink:0}
.sk-body[data-v-7c9a6c74]{flex:1;min-width:0}
.sk-title[data-v-7c9a6c74]{width:40%;height:18px;margin-bottom:10px}
.sk-line[data-v-7c9a6c74]{width:100%;height:12px;margin:6px 0}
.empty-state-common[data-v-270daa4c]{width:100%;display:flex;justify-content:center;align-items:center;padding:24px 0}
.error-retry[data-v-05c19a69]{width:100%;display:flex;justify-content:center;align-items:center;padding:32px 0}
.app-page-state[data-v-61f40a37]{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.app-page-state.is-compact[data-v-61f40a37]{min-height:120px;padding:12px 8px}
.state-content[data-v-61f40a37]{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:480px;text-align:center;width:100%}
.state-content-default[data-v-61f40a37]{display:block;max-width:none;text-align:left;padding:0}
.state-icon-wrap[data-v-61f40a37]{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;margin-bottom:4px}
.state-loading-spinner[data-v-61f40a37]{background:rgba(45,79,124,.08);position:relative}
.state-icon-empty[data-v-61f40a37]{background:rgba(45,79,124,.16)}
.state-icon-error[data-v-61f40a37]{background:rgba(199,62,29,.16)}
.spinner-ring[data-v-61f40a37]{width:40px;height:40px;border:3px solid rgba(45,79,124,.2);border-top-color:var(--ed-indigo, #2d4f7c);border-radius:50%;animation:spin-61f40a37 1s linear infinite}
.spinner-ring-inner[data-v-61f40a37]{position:absolute;width:28px;height:28px;border:2px solid rgba(201,166,107,.2);border-bottom-color:var(--ed-gold, #c9a66b);border-radius:50%;animation:spin-reverse-61f40a37 .8s linear infinite}
@keyframes spin-61f40a37{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spin-reverse-61f40a37{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}
.state-title[data-v-61f40a37]{font-size:15px;font-weight:600;color:var(--ed-ink, #1a1f2e);line-height:1.4}
.state-hint[data-v-61f40a37]{font-size:12px;color:var(--ed-text-3, #6b7280);line-height:1.5;margin-top:2px}
.state-action[data-v-61f40a37],.state-actions[data-v-61f40a37]{margin-top:12px;display:flex;gap:8px;justify-content:center}
.state-actions .el-button[data-v-61f40a37]{display:inline-flex;align-items:center;gap:4px}
.state-skeleton[data-v-61f40a37]{width:100%;max-width:360px;display:flex;flex-direction:column;gap:8px;margin-top:12px}
.skeleton-row[data-v-61f40a37]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--ed-paper, #f5f7fa);border-radius:6px}
.sk-bar[data-v-61f40a37]{height:10px;background:linear-gradient(90deg,#e2e8f0 0%,#f5f7fa 50%,#e2e8f0 100%);background-size:200% 100%;border-radius:4px;animation:sk-shimmer-61f40a37 1.5s ease-in-out infinite}
.sk-bar-1[data-v-61f40a37]{width:70%}
.sk-bar-2[data-v-61f40a37]{width:90%}
.sk-bar-3[data-v-61f40a37]{width:50%}
@keyframes sk-shimmer-61f40a37{0%{background-position:200% 0}to{background-position:-200% 0}}
@media (max-width: 767px){.app-page-state[data-v-61f40a37]{padding:24px 12px}.state-icon-wrap[data-v-61f40a37]{width:60px;height:60px}.state-title[data-v-61f40a37]{font-size:14px}.state-hint[data-v-61f40a37]{font-size:11px}}
.responsive-table[data-v-0f89cdab],.table-desktop[data-v-0f89cdab]{width:100%}
.table-mobile[data-v-0f89cdab]{display:flex;flex-direction:column;gap:var(--space-3)}
.card-row[data-v-0f89cdab]{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}
.card-field[data-v-0f89cdab]{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border-light);gap:var(--space-3)}
.card-field[data-v-0f89cdab]:last-of-type{border-bottom:none}
.card-field.is-primary .field-value[data-v-0f89cdab]{font-weight:600;color:var(--color-primary-from);font-size:var(--font-size-md)}
.field-label[data-v-0f89cdab]{font-size:12px;color:var(--color-text-tertiary);font-weight:500;flex-shrink:0;min-width:80px}
.field-value[data-v-0f89cdab]{font-size:13px;color:var(--color-text-primary);font-weight:500;text-align:right;word-break:break-word;flex:1}
.card-actions[data-v-0f89cdab]{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-2);justify-content:flex-end}
.card-empty[data-v-0f89cdab]{text-align:center;padding:var(--space-8);color:var(--color-text-tertiary);font-size:13px}
.mobile-tab-bar[data-v-a94994b2]{position:fixed;bottom:0;left:0;right:0;z-index:999;display:flex;align-items:stretch;justify-content:space-around;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-white);border-top:1px solid var(--color-border-light);box-shadow:0 -2px 12px #0000000f;backdrop-filter:blur(10px)}
.tab-item[data-v-a94994b2]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;min-width:44px;background:transparent;border:none;cursor:pointer;position:relative;color:var(--color-text-tertiary);font-size:11px;font-weight:500;transition:color .2s ease;-webkit-tap-highlight-color:transparent}
.tab-item.active[data-v-a94994b2]{color:var(--color-primary-from)}
.tab-item.active[data-v-a94994b2]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--color-primary-gradient);border-radius:0 0 var(--radius-pill) var(--radius-pill)}
.tab-icon[data-v-a94994b2]{display:flex;align-items:center;justify-content:center;width:24px;height:24px}
.tab-emoji[data-v-a94994b2]{font-size:18px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}
.tab-label[data-v-a94994b2]{font-size:11px;letter-spacing:.02em;white-space:nowrap}
.tab-badge[data-v-a94994b2]{position:absolute;top:4px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;background:var(--color-danger);color:var(--color-white);border-radius:var(--radius-pill);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}
.responsive-drawer[data-v-fd50e8dd] .el-drawer__body{padding:var(--space-4);overflow-y:auto}
@media (max-width: 767px){[data-v-fd50e8dd] .el-drawer.rtl{width:100%!important}[data-v-fd50e8dd] .el-drawer.btt{max-height:85vh;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}}
.toast-container[data-v-271b4f13]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px}
.toast-item[data-v-271b4f13]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;min-width:280px;max-width:400px;box-shadow:0 4px 12px #00000026}
.toast-item svg[data-v-271b4f13]{width:18px;height:18px}
.toast-item.success[data-v-271b4f13]{background:rgba(45,106,79,.08);color:var(--ed-forest);border-left:4px solid var(--ed-forest)}
.toast-item.error[data-v-271b4f13]{background:rgba(199,62,29,.08);color:var(--ed-brick);border-left:4px solid var(--ed-brick)}
.toast-item.warning[data-v-271b4f13]{background:rgba(180,83,9,.08);color:var(--ed-gold);border-left:4px solid var(--ed-gold)}
.toast-item.info[data-v-271b4f13]{background:rgba(45,79,124,.08);color:var(--ed-indigo);border-left:4px solid var(--ed-indigo)}
.toast-icon[data-v-271b4f13]{flex-shrink:0}
.toast-message[data-v-271b4f13]{flex:1;font-size:14px;line-height:1.4}
.toast-close[data-v-271b4f13]{background:transparent;border:none;color:inherit;cursor:pointer;padding:0;opacity:.6;transition:opacity .2s}
.toast-close[data-v-271b4f13]:hover{opacity:1}
.toast-enter-active[data-v-271b4f13],.toast-leave-active[data-v-271b4f13]{transition:all .3s ease}
.toast-enter-from[data-v-271b4f13],.toast-leave-to[data-v-271b4f13]{opacity:0;transform:translate(100%)}
.error-message[data-v-cf44622a]{display:flex;align-items:flex-start;gap:16px;padding:16px;background:rgba(199,62,29,.08);border-radius:8px;border-left:4px solid var(--ed-brick)}
.error-icon[data-v-cf44622a]{flex-shrink:0;width:40px;height:40px;display:flex;justify-content:center;align-items:center;background:rgba(199,62,29,.1);border-radius:50%;color:var(--ed-brick)}
.error-icon svg[data-v-cf44622a]{width:20px;height:20px}
.error-content[data-v-cf44622a]{flex:1;min-width:0}
.error-title[data-v-cf44622a]{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ed-brick)}
.error-description[data-v-cf44622a]{margin:0 0 12px;font-size:13px;color:var(--c-text-secondary, #6b7280);line-height:1.5}
.error-action[data-v-cf44622a]{padding:6px 16px;font-size:13px;background:var(--ed-brick);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}
.error-action[data-v-cf44622a]:hover{background:#d96c5a}
.realtime-alerts[data-v-5fd7a399]{background:var(--c-bg-card);border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}
.connection-status[data-v-5fd7a399]{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500}
.status-dot[data-v-5fd7a399]{width:8px;height:8px;border-radius:50%}
.status-online[data-v-5fd7a399]{background:rgba(45,106,79,.08);color:#2d6a4f}
.status-online .status-dot[data-v-5fd7a399]{background:#2D6A4F}
.status-offline[data-v-5fd7a399]{background:rgba(199,62,29,.08);color:#c73e1d}
.status-offline .status-dot[data-v-5fd7a399]{background:#C73E1D}
.status-connecting[data-v-5fd7a399]{background:rgba(180,83,9,.08);color:#8a5a1f}
.status-connecting .status-dot[data-v-5fd7a399]{background:#B45309;animation:pulse-5fd7a399 1.5s infinite}
.status-error[data-v-5fd7a399]{background:rgba(199,62,29,.08);color:#c73e1d}
.status-error .status-dot[data-v-5fd7a399]{background:#C73E1D;animation:blink-5fd7a399 1s infinite}
@keyframes pulse-5fd7a399{0%,to{opacity:1}50%{opacity:.5}}
@keyframes blink-5fd7a399{0%,to{opacity:1}50%{opacity:.3}}
.alerts-container[data-v-5fd7a399]{padding:16px;max-height:400px;overflow-y:auto}
.alerts-header[data-v-5fd7a399]{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.alerts-header h3[data-v-5fd7a399],.alerts-header h2[data-v-5fd7a399]{margin:0;font-size:16px;font-weight:600;color:#334155}
.badge[data-v-5fd7a399]{background:#C73E1D;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}
.clear-btn[data-v-5fd7a399]{margin-left:auto;background:none;border:none;color:#6b7280;cursor:pointer;padding:6px;min-width:44px;min-height:44px;border-radius:6px;transition:all .2s}
.clear-btn[data-v-5fd7a399]:hover{background:#f1f3f5;color:#6b7280}
.alerts-list[data-v-5fd7a399]{display:flex;flex-direction:column;gap:12px}
.alert-item[data-v-5fd7a399]{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border-left:3px solid}
.alert-item.error[data-v-5fd7a399]{background:rgba(199,62,29,.08);border-color:#c73e1d;color:#c73e1d}
.alert-item.warning[data-v-5fd7a399]{background:rgba(180,83,9,.08);border-color:#b45309;color:#8a5a1f}
.alert-item.success[data-v-5fd7a399]{background:rgba(45,106,79,.08);border-color:#2d6a4f;color:#1f4d38}
.alert-item.info[data-v-5fd7a399]{background:rgba(45,79,124,.08);border-color:#2d4f7c;color:#2d4f7c}
.alert-item.read[data-v-5fd7a399]{opacity:.6}
.alert-icon[data-v-5fd7a399]{flex-shrink:0}
.alert-content[data-v-5fd7a399]{flex:1;min-width:0}
.alert-title[data-v-5fd7a399]{font-weight:600;font-size:14px;margin-bottom:4px}
.alert-message[data-v-5fd7a399]{font-size:13px;color:inherit;opacity:.8;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alert-time[data-v-5fd7a399]{font-size:11px;color:#6b7280}
.alert-badge[data-v-5fd7a399]{width:8px;height:8px;border-radius:50%;background:#C73E1D;flex-shrink:0}
.empty-state[data-v-5fd7a399]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6b7280}
.empty-state svg[data-v-5fd7a399]{margin-bottom:12px}
.empty-state p[data-v-5fd7a399]{margin:0;font-size:14px}
.actions[data-v-5fd7a399]{display:flex;gap:12px;padding:16px;border-top:1px solid #e2e8f0}
.btn[data-v-5fd7a399]{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}
.btn-primary[data-v-5fd7a399]{background:#2D4F7C;color:#fff}
.btn-primary[data-v-5fd7a399]:hover{background:#1e3a5f}
.btn-danger[data-v-5fd7a399]{background:rgba(199,62,29,.1);color:#c73e1d}
.btn-danger[data-v-5fd7a399]:hover{background:rgba(199,62,29,.16)}
.btn-secondary[data-v-5fd7a399]{background:#f1f3f5;color:#334155}
.btn-secondary[data-v-5fd7a399]:hover{background:#e2e8f0}
.page-hero[data-v-ff0e5407]{position:relative;padding:var(--v3b4972c6);border-radius:var(--ed-radius-lg);overflow:hidden;color:#fff;box-shadow:var(--ed-shadow-lg);display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;isolation:isolate}
.page-hero--deep[data-v-ff0e5407]{background:var(--ed-gradient-primary)}
.page-hero--fresh[data-v-ff0e5407]{background:var(--ed-gradient-fresh)}
.page-hero--warm[data-v-ff0e5407],.page-hero--sunset[data-v-ff0e5407]{background:var(--ed-gradient-warm)}
.page-hero--indigo[data-v-ff0e5407]{background:var(--ed-gradient-deep)}
.page-hero-decoration[data-v-ff0e5407]{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.page-hero-orb[data-v-ff0e5407]{position:absolute;border-radius:50%;filter:blur(60px)}
.page-hero-orb-1[data-v-ff0e5407]{width:280px;height:280px;background:var(--ed-gold);top:-80px;right:-60px;opacity:.5}
.page-hero-orb-2[data-v-ff0e5407]{width:200px;height:200px;background:var(--ed-paper);bottom:-60px;left:20%;opacity:.25}
.page-hero-orb-3[data-v-ff0e5407]{width:160px;height:160px;background:var(--ed-brick);top:30%;left:10%;opacity:.3}
.page-hero-grid[data-v-ff0e5407]{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}
.page-hero-content[data-v-ff0e5407]{position:relative;z-index:1;flex:1;min-width:0}
.page-hero-eyebrow[data-v-ff0e5407]{display:inline-block;font-family:var(--ed-sans);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--ed-gold);margin-bottom:8px}
.page-hero-title[data-v-ff0e5407]{display:flex;align-items:center;gap:10px;font-family:var(--ed-serif);font-size:32px;font-weight:700;line-height:1.25;letter-spacing:-.5px;color:#fff;margin:0 0 8px}
.page-hero-title-icon[data-v-ff0e5407]{color:var(--ed-gold)}
.page-hero-subtitle[data-v-ff0e5407]{font-family:var(--ed-sans);font-size:14px;line-height:1.6;color:#ffffffd9;margin:0 0 12px}
.page-hero-actions[data-v-ff0e5407]{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.page-hero-icon[data-v-ff0e5407]{position:relative;z-index:1;flex-shrink:0;color:#fff3;display:flex;align-items:center;justify-content:center}
@media (max-width: 767px){.page-hero[data-v-ff0e5407]{padding:20px 16px!important;border-radius:12px}.page-hero-title[data-v-ff0e5407]{font-size:22px}.page-hero-subtitle[data-v-ff0e5407]{font-size:13px}.page-hero-icon[data-v-ff0e5407]{display:none}.page-hero-actions[data-v-ff0e5407]{width:100%}.page-hero-actions[data-v-ff0e5407] .el-button{flex:1}}
.stat-card[data-v-8c211175]{display:flex;align-items:center;gap:14px;padding:20px;background:var(--ed-paper);border:1px solid var(--ed-border);border-radius:var(--ed-radius);transition:all .3s var(--ease-out);position:relative;overflow:hidden;min-height:80px}
.stat-card.is-clickable[data-v-8c211175]{cursor:pointer}
.stat-card.is-clickable[data-v-8c211175]:hover{transform:translateY(-2px);box-shadow:var(--ed-shadow);border-color:var(--ed-ink)}
.stat-card.is-clickable[data-v-8c211175]:active{transform:translateY(0)}
.stat-card--solid[data-v-8c211175]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--ed-ink)}
.stat-card--solid.stat-card--brick[data-v-8c211175]:before{background:var(--ed-brick)}
.stat-card--solid.stat-card--gold[data-v-8c211175]:before{background:var(--ed-gold)}
.stat-card--solid.stat-card--forest[data-v-8c211175]:before{background:var(--ed-forest)}
.stat-card--solid.stat-card--indigo[data-v-8c211175]:before{background:var(--ed-indigo)}
.stat-card--gradient[data-v-8c211175]{color:#fff;border-color:transparent}
.stat-card--gradient.stat-card--ink[data-v-8c211175]{background:var(--ed-gradient-primary)}
.stat-card--gradient.stat-card--brick[data-v-8c211175]{background:var(--ed-gradient-warm)}
.stat-card--gradient.stat-card--gold[data-v-8c211175]{background:linear-gradient(135deg,var(--ed-gold) 0%,var(--ed-brick) 100%)}
.stat-card--gradient.stat-card--forest[data-v-8c211175]{background:var(--ed-gradient-fresh)}
.stat-card--gradient.stat-card--indigo[data-v-8c211175]{background:var(--ed-gradient-deep)}
.stat-card--gradient .stat-card-label[data-v-8c211175],.stat-card--gradient .stat-card-value[data-v-8c211175],.stat-card--gradient .stat-card-suffix[data-v-8c211175],.stat-card--gradient .stat-card-sub[data-v-8c211175]{color:#fff}
.stat-card--outline[data-v-8c211175]{background:transparent;border:2px solid var(--ed-border)}
.stat-card--outline.stat-card--ink[data-v-8c211175]{border-color:var(--ed-ink)}
.stat-card--outline.stat-card--brick[data-v-8c211175]{border-color:var(--ed-brick)}
.stat-card--outline.stat-card--gold[data-v-8c211175]{border-color:var(--ed-gold)}
.stat-card--outline.stat-card--forest[data-v-8c211175]{border-color:var(--ed-forest)}
.stat-card--outline.stat-card--indigo[data-v-8c211175]{border-color:var(--ed-indigo)}
.stat-card-icon[data-v-8c211175]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--ed-paper-2);color:var(--ed-ink);flex-shrink:0}
.stat-card--ink .stat-card-icon[data-v-8c211175]{background:var(--ed-ink);color:#fff}
.stat-card--brick .stat-card-icon[data-v-8c211175]{background:var(--ed-brick-light);color:var(--ed-brick)}
.stat-card--gold .stat-card-icon[data-v-8c211175]{background:var(--ed-gold-light);color:#8e6f3e}
.stat-card--forest .stat-card-icon[data-v-8c211175]{background:var(--ed-forest-light);color:var(--ed-forest)}
.stat-card--indigo .stat-card-icon[data-v-8c211175]{background:var(--ed-indigo-light);color:var(--ed-indigo)}
.stat-card-body[data-v-8c211175]{flex:1;min-width:0}
.stat-card-label[data-v-8c211175]{font-size:13px;color:var(--ed-text-2);margin-bottom:4px;font-family:var(--ed-sans)}
.stat-card-value-row[data-v-8c211175]{display:flex;align-items:baseline;gap:4px;margin-bottom:2px}
.stat-card-value[data-v-8c211175]{font-family:var(--ed-serif);font-size:var(--font-size-3xl);font-weight:700;color:var(--ed-ink);line-height:1.2;letter-spacing:-.3px}
.stat-card-suffix[data-v-8c211175]{font-size:13px;color:var(--ed-text-3);font-weight:400}
.stat-card-meta[data-v-8c211175]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ed-text-3)}
.stat-card-trend[data-v-8c211175]{display:inline-flex;align-items:center;gap:2px;font-weight:500}
.stat-card-trend.is-up[data-v-8c211175]{color:var(--ed-forest)}
.stat-card-trend.is-down[data-v-8c211175]{color:var(--ed-brick)}
.stat-card-trend.is-flat[data-v-8c211175],.stat-card-sub[data-v-8c211175]{color:var(--ed-text-3)}
.stat-card-extra[data-v-8c211175]{flex-shrink:0}
@media (max-width: 767px){.stat-card[data-v-8c211175]{padding:14px 16px;min-height:72px}.stat-card-value[data-v-8c211175]{font-size:22px}.stat-card-icon[data-v-8c211175]{width:38px;height:38px}}
.stat-grid[data-v-45967975]{width:100%}
.stat-grid.is-staggered[data-v-45967975]>*{animation:fadeInUp-45967975 .5s var(--ease-out) backwards}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(1){animation-delay:.05s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(2){animation-delay:.1s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(3){animation-delay:.15s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(4){animation-delay:.2s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(5){animation-delay:.25s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(6){animation-delay:.3s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(7){animation-delay:.35s}
.stat-grid.is-staggered[data-v-45967975]>*:nth-child(8){animation-delay:.4s}
@keyframes fadeInUp-45967975{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.data-card[data-v-b9d9aa9a]{background:var(--ed-paper);border:1px solid var(--ed-border);border-radius:var(--ed-radius);box-shadow:var(--ed-shadow-sm);transition:box-shadow .3s var(--ease-out);display:flex;flex-direction:column;overflow:hidden}
.data-card[data-v-b9d9aa9a]:hover{box-shadow:var(--ed-shadow)}
.data-card.is-loading[data-v-b9d9aa9a]{pointer-events:none;opacity:.8}
.data-card-header[data-v-b9d9aa9a]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px dashed var(--ed-border);flex-shrink:0}
.data-card-title-wrap[data-v-b9d9aa9a]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.data-card-icon[data-v-b9d9aa9a]{color:var(--ed-brick);font-size:18px;flex-shrink:0}
.data-card-title[data-v-b9d9aa9a]{font-family:var(--ed-serif);font-size:16px;font-weight:600;color:var(--ed-ink);margin:0;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-card-actions[data-v-b9d9aa9a]{flex-shrink:0;display:flex;gap:8px;align-items:center}
.data-card-body[data-v-b9d9aa9a]{flex:1;padding:16px 20px}
.data-card.no-padding .data-card-body[data-v-b9d9aa9a]{padding:0}
.data-card-footer[data-v-b9d9aa9a]{padding:12px 20px;border-top:1px dashed var(--ed-border);flex-shrink:0}
@media (max-width: 767px){.data-card-header[data-v-b9d9aa9a],.data-card-body[data-v-b9d9aa9a]{padding:12px 14px}.data-card-title[data-v-b9d9aa9a]{font-size:15px}.data-card-footer[data-v-b9d9aa9a]{padding:10px 14px}}
.toolbar[data-v-bc1c47e5]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--ed-paper);border:1px solid var(--ed-border);border-radius:var(--ed-radius-sm);margin-bottom:12px}
.toolbar.is-sticky[data-v-bc1c47e5]{position:sticky;top:0;z-index:10;backdrop-filter:blur(12px);background:rgba(255,253,249,.85)}
.toolbar.size-sm[data-v-bc1c47e5]{padding:8px 12px}
.toolbar.size-lg[data-v-bc1c47e5]{padding:16px 20px}
.toolbar-left[data-v-bc1c47e5]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.toolbar-title[data-v-bc1c47e5]{display:flex;align-items:center;gap:6px;font-family:var(--ed-serif);font-size:16px;font-weight:600;color:var(--ed-ink);margin:0;letter-spacing:.3px}
.toolbar-icon[data-v-bc1c47e5]{color:var(--ed-brick)}
.toolbar-center[data-v-bc1c47e5]{display:flex;align-items:center;gap:8px}
.toolbar-right[data-v-bc1c47e5]{display:flex;align-items:center;gap:8px;flex-shrink:0}
@media (max-width: 767px){.toolbar[data-v-bc1c47e5]{flex-direction:column;align-items:stretch;gap:8px}.toolbar-left[data-v-bc1c47e5],.toolbar-center[data-v-bc1c47e5],.toolbar-right[data-v-bc1c47e5]{width:100%;justify-content:flex-start}.toolbar-right[data-v-bc1c47e5] .el-button{flex:1}}
.status-pill[data-v-21eccf6b]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;border:1px solid transparent}
.status-pill-dot[data-v-21eccf6b]{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.status-pill.is-real[data-v-21eccf6b]{background:var(--ed-forest-light);color:var(--ed-forest);border-color:var(--ed-forest-light)}
.status-pill.is-real .status-pill-dot[data-v-21eccf6b]{background:var(--ed-forest);box-shadow:0 0 0 2px #2d6a4f33;animation:pulse-real-21eccf6b 2s ease-in-out infinite}
@keyframes pulse-real-21eccf6b{0%,to{box-shadow:0 0 0 2px #2d6a4f33}50%{box-shadow:0 0 0 4px #2d6a4f00}}
.status-pill.is-cache[data-v-21eccf6b]{background:var(--ed-indigo-light);color:var(--ed-indigo);border-color:var(--ed-indigo-light)}
.status-pill.is-cache .status-pill-dot[data-v-21eccf6b]{background:var(--ed-indigo)}
.status-pill.is-empty[data-v-21eccf6b]{background:var(--ed-paper-2);color:var(--ed-text-3);border-color:var(--ed-border)}
.status-pill.is-empty .status-pill-dot[data-v-21eccf6b]{background:var(--ed-text-3)}
.status-pill.is-error[data-v-21eccf6b]{background:var(--ed-brick-light);color:var(--ed-brick);border-color:var(--ed-brick-light)}
.status-pill.is-error .status-pill-dot[data-v-21eccf6b]{background:var(--ed-brick)}
.status-pill.is-loading[data-v-21eccf6b]{background:var(--ed-gold-light);color:#8e6f3e;border-color:var(--ed-gold-light)}
.status-pill.is-loading .status-pill-dot[data-v-21eccf6b]{background:var(--ed-gold);animation:spin-loading-21eccf6b 1s linear infinite}
@keyframes spin-loading-21eccf6b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.status-pill.is-success[data-v-21eccf6b]{background:var(--ed-forest-light);color:var(--ed-forest);border-color:var(--ed-forest-light)}
.status-pill.is-success .status-pill-dot[data-v-21eccf6b]{background:var(--ed-forest)}
.status-pill.is-warning[data-v-21eccf6b]{background:rgba(180,83,9,.08);color:#b45309;border-color:#b4530940}
.status-pill.is-warning .status-pill-dot[data-v-21eccf6b]{background:#b45309}
.status-pill-text[data-v-21eccf6b]{font-family:var(--ed-sans)}
.search-bar[data-v-c2b21689]{display:flex;flex-direction:column;gap:8px;width:100%}
.search-bar-filters[data-v-c2b21689]{display:flex;flex-wrap:wrap;gap:6px}
.search-bar-filter[data-v-c2b21689]{cursor:pointer;user-select:none;transition:all .2s}
.search-bar-button[data-v-c2b21689]{align-self:flex-start}
@media (max-width: 767px){.search-bar-button[data-v-c2b21689]{width:100%;justify-content:center}}
.mobile-filter-drawer[data-v-e7db75c3]{position:relative}
.mobile-filter-fab[data-v-e7db75c3]{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:100;background:var(--ed-ink);color:#fff;border:none;box-shadow:0 4px 16px #1a1f2e4d;width:52px;height:52px}
.mobile-filter-fab[data-v-e7db75c3]:hover{background:var(--ed-brick);transform:translateY(-2px)}
.mobile-filter-fab.is-active[data-v-e7db75c3]{background:var(--ed-brick)}
.mobile-filter-fab-badge[data-v-e7db75c3]{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;background:var(--ed-brick);color:#fff;border:2px solid var(--ed-paper);border-radius:10px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}
.mobile-filter-content[data-v-e7db75c3]{padding:0 4px}
.mobile-filter-footer[data-v-e7db75c3]{display:flex;gap:8px;justify-content:space-between}
.mobile-filter-footer .el-button[data-v-e7db75c3]{flex:1}
.mobile-filter-desktop[data-v-e7db75c3]{width:100%}
.virtual-list-container[data-v-603a777b]{position:relative}
.virtual-list-phantom[data-v-603a777b]{position:absolute;left:0;top:0;right:0;z-index:-1}
.virtual-list-content[data-v-603a777b]{position:absolute;left:0;top:0;right:0;will-change:transform}
.virtual-list-item[data-v-603a777b]{display:flex;align-items:center;box-sizing:border-box}