:root{color:#0f172a;background:#f4f7fa;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button{font:inherit}.ef-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0f172a0d}.ef-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #f1f5f9}.ef-card__header strong{display:block;color:#0f172a;font-size:16px}.ef-card__header span{display:block;margin-top:5px;color:#64748b;font-size:13px}.ef-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:9999px;font-size:12px;font-weight:700;white-space:nowrap}.ef-tag--primary{color:#1e3a5f;background:#e8eef4}.ef-tag--success{color:#059669;background:#d1fae5}.ef-tag--warning{color:#b45309;background:#fef3c7}.ef-tag--danger{color:#dc2626;background:#fee2e2}.ef-tag--info{color:#4a90a4;background:#e0f2f5}.ef-tag--neutral{color:#64748b;background:#f1f5f9}.ef-progress{width:100%;height:8px;overflow:hidden;border-radius:9999px;background:#e2e8f0}.ef-progress__bar{display:block;height:100%;border-radius:inherit}.ef-progress__bar--primary{background:#1e3a5f}.ef-progress__bar--success{background:#10b981}.ef-progress__bar--warning{background:#f59e0b}.ef-progress__bar--info{background:#4a90a4}.ef-progress__bar--danger{background:#ef4444}.teacher-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr);background:#f4f7fa}.teacher-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#f8fbff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column}.teacher-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;border-bottom:1px solid #e2e8f0}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fff;font-weight:800;background:linear-gradient(135deg,#e8913a,#f0a85c)}.teacher-brand strong{display:block;color:#1e3a5f;font-size:17px}.teacher-brand span{display:block;margin-top:2px;color:#94a3b8;font-size:12px}.teacher-nav{display:grid;gap:4px;padding-top:16px}.teacher-nav button{position:relative;height:42px;border:0;border-radius:9px;background:transparent;color:#64748b;display:flex;align-items:center;gap:10px;padding:0 12px;cursor:pointer}.teacher-nav button.is-active,.teacher-nav button:hover{color:#1e3a5f;background:#e8eef4}.teacher-nav button.is-active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 4px 4px 0;background:#1e3a5f}.teacher-ai-status{margin-top:auto;padding:14px;border-radius:12px;color:#fff;background:linear-gradient(150deg,#1e3a5f,#2e4f7a)}.teacher-ai-status strong{display:block;color:#e8913a;font-size:12px}.teacher-ai-status span{display:block;margin-top:8px;color:#dbeafe;font-size:12px;line-height:1.55}.teacher-main{min-width:0;padding-bottom:48px}.teacher-topbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 32px;background:#1e3a5f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.12)}.teacher-search{width:min(360px,42vw);height:38px;padding:0 13px;border-radius:9999px;color:#a3b8cc;background:#ffffff1f;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px;font-size:13px}.teacher-user{display:flex;align-items:center;gap:12px}.teacher-user strong,.teacher-user span{display:block}.teacher-user strong{color:#fff;font-size:13px}.teacher-user span{margin-top:2px;color:#a3b8cc;font-size:11px}.icon-button{position:relative;width:38px;height:38px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff1a;color:#fff}.icon-button i{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:#ef4444}.avatar,.student-avatar{display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;background:linear-gradient(135deg,#5b7a99,#2e4f7a)}.avatar{width:34px;height:34px}.teacher-hero,.metric-grid,.teacher-grid{margin:24px 32px 0}.page-space{margin:24px 32px 48px}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.page-title-row h1{margin:0;color:#0f172a;font-size:28px}.page-title-row p,.muted-text{margin:8px 0 0;color:#64748b;font-size:14px}.card-pad{padding:20px}.no-margin{margin:0 0 20px}.two-cols,.three-cols{display:grid;gap:12px}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{display:grid;gap:10px}.assignment-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:20px;padding:18px 22px;border-radius:12px;background:#fff;border:1px solid #e2e8f0}.assignment-stepper button{position:relative;min-height:62px;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:12px;border:0;background:transparent;text-align:left;cursor:pointer}.assignment-stepper button:after{content:"";position:absolute;right:24px;top:31px;width:calc(100% - 90px);height:2px;background:#dbe3ec}.assignment-stepper button:last-child:after{display:none}.assignment-stepper span{grid-row:span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#94a3b8;background:#f1f5f9;font-weight:800}.assignment-stepper strong{color:#334155;font-size:15px}.assignment-stepper small{color:#94a3b8;font-size:12px}.assignment-stepper .is-active span{color:#fff;background:#1e3a5f}.assignment-stepper .is-done span{color:#fff;background:#10b981}.assignment-info-grid,.preview-grid,.stats-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:16px}.setting-options,.source-tabs,.compose-filters{display:flex;flex-wrap:wrap;gap:8px}.setting-options button,.compose-filters button,.source-tabs button,.export-options button{min-height:38px;border-radius:9999px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;font-size:13px;cursor:pointer}.setting-options button.is-active,.compose-filters button.is-active,.source-tabs button.is-active,.export-options button.is-active{color:#fff;border-color:#1e3a5f;background:#1e3a5f}.ai-hint{margin:16px 0;padding:14px;border-radius:10px;color:#64748b;background:#f8fafc;display:flex;gap:9px;align-items:center;font-size:13px}.assignment-compose{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.source-tabs{padding:18px 20px 0;border-bottom:1px solid #f1f5f9}.source-tabs button{border-radius:0;border:0;border-bottom:2px solid transparent;background:transparent}.source-tabs button.is-active{color:#1e3a5f;border-bottom-color:#1e3a5f;background:transparent}.compose-filters,.question-catalog,.basket-body{padding:18px 20px}.template-banner{margin:0 20px 14px;padding:14px 16px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8fafc}.template-banner.ai{background:#eef8fb}.template-banner strong,.template-banner span{display:block}.template-banner strong{font-size:14px}.template-banner span{margin-top:4px;color:#64748b;font-size:12px}.question-catalog{display:grid;gap:12px}.question-catalog article{padding:16px;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.question-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.question-head>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.question-head span{color:#94a3b8;font-size:12px}.question-head button,.link-action{border:0;background:transparent;color:#2e4f7a;font-size:12px;font-weight:700;cursor:pointer}.question-catalog p{margin:12px 0;color:#334155;font-size:14px;line-height:1.65}.question-catalog article>button{height:34px;border-radius:8px;border:1px solid #1e3a5f;color:#1e3a5f;background:#fff;display:inline-flex;align-items:center;gap:6px;padding:0 12px;cursor:pointer;font-weight:700}.question-catalog article>button.picked{color:#059669;border-color:#bbf7d0;background:#f0fdf4}.question-basket{position:sticky;top:78px}.empty-basket,.success-state{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;color:#94a3b8;text-align:center}.empty-basket strong,.success-state strong{color:#334155}.basket-item{display:grid;grid-template-columns:26px minmax(0,1fr) 28px;gap:10px;padding:12px 0;border-bottom:1px solid #f1f5f9}.basket-item>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1e3a5f;font-size:12px;font-weight:800}.basket-item strong,.basket-item small{display:block}.basket-item strong{overflow:hidden;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.basket-item small{margin-top:4px;color:#94a3b8}.basket-item button{border:0;background:transparent;color:#ef4444;cursor:pointer}.basket-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #f1f5f9}.phone-preview{width:min(100%,420px);margin:20px auto;border-radius:28px;overflow:hidden;border:10px solid #111827;background:#f4f7fa;box-shadow:0 24px 56px #0f172a2e}.phone-top{height:56px;display:grid;place-items:center;color:#fff;background:#1e3a5f;font-weight:800}.phone-preview section{padding:18px}.phone-preview h3{margin:0}.phone-preview p{margin:8px 0 14px;color:#64748b;font-size:13px}.phone-preview article{padding:14px;border-radius:12px;background:#fff;margin-bottom:10px}.phone-preview article strong,.phone-preview article span{display:block}.phone-preview article strong{font-size:13px}.phone-preview article span{margin-top:6px;color:#334155;font-size:13px;line-height:1.6}.publish-summary{display:grid;gap:14px}.publish-summary>div:not(.ai-hint){display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:13px}.publish-summary strong{color:#0f172a}.question-detail-tags{display:flex;gap:8px;align-items:center}.question-detail p{color:#334155;font-size:15px;line-height:1.8}.option-line,.answer-box,.analysis-box{padding:14px;border-radius:10px;background:#f8fafc;color:#334155;font-size:14px;line-height:1.7;margin-top:12px}.answer-box{background:#f0fdf4}.answer-box strong,.analysis-box strong{display:block;color:#1e3a5f;margin-bottom:5px}.success-state svg{color:#10b981}.grading-workbench{height:calc(100vh - 58px);display:grid;grid-template-columns:220px minmax(420px,1fr) 360px;overflow:hidden}.grading-queue,.grading-inspector{background:#fff;overflow:auto}.grading-queue{border-right:1px solid #e2e8f0}.queue-title{padding:20px 16px;border-bottom:1px solid #f1f5f9}.queue-title strong,.queue-title span{display:block}.queue-title span{margin-top:6px;color:#94a3b8;font-size:12px}.queue-filters{display:grid;gap:8px;padding:12px}.queue-filters select{height:34px;border:1px solid #e2e8f0;border-radius:8px;padding:0 8px}.queue-list{display:grid}.queue-list button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-bottom:1px solid #f1f5f9;background:#fff;padding:12px 14px;text-align:left;cursor:pointer}.queue-list button.is-active{background:#e8eef4}.queue-list strong,.queue-list small{display:block}.queue-list small{margin-top:4px;color:#94a3b8;font-size:12px}.exit-compare{width:calc(100% - 28px);height:42px;margin:16px 14px;border:0;border-radius:8px;color:#fff;background:#1e3a5f;font-weight:800;cursor:pointer}.grading-canvas{overflow:auto;padding:24px;background:#eef3f8}.grading-toolbar{width:fit-content;min-height:48px;margin:0 auto 20px;padding:8px 12px;display:flex;align-items:center;gap:10px;border-radius:12px;background:#fff;box-shadow:0 6px 18px #0f172a14}.grading-toolbar button{width:32px;height:32px;border:0;border-radius:8px;display:grid;place-items:center;background:#f8fafc;color:#64748b}.grading-toolbar button.is-active{color:#fff;background:#1e3a5f}.grading-toolbar span{width:22px;height:22px;border-radius:50%}.grading-toolbar small{color:#64748b;font-size:12px}.answer-sheets{display:grid;grid-template-columns:minmax(260px,380px);justify-content:center;gap:20px}.answer-sheets.compare{grid-template-columns:repeat(2,minmax(240px,360px))}.answer-sheets article{min-height:460px;border-radius:12px;background:#fff;box-shadow:0 12px 34px #0f172a14;overflow:hidden}.answer-sheets header{height:58px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #f1f5f9}.answer-sheets header b{margin-left:auto;color:#e8913a}.answer-sheets header .green,.paper-lines .green{color:#10b981}.paper-lines{min-height:400px;padding:26px 24px;background-image:linear-gradient(#fff 39px,#eef2f7 40px);background-size:100% 40px;color:#1f2937;font-size:18px;line-height:2.25}.paper-lines p,.paper-lines em{display:block;margin:0 0 10px}.paper-lines em{color:#ef4444;font-style:normal}.grading-inspector{border-left:1px solid #e2e8f0;padding-bottom:20px}.score-header{padding:26px 24px;text-align:center;color:#dbeafe;background:#1e3a5f}.score-header span,.score-header p{display:block;color:#a3b8cc;font-size:12px}.score-header strong{display:block;margin:8px 0;color:#fff;font-size:48px}.score-header small{font-size:18px}.grading-inspector .ef-card{margin:14px}.score-list,.comment-box{padding:16px}.score-list div{min-height:38px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;color:#334155;font-size:13px}.score-list svg{color:#10b981}.score-list div>span{width:18px;height:18px;border:1px solid #e2e8f0;border-radius:5px}.score-list b{color:#10b981}.comment-box textarea,.return-modal textarea{width:100%;min-height:96px;border:1px solid #cbd5e1;border-radius:8px;padding:10px;resize:vertical;color:#334155;font:inherit}.comment-box div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.comment-box button{height:28px;border:0;border-radius:999px;padding:0 10px;color:#2e4f7a;background:#e8eef4;font-size:12px}.grading-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 14px}.progress-line{display:flex;justify-content:space-between;margin-bottom:8px;color:#64748b;font-size:13px}.return-modal{display:grid;gap:12px;color:#64748b}.return-modal svg{color:#f59e0b}.stats-grid{margin-bottom:20px}.stats-grid.wide-left{grid-template-columns:minmax(0,1fr) 360px}.stat-bar{margin-bottom:14px}.stat-bar div{display:flex;justify-content:space-between;margin-bottom:7px;color:#64748b;font-size:13px}.stat-bar strong{color:#0f172a}.stat-bar small{display:flex;align-items:center;gap:4px;margin-top:5px;color:#ef4444;font-size:11px}.wrong-list{display:grid}.wrong-list button{display:grid;grid-template-columns:56px minmax(0,1fr) 54px;gap:12px;align-items:center;padding:15px 20px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;text-align:left;cursor:pointer}.wrong-list button.is-active{background:#f8fafc}.wrong-list span{color:#ef4444;font-weight:800}.wrong-list strong,.wrong-list small{display:block}.wrong-list small{margin-top:4px;color:#94a3b8;font-size:12px}.wrong-list b{color:#ef4444;font-size:18px}.wrong-detail{padding:22px}.wrong-detail svg{color:#1e3a5f}.wrong-detail h3{margin:12px 0 8px}.wrong-detail p{color:#64748b;line-height:1.7;font-size:13px}.weak-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.student-level-table{overflow:auto}.student-level-table table{width:100%;border-collapse:collapse;font-size:13px}.student-level-table th,.student-level-table td{padding:13px 18px;border-bottom:1px solid #f1f5f9;text-align:left}.student-level-table th{color:#64748b;background:#f8fafc}.export-options{display:grid;gap:12px}.export-options div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.export-options button{border-radius:8px}.export-options p{display:flex;align-items:center;gap:8px;margin:4px 0 0;color:#64748b;font-size:13px}.teacher-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.teacher-hero h1{margin:0;font-size:28px}.teacher-hero p{margin:8px 0 0;color:#64748b;font-size:14px}.teacher-hero b{color:#e8913a}.hero-actions{display:flex;gap:10px}.primary-action,.secondary-action{height:42px;border-radius:8px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.primary-action{color:#fff;border:1px solid #1e3a5f;background:#1e3a5f}.secondary-action{color:#1e3a5f;border:1px solid #cbd5e1;background:#fff}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{padding:18px}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-head>span{color:#64748b;font-size:13px}.metric-value{margin-top:14px;display:flex;align-items:baseline;gap:5px}.metric-value strong{color:#0f172a;font-size:30px;line-height:1}.metric-value span,.metric-card p{color:#94a3b8;font-size:13px}.teacher-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px}.teacher-grid--bottom{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.homework-progress{padding:18px 20px 10px}.homework-progress>div,.kp-row>div{display:flex;justify-content:space-between;margin-bottom:10px;color:#64748b;font-size:13px}.homework-progress strong,.kp-row strong{color:#0f172a}.submission-list,.question-list,.kp-list,.flow-steps{padding:0 20px 20px}.submission-list article{min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid #f1f5f9}.student-avatar{width:36px;height:36px;font-size:13px}.submission-list strong,.submission-list span,.question-list p,.question-list span{display:block}.submission-list strong{font-size:14px}.submission-list span,.question-list span{margin-top:4px;color:#94a3b8;font-size:12px}.submission-list b{color:#1e3a5f;font-size:18px}.question-list{display:grid;gap:12px;padding-top:18px}.question-list article{padding:14px;border-radius:10px;background:#f8fafc}.question-list p{margin:10px 0 0;color:#334155;line-height:1.6;font-size:13px}.kp-list{display:grid;gap:16px;padding-top:18px}.kp-row span{color:#64748b}.flow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding-top:18px}.flow-steps div{min-height:92px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;padding:14px}.flow-steps span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:12px;font-weight:800;background:#1e3a5f}.flow-steps strong{display:block;margin-top:12px;color:#334155;font-size:13px}@media(max-width:1180px){.teacher-shell{grid-template-columns:76px minmax(0,1fr)}.teacher-brand div,.teacher-nav span,.teacher-ai-status{display:none}.teacher-brand{justify-content:center;padding-inline:0}.teacher-nav button{justify-content:center;padding:0}.metric-grid,.teacher-grid,.teacher-grid--bottom{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.teacher-shell{display:block}.teacher-sidebar{position:static;height:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #e2e8f0}.teacher-topbar,.teacher-hero{display:block}.teacher-user{margin-top:12px}.hero-actions{margin-top:16px;flex-wrap:wrap}.metric-grid,.teacher-grid,.teacher-grid--bottom{grid-template-columns:1fr}.teacher-hero,.metric-grid,.teacher-grid{margin-inline:16px}.flow-steps{grid-template-columns:1fr}}.ef-field{margin-bottom:12px}.ef-field__label{display:block;font-size:13px;color:#64748b;margin-bottom:6px;font-weight:500}.ef-input{width:100%;height:40px;padding:0 12px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;background:#fff;color:#0f172a;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.ef-input:focus{border-color:#1e3a5f;box-shadow:0 0 0 3px #1e3a5f14}.ef-input--textarea{height:auto;padding:12px;line-height:1.6;resize:vertical}.ef-input--select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding-right:28px}.ef-input--error{border-color:#ef4444}.ef-field__error{display:block;margin-top:4px;font-size:12px;color:#ef4444}.ef-btn{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);color:var(--primary-900, #1e3a5f);font-size:14px;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.ef-btn:hover{transform:translateY(-1px);box-shadow:0 1px 3px #0f172a0f}.ef-btn--primary{border-color:#1e3a5f;color:#fff;background:#1e3a5f}.ef-btn--secondary{border-color:#cbd5e1;color:#1e3a5f;background:#fff}.ef-btn--text{border-color:transparent;color:#1e3a5f;background:transparent}.ef-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ef-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ef-spin .8s linear infinite}@keyframes ef-spin{to{transform:rotate(360deg)}}.ef-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a80;display:grid;place-items:center;padding:16px}.ef-modal{background:#fff;border-radius:16px;box-shadow:0 18px 48px #0f172a1f;width:100%;max-width:520px;max-height:90vh;overflow:auto}.ef-modal--sm{max-width:360px}.ef-modal--lg{max-width:720px}.ef-modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #f1f5f9}.ef-modal__header strong{font-size:16px;color:#0f172a}.ef-modal__close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#94a3b8;font-size:20px;cursor:pointer}.ef-modal__close:hover{background:#f8fafc;color:#0f172a}.ef-modal__body{padding:20px}.ef-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #f1f5f9}.ef-toast-container{position:fixed;top:20px;right:20px;z-index:200;display:grid;gap:10px}.ef-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 48px #0f172a1f;font-size:14px;color:#0f172a;min-width:280px;animation:ef-toast-in .3s ease}.ef-toast--success{border-left:3px solid #10b981}.ef-toast--error{border-left:3px solid #ef4444}.ef-toast--warning{border-left:3px solid #f59e0b}.ef-toast--info{border-left:3px solid #4a90a4}.ef-toast button{border:none;background:transparent;color:#94a3b8;font-size:16px;cursor:pointer}@keyframes ef-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ef-skeleton{display:grid;gap:10px}.ef-skeleton__row{height:16px;border-radius:4px;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:ef-skeleton-shimmer 1.5s infinite}@keyframes ef-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ef-table{width:100%;border-collapse:collapse;font-size:13px}.ef-table thead th{padding:12px 20px;text-align:left;font-weight:600;color:#64748b;font-size:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.ef-table tbody td{padding:12px 20px;border-bottom:1px solid #f1f5f9;color:#334155}.ef-table tbody tr:hover{background:#f8fafc}.ef-table-empty{padding:40px;text-align:center;color:#94a3b8;font-size:14px}.ef-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:#64748b;font-size:14px}.ef-empty{display:grid;place-items:center;gap:10px;padding:48px 24px;text-align:center}.ef-empty__icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px;background:linear-gradient(135deg,#e8913a,#f0a85c)}.ef-empty strong{font-size:16px;color:#0f172a}.ef-empty p{margin:0;color:#64748b;font-size:13px}.stats-page .page-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.stats-header-actions{display:flex;align-items:center;gap:14px}.period-tabs{display:flex;gap:2px;padding:2px;border-radius:8px;background:#f1f5f9}.period-tabs button{height:30px;padding:0 12px;border-radius:6px;border:none;background:transparent;color:#64748b;font-size:13px;cursor:pointer}.period-tabs button.is-active{background:#1e3a5f;color:#fff;font-weight:600}.metric-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#fff}.metric-icon.blue{background:#4a90a4}.metric-icon.green{background:#10b981}.metric-icon.amber{background:#f0a85c}.metric-icon.purple{background:#8b5cf6}.metric-trend{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:500}.metric-trend.up{color:#059669}.metric-trend.down{color:#dc2626}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-subtitle{color:#94a3b8;font-size:12px;font-weight:400}.chart-legend{display:flex;gap:12px;align-items:center;font-size:12px;color:#64748b}.chart-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.chart-legend .dot.blue{background:#1e3a5f}.chart-legend .dot.amber{background:#f0a85c}.bar-chart{display:flex;align-items:flex-end;justify-content:center;gap:24px;padding:20px 10px 10px;min-height:180px}.bar-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.bar-col{width:36px;height:150px;display:flex;align-items:flex-end;border-radius:6px 6px 0 0;background:#f8fafc}.bar-fill{width:100%;border-radius:6px 6px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;transition:height .5s ease;min-height:4px}.bar-fill span{color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.bar-label{color:#64748b;font-size:12px}.kp-bar .progress-track{width:100%;height:8px;border-radius:4px;background:#f1f5f9;overflow:hidden;margin-top:6px}.kp-bar .progress-fill{height:100%;border-radius:4px;transition:width .5s ease}.kp-bar strong.weak{color:#ef4444}.kp-bar strong.strong{color:#10b981}.kp-bar strong.normal{color:#1e3a5f}.wrong-list-v2{display:grid;gap:0}.wrong-item{display:grid;grid-template-columns:28px minmax(0,1fr) 80px;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #f1f5f9}.wrong-item:last-child{border-bottom:none}.wrong-rank{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;font-size:13px;font-weight:800;color:#fff;background:#1e3a5f}.wrong-item:nth-child(1) .wrong-rank{background:#ef4444}.wrong-item:nth-child(2) .wrong-rank{background:#f59e0b}.wrong-item:nth-child(3) .wrong-rank{background:#f0a85c}.wrong-item:nth-child(4) .wrong-rank{background:#94a3b8}.wrong-item:nth-child(5) .wrong-rank{background:#94a3b8}.wrong-info strong{display:block;font-size:13px;color:#0f172a;line-height:1.4}.wrong-info span{display:block;margin-top:2px;color:#94a3b8;font-size:11px}.wrong-rate{display:flex;align-items:center;gap:8px}.mini-track{flex:1;height:4px;border-radius:2px;background:#f1f5f9;overflow:hidden}.mini-fill{height:100%;border-radius:2px;background:#ef4444}.wrong-rate>span{color:#ef4444;font-size:13px;font-weight:700;min-width:32px;text-align:right}.line-chart{width:100%;height:180px}.radar-wrap{display:flex;justify-content:center;padding:10px 0}.radar-chart{width:200px;height:200px}
