@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#142238;--navy2:#1b2e48;--blue:#3268e8;--text:#1c2c44;--muted:#8490a2;--line:#e8edf5;--bg:#f5f7fb;--green:#1caa7a}*{box-sizing:border-box}body{margin:0;font:14px/1.55 Manrope,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--navy);color:#dbe5f4;padding:30px 17px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;color:#fff;line-height:1.2;padding:0 8px}.brand small{display:block;letter-spacing:2.5px;font-size:9px;color:#91a5c1;margin-top:6px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#3a70f3;color:white;font-size:15px;letter-spacing:-1px}.side-label{font-size:10px;letter-spacing:1.6px;color:#7890af;margin:55px 12px 15px;font-weight:800}.nav{display:grid;gap:7px}.nav a{padding:12px 14px;border-radius:10px;font-size:12px;font-weight:700;color:#b6c4d8;display:flex;align-items:center;gap:14px}.nav a span{font-size:18px;width:22px;text-align:center}.nav a:hover,.nav a.active{background:#2a4165;color:#fff}.side-bottom{margin-top:auto;padding:20px 8px 4px;display:flex;align-items:center;gap:10px;border-top:1px solid #31435d}.side-avatar,.user-avatar{height:36px;width:36px;border-radius:11px;background:#3b5b87;color:white;display:grid;place-items:center;font-weight:800}.side-person b,.side-person small{display:block}.side-person b{font-size:12px}.side-person small{font-size:10px;color:#8fa7c7}.workspace{flex:1;min-width:0}.topbar{height:87px;padding:16px 35px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.topbar-kicker,.eyebrow{color:#7f8fa5;font-size:10px;font-weight:800;letter-spacing:1.6px}.topbar-name{font-size:15px;font-weight:800;margin-top:5px}.topbar-dot{font-size:8px;color:#20b987;margin-left:12px}.status{font-size:11px;color:#31a37d;font-weight:600}.content{max-width:1510px;margin:auto;padding:32px 35px 55px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:27px}.page-head h1{font-size:29px;letter-spacing:-1px;margin:5px 0}.muted{color:var(--muted);margin:0}.head-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn-primary{background:var(--blue);color:white}.btn-primary:hover{background:#2057d5}.btn-outline{border:1px solid #dbe3ef;background:white;color:#34465f}.btn-ghost{background:#f2f5fa;color:#50617a}.btn-small{font-size:10px;padding:8px 11px}.btn-full{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:21px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 20px #253e6807}.metric{padding:20px 21px}.metric-label{font-size:11px;color:#7d8ba0;font-weight:700;display:flex;align-items:center;justify-content:space-between}.metric-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;font-size:16px}.metric-icon.blue{background:#e8efff;color:#3268e8}.metric-icon.green{background:#e6f8f1;color:#1fa87b}.metric-icon.violet{background:#f0ebff;color:#9069dd}.metric-icon.amber{background:#fff3e1;color:#e5a048}.metric-value{font-size:31px;font-weight:800;letter-spacing:-1px;margin:8px 0}.metric-value small{font-size:15px;color:#a3adbc}.metric-foot{font-size:11px;color:#9ba7b8}.progress{height:7px;border-radius:9px;background:#edf1f7;overflow:hidden;margin:13px 0 7px}.progress span{display:block;background:#2bbd8b;height:100%;border-radius:9px}.layout-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:20px;margin-bottom:20px}.panel{padding:23px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.panel h2{font-size:16px;letter-spacing:-.4px;margin:0 0 4px}.panel-heading .muted{font-size:11px}.tag{display:inline-flex;align-items:center;padding:6px 9px;border-radius:7px;background:#eff4ff;color:#4c70bb;font-size:10px;font-weight:800;white-space:nowrap}.tag.tiny{margin-left:7px;padding:3px 7px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#f7f9fc;border:1px solid #edf1f7;border-radius:11px;padding:13px;margin-bottom:23px}.filters label{flex:1;min-width:95px}.filters .btn{margin-bottom:0}label{display:block;font-size:11px;font-weight:800;color:#50617b;margin-bottom:14px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #dfe6f0;background:#fff;border-radius:9px;padding:10px 12px;margin-top:6px;color:#23354d;outline:none}input:focus,select:focus,textarea:focus{border-color:#668eee;box-shadow:0 0 0 3px #3268e815}textarea{min-height:100px;resize:vertical}.section-label{font-size:10px;font-weight:800;color:#8292a7;letter-spacing:1.4px;margin-bottom:13px}.section-gap{margin-top:24px}.questions{display:grid;gap:0}.question{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid #edf1f6}.question-num{height:29px;width:29px;flex-shrink:0;border-radius:8px;display:grid;place-items:center;background:#edf3ff;color:#4973cb;font-size:11px;font-weight:800}.question b{font-size:12px}.question p{font-size:11px;color:#8a96a8;margin:5px 0 0}.task-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.task{background:#f7f9fd;border:1px solid #eaf0f7;border-radius:10px;padding:14px}.task-label{font-size:10px;color:#5377b5;font-weight:800}.task p{font-size:11px;color:#73829a}.location-list{display:grid}.location-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f6}.location-dot{height:9px;width:9px;background:#a8c1ef;border-radius:50%}.location-name{font-size:12px;font-weight:700;flex:1}.pill{font-size:10px;font-weight:800;padding:6px 9px;border-radius:20px;white-space:nowrap}.pill.success{background:#e6f8ef;color:#15946d}.pill.neutral{background:#f0f3f8;color:#8390a2}.note{background:#f3f7ff;border-radius:10px;color:#6c84ad;font-size:11px;padding:13px;margin-top:17px}.heat-panel{margin-top:20px}.legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#7e8ca0}.legend span{display:flex;align-items:center;gap:5px}.sq{height:11px;width:11px;border-radius:3px;display:inline-block}.sq.yes,.heatmap td.yes{background:#d8f6e8;color:#16956c}.sq.no,.heatmap td.no{background:#ffe7e6;color:#d77d7d}.sq.future,.heatmap td.future{background:#f1f4f8;color:#a7b0bf}.tablewrap{overflow:auto;max-width:100%}table{border-collapse:separate;border-spacing:3px;width:100%}.heatmap th{font-size:10px;color:#8593a5;white-space:nowrap}.heatmap thead th{min-width:23px}.heatmap tbody th{text-align:left;position:sticky;left:0;background:white;z-index:1;padding-right:12px;min-width:115px}.heatmap td{text-align:center;min-width:22px;height:26px;border-radius:5px;font-size:10px;font-weight:800}.data-table{border-spacing:0}.data-table th,.data-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf1f6;font-size:11px;white-space:nowrap}.data-table th{color:#8390a2;background:#f9fafc}.footer{font-size:10px;text-align:center;color:#9ca9ba;padding:0 25px 20px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.edit-panel{max-width:850px}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{width:auto}.back{display:block;font-size:12px;color:#416bc3;margin-bottom:17px}.program-link{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f6;padding:11px 0;font-size:12px;font-weight:700}.user-block{padding:15px 0;border-top:1px solid #edf1f6}.user-title{display:flex;gap:11px;align-items:center}.user-title .pill{margin-left:auto}.small{font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.chip{background:#f5f7fa;border:1px solid #e1e7ef;color:#66768c;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800}.chip.selected{background:#eaf2ff;color:#3469d3;border-color:#c5d8ff}.revoke-form{display:flex;gap:6px;align-items:center}.revoke-form input{min-width:135px;margin:0}.empty{padding:20px;text-align:center;color:#9aa6b8}.auth-page{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:linear-gradient(145deg,#142238,#233c60);color:white;display:flex;flex-direction:column;justify-content:space-between;padding:65px 10%}.login-intro h1{font-size:clamp(29px,3.4vw,51px);line-height:1.25;letter-spacing:-2px;margin:18px 0}.login-intro p{max-width:440px;color:#aebed3;font-size:14px}.login-intro .eyebrow{color:#8fadd9}.intro-bottom{font-size:11px;color:#8fa8c8}.login-area{display:grid;place-items:center;padding:35px}.login-card{width:min(100%,380px)}.login-card h2{font-size:29px;margin:18px 0 4px}.login-card>.muted{margin-bottom:30px}.login-card label{margin-bottom:18px}.login-card input{padding:13px}.login-hint{text-align:center;color:#9da9ba;font-size:11px;margin-top:22px}.error{background:#fff0f0;color:#bc3e4d;padding:12px;border-radius:8px;margin:15px 0}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.layout-main{grid-template-columns:1fr}.sidebar{width:210px}.content{padding:25px 22px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;min-height:0;width:100%;padding:13px 15px}.sidebar .brand{font-size:13px}.brand-mark{width:33px;height:33px}.side-label,.side-bottom{display:none}.nav{display:flex;margin-top:12px;overflow:auto}.nav a{white-space:nowrap;padding:8px 10px}.topbar{padding:12px 17px;height:auto}.topbar-kicker{display:none}.content{padding:21px 14px}.page-head{align-items:start;flex-direction:column}.page-head h1{font-size:23px}.metrics{gap:9px}.metric{padding:14px}.metric-value{font-size:25px}.panel{padding:16px}.task-grid,.editor-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-intro{padding:28px;min-height:260px}.login-intro h1{font-size:27px}.login-intro .intro-bottom{display:none}.login-area{padding:35px 20px}.heatmap tbody th{min-width:105px}.legend{margin-top:10px}.panel-heading{flex-wrap:wrap}}@media print{.sidebar,.topbar,.footer,.btn,form,.head-actions{display:none!important}.workspace,.content{padding:0!important}.panel,.metric{box-shadow:none}body{background:white}}/* Original-inspired learning page, scoped to avoid admin/login regression */
body.reference-page{margin:0;background:#f5f1e9;color:#151b24;font-family:Arial,Helvetica,sans-serif;font-size:14px}.reference-page *{box-sizing:border-box}.reference-page .ref-wrap{max-width:960px;margin:0 auto;padding:22px 28px 32px}.ref-top{display:flex;justify-content:space-between;align-items:flex-start;font-size:11px;letter-spacing:.03em}.ref-top strong{display:block;font-size:12px}.ref-top small{display:block;font-size:9px;color:#74716c}.ref-top-right{color:#9b968f;font-size:10px}.ref-title{font-size:clamp(38px,6vw,58px);letter-spacing:-.055em;line-height:1;margin:30px 0 8px;font-weight:900}.ref-sub{color:#7b746b;font-size:12px;margin:0 0 26px}.ref-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:24px}.ref-btn{background:white;border:1px solid #d6cfc3;border-radius:9px;color:#161c24;padding:11px 15px;font-size:12px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;white-space:nowrap}.ref-btn:hover{border-color:#9d8f78;background:#fffdf8}.ref-btn:disabled{opacity:.45;cursor:not-allowed}.ref-date-form{display:flex;gap:6px}.ref-date-form input{background:white;border:1px solid #d6cfc3;border-radius:9px;padding:8px 9px;font-size:12px;color:#111}.ref-lesson{background:#f8e6ab;border:1px solid #ead89d;border-radius:17px;padding:27px 28px 24px;box-shadow:0 3px 12px #c6b78318}.ref-kicker{font-size:11px;font-weight:800;letter-spacing:.07em}.ref-lesson h2{font-size:27px;line-height:1.2;margin:13px 0 8px;font-weight:800}.ref-lesson-note{font-size:12px;color:#756b54;margin:0 0 20px}.ref-question{border-bottom:1px solid #e8cf8c}.ref-question summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;min-height:58px;font-size:14px;font-weight:700;padding:10px 0}.ref-question summary::-webkit-details-marker{display:none}.ref-number{background:#fff9e9;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;font-size:12px}.ref-answer{padding:0 8px 17px 44px;color:#51462e;line-height:1.55;white-space:pre-wrap}.ref-practice,.ref-task{padding:18px 20px;border-radius:13px;margin-top:14px;font-size:13px}.ref-practice{background:#fce9dc}.ref-task{background:#e8f3f1}.ref-practice strong,.ref-task strong{font-size:13px}.ref-practice p,.ref-task p{margin:8px 0 0;line-height:1.45}.ref-check{margin:18px 0 32px}.ref-check form{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ref-check label{font-size:12px}.ref-check select{padding:8px 9px;background:#fff;border:1px solid #d6cfc3;border-radius:5px;max-width:190px}.ref-check .ref-mark{padding:8px 11px}.ref-check p{font-size:11px;color:#9b766b;margin-top:10px}.ref-mark-state{font-size:12px;color:#427b60}.ref-calendar-title{font-size:24px;margin:0 0 17px;font-weight:800}.ref-weekdays,.ref-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.ref-weekdays{margin-bottom:9px}.ref-weekdays span{text-align:center;font-size:11px;color:#79726b}.ref-day{height:78px;border:1px solid #d8d0c4;background:#fff;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-decoration:none;color:#171a1f;position:relative}.ref-day:hover{border-color:#333}.ref-day.selected{border:2px solid #1c1d1d}.ref-day strong{font-size:13px}.ref-day small{font-size:10px;border-radius:4px;padding:3px 6px}.block-1{background:#ffe7b1}.block-2{background:#f7d7df}.block-3{background:#dfe9f8}.block-4{background:#e6eed3}.block-5{background:#f0ddf7}.block-6{background:#f8e5d1}.block-7{background:#d7f0ee}.block-8{background:#f1def2}.day-completed{position:absolute;right:5px;top:4px;color:#237950;font-weight:700}.ref-bottom{border-top:1px solid #ddd6cc;margin-top:44px;padding-top:24px}.ref-bottom h3{font-size:15px}.ref-bottom p{font-size:13px;line-height:1.6;color:#725a4a}.ref-bottom-actions{display:flex;gap:8px;flex-wrap:wrap}.ref-bottom-actions form{margin:0}.ref-bottom .ref-fine{font-size:11px;color:#a2786b;margin-top:14px}@media(max-width:600px){.reference-page .ref-wrap{padding:16px}.ref-title{font-size:38px;margin-top:24px}.ref-lesson{padding:18px 15px}.ref-lesson h2{font-size:22px}.ref-question summary{font-size:12px;gap:9px}.ref-weekdays,.ref-days{gap:4px}.ref-day{height:59px}.ref-day small{font-size:8px;padding:2px 3px}.ref-top-right{font-size:9px}.ref-date-form #date-go{display:none}}@media print{body.reference-page{background:white}.ref-toolbar,.ref-check,.ref-bottom-actions,.ref-calendar,.ref-weekdays,.ref-calendar-title,.ref-top-right{display:none!important}.ref-question:not([open]) .ref-answer{display:block}.ref-lesson{border:1px solid #ddd;box-shadow:none}}

.material-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:16px 0 0}.material-days a{text-align:center}.import-preview{margin-top:24px;padding:18px;border-radius:12px;background:#edf7f0}.import-error{padding:12px;background:#fff0f0;color:#9c2626;border-radius:8px}.import-ok{padding:12px;background:#e7f7e9;color:#276334;border-radius:8px}
