:root{color:#183246;font-synthesis:none;--navy:#123b58;--navy-2:#0c2d44;--teal:#0e7a78;--teal-soft:#e3f3f1;--orange:#e47b35;--orange-soft:#fff0e5;--line:#d9e2e6;--muted:#6f808c;--white:#fff;background:#f3f6f7;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{background:#f3f6f7;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh}.sidebar{background:var(--navy-2);color:#fff;z-index:20;flex-direction:column;width:236px;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto}.brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.brand-mark{background:var(--orange);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font-size:23px;font-weight:800;display:grid;box-shadow:0 9px 26px #0000002e}.brand-mark.large{border-radius:18px;width:58px;height:58px;font-size:30px}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{color:#9fc0d2;margin-top:4px;font-size:11px}.sidebar nav{gap:7px;display:grid}.nav-item{color:#b9ccd8;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;padding:12px 13px;transition:all .2s;display:flex}.nav-item span{background:#ffffff0f;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.nav-item:hover,.nav-item.active{color:#fff;background:#1b526f}.nav-item.active span{background:var(--orange)}.sidebar-note{color:#a9c5d5;background:#ffffff12;border:1px solid #ffffff14;border-radius:14px;gap:7px;margin-top:auto;padding:16px;font-size:12px;display:grid}.sidebar-note strong{color:#fff;font-size:13px}.main{min-height:100vh;margin-left:236px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#ffffffe0;justify-content:space-between;align-items:center;height:94px;padding:20px 34px;display:flex;position:-webkit-sticky;position:sticky;top:0}.topbar h1{margin:2px 0 0;font-size:23px}.eyebrow{letter-spacing:.18em;color:var(--teal);text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.eyebrow.light{color:#a8d9d6}.top-actions{align-items:center;gap:12px;display:flex}.teacher-chip{align-items:center;gap:8px;font-size:13px;display:flex}.teacher-chip b{background:var(--teal-soft);width:32px;height:32px;color:var(--teal);border-radius:50%;place-items:center;display:grid}.text-button{color:var(--muted);background:0 0;border:0}.page-section{max-width:1480px;margin:0 auto;padding:30px 34px 50px}.hero-panel{color:#fff;background:linear-gradient(130deg,#0d334d 0%,#145d68 70%,#0e7a78 100%);border-radius:22px;grid-template-columns:1.6fr .9fr;gap:30px;padding:34px 38px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 48px #123b582e}.hero-panel:after{content:"";border:58px solid #ffffff0d;border-radius:50%;width:340px;height:340px;position:absolute;top:-170px;right:-130px}.hero-panel h2{max-width:680px;margin:9px 0 12px;font-size:30px}.hero-panel p{color:#c6dde6;max-width:690px;line-height:1.7}.hero-rule{z-index:1;background:#ffffff12;border:1px solid #ffffff24;border-radius:17px;align-content:center;align-self:stretch;gap:10px;padding:22px;display:grid}.hero-rule b{font-size:20px}.hero-rule span{color:#cbe1e8;font-size:13px}.button{border:0;border-radius:10px;padding:10px 16px;font-weight:700;transition:all .2s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--teal);color:#fff}.button.secondary{background:var(--orange-soft);color:#b65d24}.button.light{color:var(--navy);background:#fff;margin-top:8px}.button.ghost{color:#546b79;background:#edf2f4}.button.wide{width:100%}.button.large{padding:14px 26px;font-size:16px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.metric span,.metric small{color:var(--muted);font-size:12px}.metric strong{color:var(--navy);margin:7px 0 4px;font-size:30px;display:block}.two-col{grid-template-columns:1.2fr 1fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:17px;padding:22px;box-shadow:0 7px 24px #193b4e0a}.panel h3{margin:7px 0 0}.accent-panel{background:#fffdfa;border-color:#efdfd2}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.check-list{gap:13px;display:grid}.check-list>div{align-items:flex-start;gap:12px;display:flex}.check-list>div>span{background:var(--teal-soft);width:30px;height:30px;color:var(--teal);border-radius:9px;flex:0 0 30px;place-items:center;font-weight:800;display:grid}.check-list b{font-size:14px}.check-list p{color:var(--muted);margin:3px 0 0;font-size:12px}.progress-row{justify-content:space-between;font-size:13px;display:flex}.progress{background:#f3e6dc;border-radius:20px;height:9px;margin:10px 0 14px;overflow:hidden}.progress i{background:var(--orange);border-radius:inherit;height:100%;display:block}.muted{font-size:12px;line-height:1.6;color:var(--muted)!important}.section-actions{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.section-actions h2{margin-bottom:5px}.section-actions p{color:var(--muted);margin:0;font-size:13px}.form-grid{grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:18px;display:grid}.form-grid label,.form-stack label,.evidence-panel label{color:#506775;gap:7px;font-size:12px;font-weight:700;display:grid}.span-2{grid-column:span 2}.check{align-items:center;grid-template-columns:auto 1fr!important;display:flex!important}.form-actions{justify-content:flex-end;gap:10px;display:flex}input,select,textarea{color:#183246;background:#fff;border:1px solid #cfdadf;border-radius:9px;outline:none;width:100%;padding:10px 11px}.form-grid input:focus,select:focus,textarea:focus,.form-stack input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0e7a781a}.table-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{color:#677985;text-align:left;letter-spacing:.04em;background:#f7f9fa;font-size:11px}th,td{border-bottom:1px solid #e5ebee;padding:14px 16px}td{font-size:13px}td small{color:var(--muted);margin-top:4px;display:block}.pill{border-radius:999px;align-items:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.pill.success{color:#19704b;background:#e3f4ec}.pill.warning{background:var(--orange-soft);color:#a8551f}.pill.neutral{color:#60717d;background:#edf1f3}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:12px;display:flex}.filter-bar select{max-width:170px}.filter-bar span{color:var(--muted);margin-left:auto;font-size:12px}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.lesson-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:15px;padding:18px;transition:all .2s}.lesson-card:hover{border-color:#84bbb8;transform:translateY(-2px);box-shadow:0 12px 30px #16465414}.lesson-meta{color:var(--teal);justify-content:space-between;font-size:10px;font-weight:800;display:flex}.lesson-card h3{margin:12px 0 9px;font-size:17px}.lesson-card>p{color:#627582;min-height:58px;font-size:12px;line-height:1.6}.lesson-footer{justify-content:space-between;align-items:center;display:flex}.lesson-footer b{color:var(--navy);font-size:11px}.start-class-grid{grid-template-columns:1fr 1fr;gap:18px;max-width:960px;margin:40px auto 20px;display:grid}.start-card{min-height:230px;position:relative}.step-number{color:#bdd2dc;font-size:42px;font-weight:900}.start-card h3{margin:-5px 0 20px}.selection-note{background:#f5f8f9;border-radius:10px;gap:6px;margin-top:14px;padding:13px;font-size:12px;display:grid}.start-actions{justify-content:center;display:flex}.classroom-header{background:var(--navy);color:#fff;border-radius:17px 17px 0 0;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.classroom-header h2{margin:7px 0 6px}.classroom-header p{color:#bcd3df;margin:0;font-size:12px}.live-dot{color:#84d9c7;font-size:10px;font-weight:800}.classroom-layout{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 17px 17px;grid-template-columns:200px minmax(0,1fr) 330px;min-height:650px;display:grid;overflow:hidden}.stage-rail{border-right:1px solid var(--line);background:#f5f8f9;padding:16px 12px}.stage-item{text-align:left;color:#647683;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 8px;display:flex}.stage-item>span{border:1px solid #cdd9de;border-radius:50%;place-items:center;width:29px;height:29px;font-weight:800;display:grid}.stage-item b,.stage-item small{display:block}.stage-item b{font-size:12px}.stage-item small{color:#97a5ad;margin-top:3px;font-size:9px}.stage-item.active{color:var(--navy);background:#fff;box-shadow:0 5px 15px #18324612}.stage-item.active>span{background:var(--orange);border-color:var(--orange);color:#fff}.stage-item.done>span{background:var(--teal);border-color:var(--teal);color:#fff}.teaching-board{padding:30px;overflow:auto}.board-label{color:var(--teal);justify-content:space-between;font-size:11px;font-weight:800;display:flex}.teaching-board>h2{margin:12px 0 25px;font-size:27px}.teaching-block{border:1px solid var(--line);border-radius:13px;margin-bottom:12px;padding:18px}.teaching-block.primary-block{background:#f0f8f7;border-color:#c5e2df}.teaching-block small,.question-box small{color:var(--teal);font-weight:800}.teaching-block p{margin:9px 0 0;line-height:1.7}.evidence-target{background:var(--orange-soft);border-radius:11px;justify-content:space-between;gap:20px;padding:13px 16px;font-size:12px;display:flex}.evidence-target span{color:#a45b2c}.question-box{border-top:1px dashed #cad7dc;margin-top:18px;padding-top:18px}.question-box>p{font-size:18px;line-height:1.6}.question-box details{background:#f6f8f9;border-radius:10px;padding:12px;font-size:12px}.question-box summary{cursor:pointer;font-weight:800}.evidence-panel{border-left:1px solid var(--line);padding:22px;overflow:auto}.evidence-panel h3{margin:6px 0 14px}.outcome-buttons{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px;display:grid}.outcome-buttons button{color:#627480;background:#fff;border:1px solid #d6e0e4;border-radius:8px;padding:8px 5px;font-size:10px}.outcome-buttons button.active{border-color:var(--teal);color:var(--teal);background:var(--teal-soft);font-weight:800}.evidence-panel label{margin-bottom:11px}.assistant-box{background:#f7fafb;border:1px solid #d8e3e6;border-radius:12px;margin:14px 0;padding:13px}.assistant-box>div{gap:3px;display:grid}.assistant-box span{color:var(--teal);font-size:12px;font-weight:800}.assistant-box small{color:var(--muted)}.assistant-box button{background:var(--navy);color:#fff;border:0;border-radius:8px;width:100%;margin:10px 0;padding:8px;font-size:11px}.assistant-box p{margin:0;font-size:11px;line-height:1.6}.evidence-panel .button{margin-top:7px}.saved-count{text-align:center;color:var(--muted);margin-top:10px;display:block}.empty-state{text-align:center;border:1px solid var(--line);background:#fff;border-radius:16px;align-content:center;place-items:center;min-height:440px;display:grid}.empty-state>span{background:var(--teal-soft);width:60px;height:60px;color:var(--teal);border-radius:18px;place-items:center;font-size:24px;font-weight:800;display:grid}.empty-state h3{margin:16px 0 7px}.empty-state p{color:var(--muted);max-width:430px;font-size:12px}.score{border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.score.good{color:#19704b;background:#e2f4eb}.score.needs-work{background:var(--orange-soft);color:#a8551f}.drawer-backdrop{z-index:50;background:#091d2975;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.drawer{background:#fff;width:min(620px,92vw);height:100%;padding:34px;position:relative;overflow:auto;box-shadow:-20px 0 50px #00000029}.drawer-close{color:#60727d;background:#edf2f4;border:0;border-radius:50%;width:34px;height:34px;font-size:21px;position:absolute;top:22px;right:24px}.drawer h2{margin:8px 0 12px;font-size:27px}.drawer-status{color:var(--muted);align-items:center;gap:12px;margin-bottom:25px;font-size:12px;display:flex}.drawer section{border-top:1px solid #e5ebee;padding:15px 0}.drawer section small{color:var(--teal);font-weight:800}.drawer section p{margin:7px 0 0;font-size:13px;line-height:1.65}.drawer-subtitle{margin:24px 0 12px}.stage-preview{border:1px solid var(--line);border-radius:11px;margin-bottom:8px;padding:13px}.stage-preview b{font-size:13px}.stage-preview span{float:right;color:var(--teal);font-size:11px;font-weight:800}.stage-preview p{color:#5f7380;margin:8px 0 0;font-size:12px;line-height:1.6}.index-warning{background:var(--orange-soft);color:#8b4b24;border-radius:12px;margin-top:22px;padding:17px}.index-warning p{margin:7px 0 0;font-size:12px;line-height:1.6}.drawer .button:disabled{cursor:not-allowed;opacity:.58}.drawer-question-section{margin-top:4px}.drawer-question-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.drawer-question-heading h3{margin:4px 0 0;font-size:19px}.drawer-question-list{gap:10px;margin-top:13px;display:grid}.drawer-question-card{background:#f3faf9;border:1px solid #c8dedc;border-radius:13px;padding:15px}.drawer-question-meta{color:var(--teal);justify-content:space-between;gap:12px;font-size:12px;display:flex}.drawer-question-meta span{color:#647985}.drawer .drawer-question-stem{color:var(--navy);margin-top:12px;font-size:16px;line-height:1.7}.drawer-question-card details{background:#fff;border:1px solid #dbe8e8;border-radius:9px;margin-top:12px;padding:11px 12px}.drawer-question-card summary{cursor:pointer;color:var(--teal);font-size:12px;font-weight:800}.drawer-question-card details p{font-size:12px}.question-hints{color:#5f7380;margin:9px 0 0;padding-left:22px;font-size:12px;line-height:1.7}.question-missing{background:var(--orange-soft);color:#8b4b24;border-radius:11px;margin-top:13px;padding:14px}.question-missing p{margin-top:5px}.toast{color:#fff;z-index:100;background:#16384c;border-radius:10px;padding:11px 17px;font-size:13px;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0003}.loading-state{min-height:520px;color:var(--muted);align-content:center;place-items:center;display:grid}.loader{border:3px solid #d9e6e7;border-top-color:var(--teal);border-radius:50%;width:34px;height:34px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:#f2f6f7;grid-template-columns:1.25fr 1fr;min-height:100vh;display:grid}.auth-brand{color:#fff;background:linear-gradient(145deg,#0b2f48,#0e6d70);align-content:center;padding:9vw;display:grid;position:relative;overflow:hidden}.auth-brand:after{content:"";border:70px solid #ffffff0d;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-180px}.auth-brand h1{max-width:720px;margin:18px 0;font-size:max(34px,min(4vw,58px));line-height:1.14}.auth-brand>p:not(.eyebrow){color:#c6dde4;max-width:650px;line-height:1.8}.auth-points{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.auth-points span{border:1px solid #ffffff2b;border-radius:999px;padding:8px 11px;font-size:11px}.auth-card{border:1px solid var(--line);background:#fff;border-radius:20px;align-self:center;width:min(430px,100% - 48px);margin:auto;padding:32px;box-shadow:0 20px 50px #1435461f}.auth-card h2{margin:8px 0}.form-stack{gap:14px;margin-top:24px;display:grid}.error-text{color:#b83d2e;margin-top:13px;font-size:12px}@media (max-width:1100px){.metric-grid,.lesson-grid{grid-template-columns:repeat(2,1fr)}.classroom-layout{grid-template-columns:160px 1fr}.evidence-panel{border-left:0;border-top:1px solid var(--line);grid-column:span 2}.outcome-buttons{max-width:420px}}@media (max-width:760px){.sidebar{width:auto;min-height:auto;padding:14px;position:static}.sidebar .brand{padding-bottom:14px}.sidebar nav{grid-template-columns:repeat(5,minmax(58px,1fr));overflow:auto}.nav-item{text-align:center;justify-content:center;gap:3px;padding:8px 4px;font-size:10px;display:grid}.nav-item span{margin:auto}.sidebar-note{display:none}.main{margin-left:0}.topbar{height:auto;padding:16px 18px;position:static}.top-actions .teacher-chip,.top-actions .text-button{display:none}.page-section{padding:20px 16px 36px}.hero-panel{grid-template-columns:1fr;padding:26px 22px}.hero-panel h2{font-size:24px}.metric-grid,.two-col,.start-class-grid,.form-grid,.lesson-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.section-actions{align-items:flex-start}.filter-bar{flex-wrap:wrap}.filter-bar select{flex:42%;max-width:none}.filter-bar span{width:100%;margin-left:0}.classroom-layout{grid-template-columns:1fr}.stage-rail{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto}.stage-item{min-width:140px}.evidence-panel{grid-column:span 1}.teaching-board{padding:20px}.auth-page{grid-template-columns:1fr}.auth-brand{min-height:46vh;padding:55px 26px}.auth-brand h1{font-size:34px}.auth-card{z-index:2;margin:-35px auto 35px}.classroom-header{border-radius:14px}.classroom-header .button{display:none}}
