.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-background)}.navbar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px var(--color-shadow);position:sticky;top:0;z-index:100}.navbar-left{display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--color-text);font-weight:700;font-size:20px}.brand-icon{width:36px;height:36px;background:var(--gradient-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.brand-logo{width:32px;height:32px}.brand-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-nav{display:flex;gap:4px}.nav-link{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;color:var(--color-text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease}.nav-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-link.active{background:var(--color-primary);color:#fff}.nav-icon{font-size:18px}.navbar-right{display:flex;align-items:center;gap:12px}.quota-display{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--color-primary-light);border-radius:20px;font-size:13px;font-weight:600;color:var(--color-primary)}.quota-icon{font-size:16px}.toolbar-btn{width:36px;height:36px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:700;color:var(--color-text-secondary)}.toolbar-btn:hover{background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.user-menu{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:20px;background:var(--color-surface-hover);cursor:pointer;transition:all .2s ease}.user-menu:hover{background:var(--color-border)}.user-avatar-small{width:28px;height:28px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.user-name-small{font-size:14px;font-weight:500;color:var(--color-text)}.vip-badge-small{padding:2px 6px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border-radius:4px;font-size:10px;font-weight:700}.main-container{flex:1;display:flex;flex-direction:column;max-width:1400px;width:100%;margin:0 auto;padding:32px 24px}.page-header{margin-bottom:24px}.page-title{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:8px}.page-description{font-size:14px;color:var(--color-text-secondary)}.content-wrapper{flex:1}@media (max-width: 768px){.navbar{padding:0 16px}.main-nav{display:none}.navbar-left{gap:16px}.brand-text{display:none}.main-container{padding:16px}.page-title{font-size:22px}}.sidebar-header{display:flex;flex-direction:column;align-items:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.sidebar-logo{width:48px;height:48px;margin-bottom:12px}.sidebar-title{font-size:18px;font-weight:600;color:var(--color-text);text-align:center}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;color:var(--color-text-secondary);text-decoration:none;font-size:15px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-primary);transform:translate(-4px);transition:transform .3s ease}.nav-item:hover{background:#678ea214;color:var(--color-text);transform:translate(4px)}.nav-item:hover:before{transform:translate(0)}.nav-item.active{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #678ea24d;transform:translate(0)}.nav-item.active:before{display:none}.nav-icon{font-size:20px}.nav-text{flex:1}.sidebar-footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--color-border)}.user-info{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:var(--color-surface)}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px}.user-details{flex:1}.user-name{font-size:14px;font-weight:600;color:var(--color-text)}.vip-badge{display:inline-block;background:linear-gradient(135deg,gold,#ffed4e);color:#000;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;margin-top:4px}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:12px 12px 12px 0}.header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;margin-bottom:12px;border-radius:20px;background:var(--color-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);box-shadow:0 4px 24px #678ea214;position:relative;overflow:hidden}.header:before{content:"";position:absolute;top:0;right:0;width:400px;height:100%;background:var(--gradient-primary);opacity:.03;pointer-events:none}.header-left{flex:1}.page-title{font-size:24px;font-weight:600;color:var(--color-text)}.header-right{display:flex;align-items:center;gap:16px}.quota-badge{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:14px;background:var(--gradient-primary);border:none;box-shadow:0 4px 12px #678ea233}.quota-icon{font-size:18px}.quota-text{font-size:16px;font-weight:600;color:#fff}.icon-btn{width:44px;height:44px;border-radius:12px;border:none;background:var(--color-surface);border:1px solid var(--color-border);font-size:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #678ea214}.icon-btn:hover{background:var(--gradient-primary);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 16px #678ea240}.lang-btn,.lang-text{font-size:14px;font-weight:700}.content-wrapper{flex:1;overflow-y:auto;padding:0;border-radius:20px;background:transparent}.content-wrapper::-webkit-scrollbar{width:8px}.content-wrapper::-webkit-scrollbar-track{background:transparent}.content-wrapper::-webkit-scrollbar-thumb{background:#678ea233;border-radius:4px}.content-wrapper::-webkit-scrollbar-thumb:hover{background:#678ea24d}@media (max-width: 768px){.sidebar{width:200px}.sidebar-title{font-size:14px}.nav-text{font-size:13px}.header{padding:0 16px}.page-title{font-size:18px}.content-wrapper{padding:16px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#e8f0f5,#f5f5f5,#e9f2ed);position:relative}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(70,129,180,.05) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(74,149,104,.05) 0%,transparent 50%);pointer-events:none}.auth-card{width:100%;max-width:460px;padding:48px 40px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 8px 32px #4681b41f,0 2px 8px #0000000d;position:relative;z-index:1;border:1px solid rgba(255,255,255,.8)}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4681b4,#4a9568);border-radius:20px 20px 0 0}.auth-header{text-align:center;margin-bottom:40px}.auth-logo{width:64px;height:64px;margin:0 auto 20px;display:block;filter:drop-shadow(0 2px 8px rgba(70,129,180,.2))}.auth-title{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:8px;letter-spacing:-.5px}.auth-subtitle{font-size:15px;color:#6b7280;font-weight:500}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:#374151;letter-spacing:.3px}.form-group input{height:48px;padding:0 16px;font-size:15px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;color:#1f2937;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-group input:hover{border-color:#d1d5db}.form-group input:focus{outline:none;border-color:#4681b4;box-shadow:0 0 0 4px #4681b414;background:#fff}.form-group input::placeholder{color:#9ca3af}.btn-block{width:100%;height:50px;margin-top:8px;font-size:15px;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,#4681b4,#376ea4);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #4681b433}.btn-block:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4681b44d;background:linear-gradient(135deg,#376ea4,#2f649c)}.btn-block:active:not(:disabled){transform:translateY(0)}.btn-block:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:32px;text-align:center;font-size:14px;color:#6b7280;padding-top:24px;border-top:1px solid #f3f4f6}.auth-footer a{color:#4681b4;text-decoration:none;font-weight:600;transition:all .2s ease}.auth-footer a:hover{color:#376ea4}@media (max-width: 768px){.auth-card{padding:40px 32px}.auth-title{font-size:26px}.auth-subtitle{font-size:14px}}@media (max-width: 480px){.auth-container{padding:16px}.auth-card{padding:36px 24px}.auth-title{font-size:24px}.form-group input{height:46px}.btn-block{height:48px}}.home-page{max-width:100%}.upload-section{margin-bottom:24px}.upload-card{background:var(--color-surface);border:none;border-radius:12px;padding:48px 24px;text-align:center;transition:all .3s ease;cursor:pointer}.upload-card:hover{background:var(--color-surface-hover);box-shadow:0 8px 24px #4681b426;transform:translateY(-2px)}.modern-dragger{border:none!important;background:transparent!important}.dragger-content{padding:20px}.upload-icon{font-size:56px;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.upload-text{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 8px}.upload-hint{font-size:14px;color:var(--color-text-secondary);margin:0}.upload-progress{margin-top:24px;padding:16px;background:var(--edu-blue-50);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:12px}.progress-text{font-size:15px;color:var(--edu-blue-600);font-weight:500}.search-section{margin-bottom:32px}.search-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px 24px}.search-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.search-icon{font-size:24px;color:var(--color-primary)}.search-title{font-size:16px;font-weight:600;color:var(--color-text)}.search-input-group .input{flex:1;height:40px;border-radius:8px;border:1px solid var(--color-border);padding:0 16px;font-size:14px;transition:all .2s ease}.search-input-group .input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a}.search-input-group .btn-primary{height:40px;padding:0 24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:18px;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px}.file-count{padding:4px 12px;background:var(--color-primary-light);color:var(--color-primary);border-radius:12px;font-size:13px;font-weight:600}.file-tabs{display:flex;gap:8px;flex-wrap:wrap}.file-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px}.file-tab:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.file-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.file-name{font-weight:500}.status-tag{font-size:12px!important;padding:2px 8px!important;border-radius:4px!important}.results-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--color-border);margin-bottom:24px}.results-icon{font-size:24px}.results-title h3{font-size:18px;font-weight:600;color:var(--color-text);margin:0}.export-buttons{display:flex;gap:8px}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;text-align:center;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow)}.stat-card:nth-child(1){border-top:3px solid var(--color-primary)}.stat-card:nth-child(2){border-top:3px solid var(--color-secondary)}.stat-card:nth-child(3){border-top:3px solid var(--color-accent)}.stat-card:nth-child(4){border-top:3px solid var(--color-info)}.stat-value{display:block;font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:8px}.stat-label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.students-list{display:flex;flex-direction:column;gap:12px}.student-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;transition:all .2s ease}.student-card:hover{box-shadow:0 4px 12px var(--color-shadow);border-color:var(--color-primary)}.student-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.name-badge{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600}.name-text{font-size:16px;font-weight:600;color:var(--color-text)}.score-value{font-size:28px;font-weight:700;color:var(--color-primary)}.score-label{font-size:14px;color:var(--color-text-secondary)}.student-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:16px}.subject-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--color-surface-hover);border-radius:6px;font-size:13px}.subject-name{color:var(--color-text-secondary);font-weight:500}.subject-score{color:var(--color-error);font-weight:600}.student-analysis{padding:16px;background:var(--color-secondary-light);border-radius:8px;border-left:3px solid var(--color-secondary)}.analysis-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-secondary);margin-bottom:8px}.analysis-text{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin:0}@media (max-width: 768px){.upload-card{padding:32px 16px}.stats-grid,.student-subjects{grid-template-columns:repeat(2,1fr)}.search-input-group,.export-buttons{flex-direction:column}}.dragger-content{padding:40px 20px}.upload-icon{font-size:48px;margin-bottom:16px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.upload-text{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.upload-hint{font-size:14px;color:var(--text-secondary);margin:0}.search-card{margin-bottom:24px;background:linear-gradient(135deg,#8b76920d,#565f880d)!important;box-shadow:0 8px 32px #8b769226!important}.search-container{display:flex;align-items:center;gap:12px;margin-bottom:16px}.search-icon{font-size:28px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.search-title{font-size:20px;font-weight:600;color:var(--text-primary)}.search-input-group{display:flex;gap:12px}.search-input-group .input{flex:1}.files-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.file-count{font-size:14px;color:var(--text-secondary);background:var(--hover-bg);padding:4px 12px;border-radius:12px}.file-tabs{display:flex;gap:12px;flex-wrap:wrap}.file-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;background:var(--card-bg);border:2px solid var(--border-color);cursor:pointer;transition:all .3s ease}.file-tab:hover{border-color:var(--morandi-blue);background:var(--hover-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}.file-tab.active{border-color:var(--morandi-purple);background:linear-gradient(135deg,#678ea21a,#8b76921a);box-shadow:var(--shadow-md)}.file-name{font-size:14px;font-weight:500;color:var(--text-primary)}.status-tag{border-radius:8px!important;font-size:12px!important}.results-card{animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.results-title{display:flex;align-items:center;gap:12px}.results-icon{font-size:28px}.results-title h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.export-buttons{display:flex;gap:12px}.status-info{text-align:center;padding:60px 20px}.status-info p{margin-top:16px;font-size:16px;color:var(--text-secondary)}.status-error{text-align:center;padding:60px 20px}.error-icon{font-size:64px;margin-bottom:16px}.status-error p{font-size:16px;color:#ef4444}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{padding:24px;border-radius:16px;text-align:center;transition:all .3s ease;background:linear-gradient(135deg,#678ea214,#8b769214);border:1px solid rgba(103,142,162,.15);box-shadow:0 4px 16px #678ea21a}.stat-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px #678ea233;background:linear-gradient(135deg,#678ea21f,#8b76921f)}.stat-icon{font-size:32px;margin-bottom:12px}.stat-value{display:block;font-size:32px;font-weight:700;color:var(--morandi-purple);margin-bottom:8px}.stat-label{font-size:14px;color:var(--text-secondary)}.students-list{display:flex;flex-direction:column;gap:16px}.student-card{padding:20px;border-radius:16px;transition:all .3s ease;background:linear-gradient(135deg,#678ea20f,#8b76920f);border:1px solid rgba(103,142,162,.12);box-shadow:0 4px 16px #678ea214}.student-card:hover{transform:translate(8px);box-shadow:0 8px 32px #678ea226;background:linear-gradient(135deg,#678ea21a,#8b76921a)}.student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.student-name{display:flex;align-items:center;gap:12px}.name-badge{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;box-shadow:0 4px 12px #678ea24d}.name-text{font-size:18px;font-weight:600;color:var(--color-text)}.student-score{display:flex;align-items:baseline;gap:4px}.score-value{font-size:32px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-label{font-size:14px;color:var(--text-secondary)}.student-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:16px}.subject-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--hover-bg);border-radius:8px;transition:all .2s ease}.subject-item:hover{background:var(--border-color);transform:scale(1.02)}.subject-name{font-size:14px;color:var(--text-secondary)}.subject-score{font-size:16px;font-weight:600;color:var(--morandi-blue)}.student-analysis{padding:16px;background:linear-gradient(135deg,#678ea20d,#8b76920d);border-radius:12px;border-left:4px solid var(--morandi-purple)}.analysis-label{font-size:14px;font-weight:600;color:var(--morandi-purple);margin-bottom:8px}.analysis-text{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}@media (max-width: 768px){.home-page{padding:16px}.hero-content{padding:32px 20px}.hero-icon{font-size:48px}.hero-title{font-size:24px}.stats-grid,.student-subjects{grid-template-columns:repeat(2,1fr)}.search-input-group,.export-buttons{flex-direction:column}}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.admin-navbar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px var(--color-shadow);position:sticky;top:0;z-index:100}.admin-navbar-left{display:flex;align-items:center;gap:12px}.admin-logo{width:32px;height:32px}.admin-title{font-size:18px;font-weight:600;color:var(--color-text)}.admin-navbar-right{display:flex;align-items:center;gap:16px}.admin-user-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface-hover);border-radius:8px}.toolbar-btn{width:36px;height:36px;border:none;background:var(--color-surface-hover);border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--color-text)}.toolbar-btn:hover{background:var(--color-border);transform:translateY(-1px)}.admin-page{flex:1;padding:24px;max-width:1400px;margin:0 auto;width:100%}.stats-row{margin-bottom:24px}.stats-row .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.stats-row .ant-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.ant-table{background:var(--color-surface);border-radius:8px}.ant-table-thead>tr>th{background:var(--color-surface-hover);font-weight:600}.admin-page .ant-tabs{background:var(--color-surface);padding:16px;border-radius:12px}.admin-page .ant-tabs-tab{padding:12px 16px;font-size:15px}.admin-page .ant-tabs-tab-active{font-weight:600}:root{--edu-blue-50: #e8f0f5;--edu-blue-100: #c5d9e8;--edu-blue-200: #9fc0d9;--edu-blue-300: #79a7ca;--edu-blue-400: #5c94bf;--edu-blue-500: #4681b4;--edu-blue-600: #3f79ad;--edu-blue-700: #376ea4;--edu-blue-800: #2f649c;--edu-blue-900: #20518c;--edu-green-50: #e9f2ed;--edu-green-100: #c8dfd2;--edu-green-200: #a4cab4;--edu-green-300: #7fb596;--edu-green-400: #63a57f;--edu-green-500: #4a9568;--edu-green-600: #438d60;--edu-green-700: #3a8255;--edu-green-800: #32784b;--edu-green-900: #23673a;--edu-orange-400: #d4a574;--edu-orange-500: #c89968;--edu-orange-600: #bc8e5d;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-500: #9e9e9e;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121}[data-theme=light]{--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-shadow: rgba(15, 23, 42, .08);--color-primary: var(--edu-blue-600);--color-primary-light: var(--edu-blue-100);--color-primary-dark: var(--edu-blue-800);--color-secondary: var(--edu-green-600);--color-secondary-light: var(--edu-green-100);--color-secondary-dark: var(--edu-green-800);--color-accent: var(--edu-orange-500);--color-success: var(--edu-green-600);--color-warning: var(--edu-orange-500);--color-error: #ef4444;--color-info: var(--edu-blue-500);--gradient-primary: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);--gradient-secondary: linear-gradient(135deg, #4caf50 0%, #388e3c 100%);--gradient-hero: linear-gradient(135deg, #1e88e5 0%, #43a047 50%, #ffa726 100%)}[data-theme=dark]{--color-background: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-border: #334155;--color-shadow: rgba(0, 0, 0, .3);--color-primary: var(--edu-blue-400);--color-primary-light: var(--edu-blue-900);--color-primary-dark: var(--edu-blue-200);--color-secondary: var(--edu-green-400);--color-secondary-light: var(--edu-green-900);--color-secondary-dark: var(--edu-green-200);--color-accent: var(--edu-orange-400);--color-success: var(--edu-green-400);--color-warning: var(--edu-orange-400);--color-error: #ef4444;--color-info: var(--edu-blue-400);--gradient-primary: linear-gradient(135deg, #42a5f5 0%, #1e88e5 100%);--gradient-secondary: linear-gradient(135deg, #66bb6a 0%, #43a047 100%);--gradient-hero: linear-gradient(135deg, #2196f3 0%, #4caf50 50%, #ffa726 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background);background-attachment:fixed;color:var(--color-text);transition:background .3s ease,color .3s ease}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px;box-shadow:0 1px 3px var(--color-shadow);transition:all .2s ease}.card:hover{box-shadow:0 4px 12px var(--color-shadow);transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:12px;padding:10px 22px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:var(--color-primary);color:#fff}.input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:12px 16px;font-size:16px;color:var(--color-text);outline:none;width:100%;transition:all .3s ease}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #678ea21a}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}.page-placeholder{padding:48px;text-align:center;font-size:24px;color:var(--color-text-secondary);background:var(--color-surface);border-radius:16px;border:2px dashed var(--color-border)}
