@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--ink:#16243a;--muted:#7a8495;--blue:#315edc;--border:#e7ebf2;--bg:#f6f8fc;--font:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #83a8ff}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{letter-spacing:-1.1px;font-size:30px;font-weight:800;line-height:1.25}h3{letter-spacing:-.4px;font-size:17px;font-weight:750}small{font-size:12px}p{line-height:1.65}svg{flex-shrink:0}button{transition:background .16s,transform .16s,box-shadow .16s}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--border);z-index:30;background:#fff;flex-direction:column;width:236px;padding:36px 18px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.7px;align-items:center;gap:10px;margin:0 14px 45px;font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:800;line-height:1;display:flex}.brand-icon{color:#fff;background:#315edc;border-radius:13px 13px 13px 3px;place-items:center;width:43px;height:46px;display:grid}.brand small{font-family:var(--font);letter-spacing:2.8px;color:#64758d;margin-top:8px;font-size:8px;font-weight:700;display:block}.brand-dot{color:var(--blue)}.side-label{letter-spacing:1.7px;color:#9aa3b2;margin:0 15px 14px;font-size:9px;font-weight:700}nav{flex-direction:column;gap:6px;display:flex}.nav-item{text-align:left;color:#738095;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;height:47px;padding:0 14px;font-size:13px;font-weight:550;display:flex;position:relative}.nav-item:hover{background:#f7f9fc}.nav-item.active{color:#315edc;background:#edf2ff;font-weight:700}.nav-item.active:before{content:"";background:#315edc;border-radius:0 3px 3px 0;width:3px;height:21px;position:absolute;left:-18px}.nav-pill{background:#dce7ff;border-radius:5px;margin-left:auto;padding:3px 6px;font-size:10px}.sidebar-bottom{border-top:1px solid var(--border);margin:55px 11px 26px;padding:20px 0 0}.mini-icon{color:#5974b0;background:#f0f4fb;border-radius:10px;place-items:center;width:36px;height:36px;margin-bottom:15px;display:grid}.sidebar-bottom strong{font-size:12px}.sidebar-bottom p{color:var(--muted);margin:6px 0 14px;font-size:11px}.side-help{color:var(--blue);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:10px;display:flex}.side-user{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:20px 4px;display:flex}.avatar{color:#315edc;background:#eaf0fc;border:1px solid #d8e3fc;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.avatar.small{width:32px;height:32px;font-size:12px}.side-user strong{white-space:nowrap;text-overflow:ellipsis;max-width:125px;font-size:11px;display:block;overflow:hidden}.side-user small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.side-user .icon-button{display:none}.main-shell{margin-left:236px}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 44px;display:flex}.breadcrumb{color:#9aa4b3;align-items:center;gap:14px;font-size:11px;display:flex}.breadcrumb strong{color:#56647b;font-weight:500}.top-actions{align-items:center;gap:22px;display:flex}.save-indicator{color:#82928c;align-items:center;gap:7px;font-size:10px;display:flex}.save-indicator svg{color:#5d9c80}.save-indicator.unsaved{color:#b17b27}.mobile-menu{display:none!important}main{max-width:1530px;margin:auto;padding:35px 44px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.5px;color:#8491a6;margin-bottom:9px;font-size:9px;font-weight:700;display:block}.page-heading p{color:var(--muted);margin-top:10px;font-size:12px}.week-control{color:#64738a;background:#fff;border:1px solid #dfe5ee;border-radius:7px;align-items:center;gap:9px;padding:4px 10px;display:flex}.week-control select{color:#34445e;background:0 0;border:0;width:220px;padding:9px 2px;font-size:11px}.dashboard-top{grid-template-columns:minmax(0,1fr) 265px;gap:22px;display:grid}.hero{color:#fff;background:#193b8e;border-radius:14px;min-height:324px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;padding:31px 34px;position:relative}.hero-label{letter-spacing:1.8px;color:#b6c9f2;align-items:center;gap:8px;font-size:8px;font-weight:650;display:flex}.hero-label span{background:#90b8ff;border-radius:50%;width:5px;height:5px}.hero h2{letter-spacing:-1px;margin:18px 0 13px;font-size:30px;font-weight:650;line-height:1.35}.hero h2 em{color:#b4ccff;font-style:normal}.hero p{color:#acbfe5;font-size:10px;line-height:1.8}.hero .button{margin-top:23px}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:39px;padding:10px 15px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:#315edc;box-shadow:0 3px 7px #315edc12}.button.primary:hover{background:#234ec5}.button.white{color:#244a98;background:#fff;min-height:37px;font-size:10px;box-shadow:0 3px 10px #0001}.button.secondary{color:#53617a;background:#fff;border-color:#dce3ef}.button.secondary:hover{background:#f3f6ff}.button.ghost{color:#6a7b96;background:0 0}.button.full{width:100%;margin-bottom:10px}.button.centered{margin:0 auto 30px;display:flex}.hero-art{width:220px;height:260px;position:absolute;top:57px;right:16px;transform:rotate(-7deg)}.orbit{border:1px solid #ffffff13;border-radius:50%;width:330px;height:330px;position:absolute;top:-32px;left:-33px}.orbit-two{width:430px;height:430px;top:-82px;left:-83px}.paper-back{background:#4966a1;border-radius:9px;width:148px;height:204px;position:absolute;top:24px;left:42px;transform:rotate(17deg)}.paper{background:#fff;border-radius:9px;width:150px;height:204px;padding:19px;position:absolute;top:20px;left:24px;box-shadow:4px 18px 40px #071d5b55}.paper-top{color:#315edc;align-items:center;gap:7px;margin-bottom:20px;display:flex}.paper-top span{letter-spacing:.5px;font-size:5px;font-weight:800;line-height:1.6}.paper-line{background:#dce4ef;border-radius:2px;width:80%;height:4px;margin:9px 0}.paper-line.wide{background:#b1c3e6;width:95%}.paper-line.short{width:55%}.paper-block{color:#315edc;background:#eef3fe;border-radius:4px;flex-wrap:wrap;align-items:center;gap:5px;height:45px;margin:13px 0;padding:9px;display:flex}.paper-block div{background:#a9bfeb;width:60%;height:3px}.paper-block div:last-child{width:45%;margin-left:20px}.paper-check{color:#12573b;background:#91c9b5;border:5px solid #193b8e;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;bottom:19px;right:-20px}.art-spark{color:#b8d2ff;position:absolute}.spark-one{font-size:24px;top:0;right:17px}.spark-two{font-size:15px;bottom:20px;left:0}.week-card{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;padding:24px;display:flex}.section-kicker{color:#8390a5;letter-spacing:1.4px;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;display:flex}.section-kicker svg{color:#98a9c4}.week-big{color:#213f76;letter-spacing:-3px;align-items:center;gap:15px;margin-top:19px;font-family:Manrope,Arial,sans-serif;font-size:63px;font-weight:750;line-height:1;display:flex}.week-big span{letter-spacing:0;color:#7f8ba0;font-size:11px;line-height:1.6;font-family:var(--font);font-weight:400}.week-card>p{color:#8390a5;margin-top:10px;font-size:10px}.week-divider{border-bottom:1px dashed #e3e8f0;margin:20px 0}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.week-card .row-between{color:#7d8a9d;font-size:11px}.week-card .row-between strong{color:#405274}.muted{color:var(--muted)}.progress-track{background:#edf1f8;border-radius:4px;height:5px;margin:12px 0}.progress-track span{background:#315edc;border-radius:4px;height:100%;display:block}.week-card>small{color:#95a0af;font-size:9px}.text-button{color:var(--blue);background:0 0;border:0;align-items:center;gap:7px;padding:4px 0;font-size:11px;font-weight:600;display:inline-flex}.week-card>.text-button{margin-top:auto;padding-top:19px;font-size:10px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 28px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:18px 20px}.stat-card .row-between{color:#7b879a;font-size:10px}.stat-card svg{color:#8f9eb6}.stat-card>strong{letter-spacing:-1px;margin:11px 0 5px;font-family:Manrope,Arial,sans-serif;font-size:29px;font-weight:750;display:block}.stat-card>small{color:#9aa4b1;font-size:9px}.dashboard-bottom{grid-template-columns:minmax(0,1fr) 300px;gap:22px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:22px;overflow:hidden}.panel-header{border-bottom:1px solid #eff2f6;justify-content:space-between;align-items:center;gap:12px;padding:23px 25px;display:flex}.panel-header .eyebrow{margin-bottom:8px;font-size:8px}.panel-header h3{font-size:15px}.soft-badge{color:#8190a4;white-space:nowrap;background:#f2f5fa;border-radius:5px;padding:6px 9px;font-size:10px}.steps-list{padding:0 25px}.step{text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f3f7;align-items:center;gap:14px;width:100%;padding:19px 0;display:flex}.step:last-child{border:0}.step>span:nth-child(2){flex:1}.step strong{font-size:12px;font-weight:600;display:block}.step small{color:#9aa3b2;margin-top:5px;font-size:10px;display:block}.step>svg{color:#a1adc1}.step-num{color:#8393ad;background:#f0f4fa;border-radius:9px;place-items:center;width:33px;height:33px;font-size:10px;display:grid}.step-num.complete{color:#24835c;background:#e9f6ef}.source-card{background:#f1f5fe;border-color:#e2eaf9;flex-direction:column;padding:24px 27px;display:flex}.source-icon{color:#5479d2;background:#e1eaff;border-radius:11px;place-items:center;width:42px;height:42px;margin-bottom:18px;display:grid}.source-card .eyebrow{color:#8497bd;font-size:8px}.source-card h3{color:#35517e;letter-spacing:-.5px;font-size:20px;line-height:1.45}.source-card p{color:#8a9ab2;margin-top:10px;font-size:10px;line-height:1.8}.source-card .text-button{margin:12px 0 17px;font-size:10px}.source-note{color:#8e9eb7;border-top:1px solid #dfe7f7;align-items:center;gap:6px;margin-top:auto;padding-top:13px;font-size:8px;display:flex}.tiny-dot{background:#79a48c;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.weekly-preview .panel-header{padding-top:20px;padding-bottom:18px}.day-preview{grid-template-columns:repeat(5,1fr);gap:18px;padding:20px 25px;display:grid}.day-preview>div>strong{font-size:11px}.day-preview>div>span{color:#9aa6b7;margin-left:7px;font-size:9px}.small-lines{flex-direction:column;gap:10px;margin-top:14px;display:flex}.small-lines button{text-align:left;background:#f7f9fd;border:0;border-left:2px solid #315edc;border-radius:3px;padding:9px 11px}.small-lines b{font-size:10px;font-weight:600;display:block}.small-lines small{color:#91a0b7;margin-top:4px;font-size:8px;display:block}.empty-inline{color:#8d9bb1;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;padding:32px;font-size:12px;display:flex}.footer{color:#a5afbf;border-top:1px solid #e5eaf2;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;padding:25px 0 28px;display:flex}.footer>span:first-child{color:#62748f;letter-spacing:-.5px;font-family:Manrope;font-size:14px;font-weight:800}.footer b{letter-spacing:1.5px;margin-left:6px;font-size:8px}.footer small{font-size:9px}.footer-private{align-items:center;gap:7px;font-size:9px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;display:flex}.info-strip{color:#486caa;background:#edf3ff;border:1px solid #dce8fe;border-radius:10px;align-items:center;gap:13px;margin-bottom:22px;padding:16px 20px;font-size:12px;display:flex}.info-strip>div{flex:1}.info-strip small{color:#7c96ba;margin-top:5px;font-size:10px;line-height:1.6;display:block}.info-strip.success{color:#38866a;background:#eff8f3;border-color:#d9eee2}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}.data-table th{text-align:left;letter-spacing:.4px;color:#8b99ad;border-bottom:1px solid var(--border);background:#fbfcfe;padding:13px 20px;font-size:9px;font-weight:600}.data-table td{color:#62738b;white-space:normal;border-bottom:1px solid #f0f3f8;max-width:350px;padding:17px 20px;line-height:1.6}.data-table tr:last-child td{border:0}.data-table td small{color:#94a0b3;font-size:10px;display:block}.data-table td strong{color:#3d506d;font-weight:600}.data-table .actions{white-space:nowrap}.actions>*{vertical-align:middle;margin-right:12px}.class-tag{white-space:nowrap;background:#f2f5fb;border-radius:4px;padding:4px 8px;font-weight:700}.icon-button{color:#91a0b6;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover{background:#eef2fa}.danger{color:#bf5d6a!important}.empty-state{text-align:center;color:#98a5b8;padding:45px 25px}.empty-state>span{color:#9fb0cb;background:#f2f5fb;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:17px;display:inline-grid}.empty-state h3{color:#637794;margin-bottom:10px;font-size:15px}.empty-state p{color:#97a4b7;max-width:390px;margin:auto;font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;padding:25px;display:grid}.form-grid label,.inline-form label,.filter-row label{color:#7b8aa1;flex-direction:column;gap:8px;font-size:10px;font-weight:600;display:flex}.form-grid .span-two{grid-column:1/-1}input,select,textarea{color:#344b70;background:#fff;border:1px solid #dfe6f1;border-radius:6px;max-width:100%;padding:10px 12px;font-size:12px}input[type=checkbox]{accent-color:#315edc;width:15px;height:15px}textarea{resize:vertical;width:100%;line-height:1.7;display:block}.checkbox-label{white-space:nowrap;align-items:center;flex-direction:row!important;gap:7px!important;font-size:11px!important;display:flex!important}.short-input{max-width:75px}.details{border-top:1px solid var(--border);padding:22px 25px;font-size:11px}.details summary{cursor:pointer;color:#4b6a9e;font-weight:600}.details p{color:#8494ac;margin:12px 0;font-size:11px}.details textarea{margin:13px 0}.inline-form{flex-wrap:wrap;align-items:end;gap:16px;padding:22px 25px;display:flex}.event-line{border-top:1px solid #f1f3f7;align-items:center;gap:18px;padding:14px 25px;font-size:11px;display:flex}.event-line>span:last-of-type{color:#8d9bb0;flex:1}.event-date{color:#7185a7;background:#f2f5fb;border-radius:5px;padding:5px 9px}.curriculum-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:22px;display:grid}.filter-row{border-bottom:1px solid #eff2f7;flex-wrap:wrap;gap:15px;padding:20px 25px;display:flex}.filter-row label{flex:1;min-width:115px}.filter-row label:first-child{flex:2}.filter-row select{width:100%;min-width:0;max-width:100%;font-size:10px}.search-field>div{border:1px solid #dfe6f1;border-radius:6px;align-items:center;padding-left:10px;display:flex}.search-field input{border:0;width:100%;min-width:100px;font-size:10px}.standards-list{max-height:680px;overflow:auto}.standard-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #eef2f8;align-items:start;gap:13px;width:100%;padding:20px 25px;display:flex}.standard-row:hover{background:#f8faff}.standard-row.selected{background:#eff4ff}.standard-index{color:#8ba1c7;background:#f0f4fc;border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.standard-row.selected .standard-index{color:#fff;background:#315edc}.standard-row>span:nth-child(2){flex:1}.standard-row small{color:#96a2b4;margin-bottom:7px;font-size:9px;display:block}.standard-row strong{font-size:11px;font-weight:600;line-height:1.7}.standard-row p{color:#7b8da7;margin-top:7px;font-size:11px}.standard-row>svg{color:#a2b0c5;margin-top:7px}.selection-panel{position:sticky;top:24px}.selection-list{max-height:550px;padding:22px 25px;overflow:auto}.selection-list>div{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}.selection-list>div:last-child{border:0;margin:0;padding:0}.selection-list strong{font-size:12px;line-height:1.7;display:block}.selection-list p{color:#8a99b0;white-space:pre-wrap;margin:10px 0;font-size:11px}.selection-list label{color:#687f9e;margin-top:18px;font-size:10px;font-weight:600;display:block}.selection-list label p{font-weight:400}.selection-list small{color:#97a5b9;font-size:9px;line-height:1.7;display:block}.selection-panel>.button{width:calc(100% - 50px);margin:0 25px 20px}.source-caption{color:#95a2b7;background:#fafbfe;border-top:1px solid #eef2f8;padding:17px 25px;font-size:9px;line-height:1.7}.footnote{color:#92a1b8;padding:15px 25px;font-size:10px;line-height:1.7}.allocation{border-top:1px solid #f0f3f8;gap:30px;padding:18px 25px;font-size:11px;display:flex}.allocation>span{min-width:170px}.allocation b{font-weight:600}.allocation small{color:#8e9bb0;margin-top:6px;font-size:10px;display:block}.allocation p{color:#6e829e}.allocation em{color:#b1905e;font-size:10px;font-style:normal}.generation-banner{background:linear-gradient(115deg,#eaf1ff,#f6f9ff);border:1px solid #dce6fa;border-radius:12px;justify-content:space-between;align-items:center;gap:25px;margin-bottom:22px;padding:28px;display:flex}.generation-banner h2{color:#2e4a7c;margin:11px 0;font-size:24px}.generation-banner p{color:#8197b8;font-size:11px}.generation-buttons{flex-direction:column;gap:10px;display:flex}.day-section{margin:30px 0}.day-heading{align-items:center;gap:13px;margin-bottom:16px;display:flex}.day-heading h3{font-size:15px}.day-heading>span:not(.day-rule){color:#8b9bb2;font-size:10px}.day-rule{background:#e2e8f2;flex:1;height:1px}.day-heading small{color:#9ba8ba;font-size:10px}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.lesson-card{border:1px solid #e3e9f3;border-top:3px solid var(--class-color);text-align:left;background:#fff;border-radius:9px;padding:19px;box-shadow:0 3px 8px #243b6703}.lesson-card:hover{transform:translateY(-2px);box-shadow:0 7px 18px #243b6712}.time-label{color:#8b9bb2;align-items:center;gap:6px;font-size:9px;display:flex}.status{white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:500;display:inline-block}.status.approved{color:#398967;background:#e9f6ef}.status.draft{color:#ba8b3a;background:#fff4de}.status.empty{color:#96a3b5;background:#f1f4f9}.lesson-card h3{margin:20px 0 6px;font-size:21px}.lesson-card>p{color:#8b9ab0;font-size:10px}.lesson-topic{color:#7185a3;min-height:48px;padding:15px 0;font-size:11px;line-height:1.65}.lesson-bottom{color:#9aa8bb;border-top:1px solid #edf1f7;justify-content:space-between;align-items:center;padding-top:12px;font-size:9px;display:flex}.lesson-bottom svg{color:#718ab1}.settings-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.panel-footer{padding:0 25px 25px}.panel-body{padding:22px 25px}.panel-body>p{color:#7488a6;margin-bottom:15px;font-size:11px}.connection-feature{color:#7185a4;border-top:1px solid #f0f3f9;align-items:center;gap:8px;padding:15px 0;font-size:10px;display:flex}.connection-feature span{color:#a6b0c0;margin-left:auto;font-size:8px}.upload-button{cursor:pointer}.history-line{border-top:1px solid #edf1f7;justify-content:space-between;align-items:center;padding:10px 0;font-size:9px;display:flex}.history-line .text-button{font-size:9px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#11274675;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;flex-direction:column;width:680px;max-width:100%;max-height:92vh;display:flex;box-shadow:0 20px 100px #12264240}.modal.wide{width:900px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 27px;display:flex}.modal-header h2{font-size:18px}.modal-body{padding:0 25px 25px;overflow:auto}.modal-body>.form-grid{padding:25px 0}.modal-body>p{color:#8194af;margin:20px 0 15px;font-size:11px}.modal-body>.text-button{margin:14px 0}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:20px;padding-top:24px;display:flex}.uploaded-schedule{object-fit:contain;background:#f6f8fc;border-radius:8px;max-width:100%;max-height:250px;margin:20px auto;display:block}.editor-meta{color:#7b8eaa;flex-wrap:wrap;align-items:center;gap:12px;padding:19px 0;font-size:11px;display:flex}.editor-source{color:#6480aa;background:#f2f6fe;border-radius:8px;padding:16px 20px;font-size:11px}.editor-source>strong{color:#4d6a94;font-size:10px}.editor-source p{margin:10px 0}.editor-source small{color:#9aaac2;margin-top:5px;font-size:9px;display:block}.editor-source b{font-weight:500}.modal-body>.footnote{padding:0 0 20px}.modal-body>.details{padding:20px 0}.toast{z-index:100;color:#fff;background:#1e3559;border:1px solid #435a7d;border-radius:10px;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 40px);padding:17px 19px;font-size:12px;line-height:1.7;display:flex;position:fixed;bottom:25px;left:calc(50% + 110px);transform:translate(-50%);box-shadow:0 9px 35px #162a4933}.toast .icon-button{color:#b0c2df}.busy-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f6f9fbdc;place-items:center;display:grid;position:fixed;inset:0}.busy-overlay>div{text-align:center}.busy-overlay strong{margin:25px 0 10px;font-size:18px;display:block}.busy-overlay p{color:#8a9cb4;font-size:12px}.spinner{border:3px solid #dce6fa;border-top-color:#315edc;border-radius:50%;width:40px;height:40px;margin:auto;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.loading-panel{color:#6e86b1;background:#edf3fe;border-radius:8px;margin-bottom:20px;padding:12px 20px;font-size:11px}.print-area,.scrim{display:none}@media (min-width:1500px){.hero-art{right:45px}.hero h2{font-size:34px}.hero{min-height:350px}.hero-content{padding:37px 40px}.dashboard-top{grid-template-columns:minmax(0,1fr) 300px}.week-card{padding:28px}.week-big{font-size:75px}.hero-art{top:72px;transform:rotate(-7deg)scale(1.15)}}@media (max-width:1200px){.sidebar{width:205px;padding-left:13px;padding-right:13px}.main-shell{margin-left:205px}.brand{margin-left:10px}.topbar{padding:0 28px}main{padding:30px 28px 0}.hero-art{opacity:.8;right:-25px;transform:rotate(-7deg)scale(.9)}.hero-content{padding:28px}.hero h2{font-size:26px}.hero p{max-width:220px}.hero-art .orbit{opacity:.5}.dashboard-top{grid-template-columns:minmax(0,1fr) 230px;gap:17px}.week-card{padding:20px}.dashboard-bottom{grid-template-columns:minmax(0,1fr) 260px;gap:17px}.stat-card{padding:16px}.stat-card .row-between{font-size:9px}.curriculum-layout{grid-template-columns:minmax(0,1fr) 270px;gap:17px}.settings-grid{grid-template-columns:1fr 300px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading h1{font-size:26px}.week-control select{width:180px;font-size:10px}.toast{left:calc(50% + 100px)}}@media (max-width:980px){.hero-art{display:none}.dashboard-top{grid-template-columns:minmax(0,1fr) 225px}.hero h2{font-size:27px}.hero p{max-width:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:minmax(0,1fr) 235px}.source-card{padding:24px 20px}.source-card h3{font-size:18px}.page-heading{flex-direction:column;align-items:start;gap:18px}.day-preview{gap:10px;padding:20px 15px}.day-preview>div>span{margin:5px 0;display:block}.curriculum-layout,.settings-grid{grid-template-columns:1fr}.selection-panel{position:static}.generation-banner{flex-direction:column;align-items:start}.generation-buttons{flex-direction:row}.top-actions .save-indicator span{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}}@media (max-width:760px){.sidebar{width:240px;padding:26px 18px 0;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.side-user .icon-button{margin-left:auto;display:flex}.main-shell{margin-left:0}.mobile-menu{display:flex!important}.scrim{z-index:25;background:#10264066;border:0;display:block;position:fixed;inset:0}.topbar{height:65px;padding:0 20px}.breadcrumb{gap:8px;font-size:10px}.breadcrumb>span,.breadcrumb>svg{display:none}.top-actions{gap:10px}.save-indicator{font-size:8px}.top-actions .save-indicator span{max-width:120px}.avatar.small{width:29px;height:29px}main{padding:26px 20px 0}.page-heading{margin-bottom:23px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.eyebrow{font-size:8px}.week-control,.week-control select{width:100%}.dashboard-top{grid-template-columns:1fr;gap:17px}.hero{min-height:325px}.hero-content{padding:27px 25px}.hero-art{opacity:.7;transform-origin:100%;display:block;top:89px;right:-10px;transform:rotate(-7deg)scale(.7)}.hero h2{font-size:28px}.hero p{font-size:10px}.hero .button{z-index:5;position:relative}.week-card{grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:20px;display:grid}.section-kicker{grid-column:1/-1}.week-big{margin-top:5px;font-size:50px}.week-big span{font-size:10px}.week-card>p{text-align:right;justify-self:end;max-width:140px;margin:0;line-height:1.8}.week-divider{grid-column:1/-1;margin:0}.week-card .row-between{grid-column:1/-1;margin-top:4px}.progress-track{grid-column:1/-1;margin:0}.week-card>.text-button{justify-self:end;padding-top:0;font-size:9px}.week-card>small{font-size:8px}.stats-grid{gap:11px;margin:17px 0 22px}.stat-card{padding:16px}.stat-card>strong{font-size:27px}.stat-card .row-between{font-size:9px}.stat-card svg{width:15px}.stat-card>small{font-size:8px}.dashboard-bottom{grid-template-columns:1fr;gap:0}.panel-header{padding:20px}.steps-list{padding:0 20px}.step{padding:20px 0}.source-card{grid-template-columns:45px 1fr;column-gap:17px;padding:23px;display:grid}.source-icon{grid-row:1/3;margin:0}.source-card .eyebrow{grid-column:2;margin-bottom:4px}.source-card h3{grid-column:2;font-size:19px}.source-card h3 br{display:none}.source-card p,.source-card .text-button,.source-note{grid-column:1/-1}.source-card p{margin-top:14px;font-size:11px}.source-card .text-button{margin:12px 0 16px}.source-note{font-size:9px}.day-preview{grid-template-columns:1fr;gap:20px;padding:20px}.day-preview>div{grid-template-columns:75px 1fr;gap:5px;display:grid}.day-preview>div>span{grid-column:1;margin:0;font-size:9px}.small-lines{grid-area:1/2/3;gap:6px;margin-top:0}.small-lines button{justify-content:space-between;align-items:center;display:flex}.small-lines small{margin:0}.empty-inline{padding:25px 20px;font-size:11px}.toolbar{gap:8px}.toolbar .button{padding:9px 11px;font-size:10px}.info-strip{flex-wrap:wrap;align-items:start;gap:9px;padding:15px;font-size:11px}.info-strip small{font-size:9px}.info-strip>.button,.info-strip>.text-button{margin-left:28px}.data-table th,.data-table td{padding:13px 15px}.data-table td{font-size:10px}.form-grid{gap:17px;padding:20px}.inline-form{gap:15px;padding:20px}.inline-form>label{flex:1;min-width:140px}.inline-form>.checkbox-label{flex:initial}.event-line{flex-wrap:wrap;gap:8px;padding:15px 20px}.event-line span{font-size:9px}.event-line>strong{font-size:10px}.details{padding:20px}.filter-row{gap:13px;padding:20px}.filter-row label{min-width:110px}.filter-row label:first-child{flex-basis:100%}.standard-row{padding:17px 20px}.standard-row p{font-size:11px}.selection-list{padding:20px}.allocation{flex-direction:column;gap:15px;padding:18px 20px}.generation-banner{padding:23px}.generation-banner h2{font-size:23px}.generation-buttons{flex-direction:column;width:100%}.generation-buttons .button{width:100%}.lesson-grid{grid-template-columns:1fr}.lesson-card{padding:20px}.lesson-card h3{margin-top:17px;font-size:21px}.lesson-topic{min-height:40px}.day-heading{gap:10px}.day-heading>span:not(.day-rule),.day-heading small{font-size:9px}.footer{flex-wrap:wrap;margin-top:20px}.footer small{flex-basis:100%;order:3;font-size:8px}.footer-private{font-size:8px}.toast{width:calc(100% - 25px);max-width:calc(100% - 25px);font-size:11px;bottom:15px;left:50%}.modal-backdrop{padding:12px}.modal{max-height:94vh}.modal-header{padding:20px}.modal-body{padding:0 20px 20px}.modal-body>.form-grid{grid-template-columns:1fr}.modal-body>.form-grid .span-two{grid-column:1}.modal-actions{flex-wrap:wrap}.modal-actions .button{flex:1}.settings-grid{gap:0}.panel-body{padding:20px}.editor-meta{gap:10px;font-size:10px}.panel-footer{padding:0 20px 20px}}@media print{@page{size:A4 portrait;margin:12mm}body{font:10pt Arial,sans-serif;color:#000!important;background:#fff!important}.app-shell,.modal-backdrop,.toast,.busy-overlay{display:none!important}.print-area.visible{display:block!important}.print-lesson{break-after:page}.print-lesson:last-child{break-after:auto}.print-lesson header{text-align:center;margin-bottom:6mm}.print-lesson h2{margin:0 0 3mm;font:700 14pt Arial}.print-lesson p{font-size:10pt;line-height:1.6}.print-lesson header>b{margin-top:3mm;font-size:11pt;display:block}.print-lesson table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10pt}.print-lesson th,.print-lesson td{vertical-align:top;white-space:pre-wrap;word-break:break-word;border:1px solid #333;padding:2.5mm;line-height:1.45}.print-lesson th{text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:24%;font-weight:600;background:#f4e8d8!important}.print-lesson tr{break-inside:avoid}.print-lesson footer{color:#555;padding-top:4mm;font:8pt Arial}.print-lesson td{width:auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.chat-intro{background:linear-gradient(110deg,#eef4ff,#fff);border-color:#d9e4ff;padding:26px 30px}.chat-intro h2{margin:10px 0;font-size:25px}.chat-intro p{color:#586780;max-width:760px;line-height:1.7}.chat-intro small{color:#536a94;margin-top:17px;display:block}.flow-progress{border-bottom:1px solid #e7ecf4;gap:12px;margin-bottom:24px;padding-bottom:22px;display:flex}.flow-progress>span{color:#7a8597;flex:1;align-items:center;gap:7px;font-size:12px;display:flex}.flow-progress b{background:#eef1f6;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;display:grid}.flow-progress .current{color:#2457ce;font-weight:700}.flow-progress .current b{color:#fff;background:#285ee1}.flow-progress .complete b{color:#16805e;background:#e4f4ed}.chat-flow h3{margin:0 0 12px;font-size:21px}.chat-flow p{color:#59677c;line-height:1.7}.flow-instructions{color:#52627a;padding-left:22px;line-height:1.8}.flow-instructions li{padding:5px 0}.chat-flow textarea{resize:vertical;width:100%;margin-top:12px;line-height:1.6}.chat-flow details{margin:15px 0}.chat-flow summary{cursor:pointer;color:#315fdf}.chat-flow .toolbar{flex-wrap:wrap}.chat-flow .button{text-decoration:none}.flow-error{color:#a8382b;background:#fff4f1;border:1px solid #edc9c4;border-radius:12px;margin-top:15px;padding:16px}.flow-review{border:1px solid #e0e7f2;border-radius:12px;max-height:43vh;overflow:auto}.flow-review article{border-bottom:1px solid #e0e7f2;padding:16px 20px}.flow-review article:last-child{border:0}.flow-review p{margin:6px 0}.review-content{white-space:pre-wrap;background:#f6f8fc;border-radius:8px;padding:12px;font-size:13px;line-height:1.75}.flow-check{margin-top:22px;line-height:1.6}.flow-check input{flex-shrink:0}.button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:600px){.chat-intro{padding:20px}.flow-progress{gap:5px}.flow-progress>span{align-items:flex-start;gap:4px;font-size:10px}.flow-progress b{width:20px;height:20px}.flow-review article{padding:14px}.info-strip,.chat-flow .modal-actions{flex-wrap:wrap}}.annual-panel{margin-bottom:24px}.annual-panel .panel-body>p{color:#586780;line-height:1.75}.annual-panel .form-grid{margin:20px 0;padding:0}.annual-panel .info-strip{margin:20px 0}.allocation-preview{border-top:1px solid #e4eaf3;margin-top:26px;padding-top:24px}.period-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.job-progress{background:#f2f6ff;border:1px solid #dbe5ff;border-radius:15px;margin-top:24px;padding:22px}.job-progress progress{accent-color:#315fdf;width:100%;height:10px}.job-progress h3{margin:0}.job-progress .row-between{flex-wrap:wrap;gap:12px;margin-bottom:16px}.calendar-inputs{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:20px 0;display:flex}.calendar-inputs label:first-child{min-width:240px}.calendar-inputs input{max-width:130px}.flex-panel{margin-bottom:24px}.flex-panel .panel-body>p{color:#57677d;line-height:1.7}.flex-control-grid{grid-template-columns:1fr 1fr;gap:26px;display:grid}.flex-control-grid>div{background:#f7f9fd;border:1px solid #e4eaf4;border-radius:14px;padding:20px}.flex-control-grid h4{margin:0 0 18px}.flex-control-grid small,.flex-reset small{color:#65758b;margin-top:10px;line-height:1.7;display:block}.flex-control-grid .toolbar{flex-wrap:wrap;margin-top:20px}.flex-reset{border-top:1px solid #e4eaf4;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding-top:20px;display:flex}@media (max-width:750px){.flex-control-grid{grid-template-columns:1fr}.flex-reset{flex-direction:column;align-items:flex-start}.calendar-inputs label:first-child{width:100%;min-width:100%}.editor-source .row-between{flex-wrap:wrap;gap:12px}.editor-source .toolbar{flex-wrap:wrap}}.auth-loading{color:#526681;place-items:center;min-height:100vh;font:16px Arial;display:grid}.auth-shell{background:#f6f8fc;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{color:#fff;background:linear-gradient(135deg,#152d72,#285ad7);flex-direction:column;justify-content:center;padding:50px clamp(30px,6vw,100px);display:flex}.auth-story .brand{color:#fff;margin-bottom:65px}.auth-story .brand small{color:#c7d7ff}.auth-story .brand-icon{color:#fff;background:#ffffff20}.auth-eyebrow{letter-spacing:2.4px;color:#bdceff;font-size:11px}.auth-story h1{letter-spacing:-1.8px;margin:23px 0;font-size:clamp(35px,3.8vw,58px);line-height:1.18}.auth-story h1 em{color:#abc8ff;font-style:normal}.auth-story>p{color:#d6e1fc;max-width:440px;font-size:15px;line-height:1.8}.auth-benefits{color:#edf3ff;gap:15px;margin:28px 0 45px;font-size:13px;display:grid}.auth-benefits>div{align-items:center;gap:10px;display:flex}.auth-story>small{color:#b4c7f3;font-size:10px}.auth-form-side{justify-content:center;align-items:center;padding:38px 25px;display:flex}.auth-card{width:100%;max-width:420px}.auth-card h2{margin:14px 0;font-size:28px;line-height:1.3}.auth-card>p{color:#687890;font-size:13px;line-height:1.7}.auth-card form{gap:15px;display:grid}.auth-card label{color:#374b68;gap:7px;font-size:12px;font-weight:600;display:grid}.auth-card label small{color:#758199;font-weight:400;line-height:1.6}.auth-tabs{background:#e9eef7;border-radius:10px;margin:24px 0;padding:4px;display:flex}.auth-tabs button{color:#667890;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:11px;font:600 12px inherit}.auth-tabs .active{color:#285ad7;background:#fff;box-shadow:0 2px 5px #18346a0c}.password-field{display:flex;position:relative}.password-field input{width:100%;padding-right:46px}.password-field .icon-button{position:absolute;top:5px;right:7px}.auth-note{text-align:center;margin-top:26px!important;font-size:11px!important}.auth-help{color:#64758f;margin-top:20px;font-size:12px;line-height:1.8}.auth-help summary{cursor:pointer}.auth-card .eyebrow{align-items:center;gap:7px;display:flex}.admin-shell{background:#f5f7fb;min-height:100vh}.admin-top{background:#fff;border-bottom:1px solid #e4eaf4;align-items:center;gap:20px;padding:20px 4vw;display:flex}.admin-top .brand{margin:0 auto 0 0}.admin-main{max-width:1280px;margin:auto;padding:36px 25px}.admin-tabs{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.admin-stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px;display:grid}.admin-stats>div{background:#fff;border:1px solid #e2e8f2;border-radius:14px;padding:22px}.admin-stats strong{letter-spacing:-1px;color:#233d72;font-size:32px;display:block}.admin-stats span{color:#6c7c94;margin-top:7px;font-size:12px;display:block}.admin-main .panel-body>p{color:#62728b;line-height:1.7}.admin-main label{margin-bottom:14px}.admin-main .form-grid{margin-bottom:20px;padding:0}.admin-main .calendar-inputs label{margin:0}.recovery-box{background:#f0f5ff;border:1px solid #d9e4fb;border-radius:12px;margin-top:20px;padding:20px}.recovery-box input{margin-bottom:14px}.top-actions .text-button{white-space:nowrap;font-size:11px}.settings-grid .panel-body>label{margin-bottom:18px;display:block}@media (max-width:850px){.auth-shell{grid-template-columns:1fr}.auth-story{padding:28px}.auth-story .brand{margin-bottom:28px}.auth-story h1{font-size:34px}.auth-story>p{max-width:100%}.auth-benefits{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.auth-story>small{display:none}.auth-form-side{padding:30px 24px 50px}.admin-top{flex-wrap:wrap;gap:12px}.admin-top .toolbar{flex-wrap:wrap;gap:10px}.admin-main{padding:25px 15px}.admin-stats{gap:8px}.admin-stats>div{padding:15px}.admin-stats strong{font-size:27px}}@media (max-width:500px){.auth-story h1{font-size:29px}.auth-story .auth-eyebrow,.auth-story>p{display:none}.auth-benefits{grid-template-columns:1fr;font-size:11px}.auth-story .brand{margin-bottom:8px}.auth-story h1{margin:14px 0}.auth-card h2{font-size:25px}.auth-form-side{padding-top:25px}.admin-top>.soft-badge{display:none}.admin-top .brand{font-size:24px}.top-actions{gap:10px!important}.top-actions .save-indicator span{display:none}}.workflow-steps{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px;display:grid}.workflow-steps button{text-align:left;color:#547096;background:#fff;border:1px solid #dce5f4;border-radius:9px;padding:14px 10px;font-size:11px}.workflow-steps button.active{color:#2147a4;background:#edf3ff;border-color:#315edc}.workflow-steps span{background:#e6eefc;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:8px;display:inline-grid}.week-summary-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:22px;display:grid}.week-summary{text-align:left;color:#365581;background:#fbfcff;border:1px solid #e0e7f3;border-radius:10px;flex-direction:column;gap:9px;padding:17px;display:flex}.week-summary:hover{background:#f0f5ff;border-color:#315edc}.week-summary small{color:#7586a0;font-size:10px}.week-summary span{font-size:11px}.week-summary progress{accent-color:#315edc;width:100%;height:5px}.print-day-options{flex-wrap:wrap;gap:15px;padding:16px 0;display:flex}.a4-preview{background:#edf0f4;margin-top:25px;padding:20px;overflow:auto}.a4-preview .print-lesson{color:#111;background:#fff;max-width:794px;margin:0 auto 24px;padding:24px;font:12px Arial;box-shadow:0 2px 10px #0001}.print-lesson header{text-align:center;margin-bottom:18px}.print-lesson h2{margin-bottom:10px;font-size:17px}.print-lesson table{border-collapse:collapse;table-layout:fixed;width:100%}.print-lesson td,.print-lesson th{vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #555;padding:8px;line-height:1.5}.print-lesson th{text-align:left;background:#f4e8d8;width:24%}.print-lesson footer{margin-top:12px;font-size:10px}.calendar-week-editor{max-height:500px;overflow:auto}.calendar-week-row{border-bottom:1px solid #eee;grid-template-columns:80px 160px 1fr;gap:10px;padding:10px;display:grid}.calendar-week-row label{flex-direction:column;gap:5px;font-size:11px;display:flex}@media (max-width:650px){.workflow-steps{grid-template-columns:1fr 1fr}.week-summary-grid{grid-template-columns:1fr 1fr;padding:12px}.a4-preview{padding:8px}.a4-preview .print-lesson{padding:12px;font-size:10px}.calendar-week-row{grid-template-columns:65px 1fr}.calendar-week-row label:last-child{grid-column:1/-1}}@media print{.print-lesson{font:10pt Arial}.print-lesson header{break-inside:avoid;break-after:avoid}.print-lesson table{font-size:10pt}.print-lesson td,.print-lesson th{padding:2.2mm}.print-lesson h2{font-size:14pt}.print-lesson footer{font-size:8pt}}.calendar-week-row{grid-template-columns:75px 150px minmax(130px,1fr) auto;align-items:end}.calendar-week-row .button{margin-bottom:1px}.calendar-week-row input{width:100%}@media (max-width:650px){.calendar-week-row{grid-template-columns:65px minmax(0,1fr)}.calendar-week-row label:nth-child(3){grid-column:1/-1}.calendar-week-row .button{grid-column:1/-1;justify-self:end}}.calendar-state-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.calendar-state-options .checkbox-label{white-space:normal}.week-delete-toolbar{background:#fafcff;border-bottom:1px solid #e5ebf4;padding:18px 22px}.week-delete-toolbar>p{color:#71839d;margin-bottom:14px;font-size:12px;line-height:1.6}.week-delete-toolbar .toolbar{margin-bottom:12px}.week-delete-toolbar>small{color:#6f819b;font-size:11px}.week-summary-item{background:#fbfcff;border:1px solid #e0e7f3;border-radius:10px;overflow:hidden}.week-summary-item.selected{background:#edf3ff;border-color:#315edc}.week-summary-item .week-summary{background:0 0;border:0;border-radius:0;width:100%;height:calc(100% - 39px)}.week-select{color:#71839d;padding:12px 15px 0;white-space:normal!important;font-size:10px!important}.week-summary-item input:disabled{opacity:.4}.week-status-legend{flex-wrap:wrap;gap:10px;padding:18px 22px 0;display:flex}.week-status-badge{border-radius:6px;align-self:flex-start;align-items:center;padding:5px 8px;font-weight:700;line-height:1.4;font-size:10px!important;display:inline-flex!important}.week-status-badge.complete{color:#17633e;background:#d4efdf}.week-status-badge.partial{color:#765006;background:#fff0bd}.week-status-badge.pending,.week-status-badge.inactive{color:#526078;background:#e6ebf2}.week-summary-item.week-complete{background:#effaf3;border-color:#2a9660 #a7d9b9 #a7d9b9;border-top-style:solid;border-top-width:4px}.week-summary-item.week-partial{background:#fffbec;border-color:#d7a020 #efd58d #efd58d;border-top-style:solid;border-top-width:4px}.week-summary-item.week-pending{background:#f6f8fb;border-color:#97a4b7 #dce3ed #dce3ed;border-top-style:solid;border-top-width:4px}.week-summary-item.week-inactive{background:#f8f9fb;border-color:#c6ceda #e3e7ee #e3e7ee;border-top-style:solid;border-top-width:4px}.week-complete .week-summary{color:#205c3d}.week-partial .week-summary{color:#785714}.week-complete progress{accent-color:#2a9660}.week-partial progress{accent-color:#d7a020}.week-pending progress,.week-inactive progress{accent-color:#97a4b7}.week-summary-item.selected{outline-offset:2px;outline:3px solid #315edc}.week-summary-item .week-summary:hover{background:#ffffff60}.week-summary:focus-visible{outline-offset:-3px;outline:3px solid #315edc}.teaching-context-picker{background:#f8faff;border:1px solid #dbe5f5;border-radius:10px;margin:12px 0 22px;padding:18px}.teaching-context-picker>summary{cursor:pointer;color:#355c9d;font-size:13px;font-weight:700}.teaching-context-picker>p,.teaching-context-picker>small{color:#6f829e;margin:12px 0;font-size:11px;line-height:1.7;display:block}.teaching-context-picker .form-grid{padding:12px 0}.teaching-context-picker .checkbox-label{white-space:normal}.flow-upload{background:#f7faff;border:1px dashed #9db8ed;border-radius:12px;flex-direction:column;gap:14px;margin:18px 0;padding:20px;display:flex}.flow-upload>small,.flow-file small{color:#61718a;line-height:1.6;display:block}.flow-upload .toolbar{align-items:center;gap:14px;display:flex}.flow-upload .toolbar>span{color:#60708a;font-size:12px}.flow-file{background:#fff;border:1px solid #dce6f4;border-radius:10px;align-items:flex-start;gap:12px;padding:15px;display:flex}.flow-file svg{flex-shrink:0}.flow-file strong{overflow-wrap:anywhere}.flow-file.ready{color:#196e4c;background:#f1fbf5;border-color:#add8c2}.flow-activity{background:#f0f5ff;border:1px solid #c9daf8;border-radius:10px;margin:16px 0;padding:18px}.flow-activity>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flow-activity strong{overflow-wrap:anywhere;flex:1;font-size:13px}.flow-activity span{font-variant-numeric:tabular-nums;color:#426293;font-size:12px}.flow-activity progress{accent-color:#315fdf;width:100%;height:9px;margin:13px 0 6px}.flow-activity small{color:#5d7294;line-height:1.6;display:block}.flow-spinner{flex-shrink:0;animation:1s linear infinite flow-spin}.flow-next{background:#f7f9fd;border-radius:8px;padding:12px 15px;font-size:13px}.flow-error-content{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}.flow-manual label{display:block}.chat-flow h3:focus{outline:none}@keyframes flow-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.flow-spinner{animation:none}}@media (max-width:600px){.flow-upload{padding:14px}.flow-upload .button{width:100%}.flow-activity{padding:14px}}.lesson-language{background:#f6f8ff;border:1px solid #dce5f5;border-radius:8px;margin:14px 0 18px;padding:16px;display:block}.lesson-language label{flex-direction:column;gap:8px;font-size:12px;font-weight:600;display:flex}.lesson-language select{background:#fff;border:1px solid #d8e1f1;border-radius:6px;width:100%;max-width:420px;margin:8px 0;padding:10px;display:block}.lesson-language small{color:#64799b;font-weight:400;line-height:1.6;display:block}.a4-preview .print-lesson{width:190mm;max-width:none;min-height:0;padding:0;font:9pt Arial,Noto Sans,sans-serif}.a4-preview{padding:10mm}.print-lesson header{margin-bottom:3mm}.print-lesson h2{margin:0 0 1.5mm;font:700 11pt Arial,sans-serif}.print-lesson header p{font-size:8.5pt;line-height:1.25}.print-lesson table{font-size:9pt}.print-lesson td,.print-lesson th{line-height:1.2;font-size:inherit;overflow-wrap:anywhere;padding:1.2mm 1.5mm}.print-lesson th{width:auto;font-weight:600}.print-lesson footer{margin-top:2mm;padding-top:0;font:7pt Arial,sans-serif}.print-lesson[dir=rtl] th{text-align:right}@media print{@page{size:A4 portrait;margin:10mm}.print-lesson{break-after:page;page-break-after:always;width:190mm;max-width:100%;font:9pt Arial,Noto Sans,sans-serif}.print-lesson:last-child{break-after:auto;page-break-after:auto}.print-lesson header{margin-bottom:3mm}.print-lesson h2{margin:0 0 1.5mm;font-size:11pt}.print-lesson header p{font-size:8.5pt;line-height:1.25}.print-lesson table{font-size:9pt}.print-lesson th,.print-lesson td{padding:1.2mm 1.5mm;font-size:9pt;line-height:1.2}.print-lesson th{width:auto}.print-lesson footer{margin-top:2mm;padding-top:0;font-size:7pt}}.donation-trigger{z-index:35;color:#315edc;background:#fff;border:1px solid #dce4f4;border-radius:24px;align-items:center;gap:7px;padding:10px 14px;font-size:11px;font-weight:600;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 3px 15px #233d6c15}.donation-trigger:hover{background:#eff4ff}.donation-backdrop{z-index:85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#142c4f70;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.donation-dialog{text-align:center;background:#fff;border-radius:18px;outline:none;width:380px;max-width:100%;max-height:92dvh;padding:26px 24px 22px;position:relative;overflow:auto;box-shadow:0 20px 80px #0b1b3e35}.donation-close{position:absolute;top:10px;right:10px}.donation-heart{color:#315edc;background:#edf3ff;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:12px;display:inline-grid}.donation-dialog h2{margin:0 0 10px;font-size:20px}.donation-dialog>p{color:#60728e;font-size:12px;line-height:1.6}.donation-qr{border-radius:8px;width:210px;max-width:100%;height:auto;margin:18px auto 12px;display:block}.donation-dialog>strong{margin-top:12px;font-size:12px;display:block}.donation-dialog>small{color:#7a8ba5;margin-top:6px;font-size:11px;line-height:1.6;display:block}.donation-dialog .donation-hint{margin:14px 0;font-size:11px}.donation-dialog .button{justify-content:center;margin:auto;font-size:11px}.donation-account{-webkit-user-select:all;user-select:all;margin:8px auto;font-size:13px;font-weight:600}.donation-thanks{margin-top:16px!important}.donation-fieldset{border:0;min-width:0;margin:0;padding:0}.donation-admin-qr{border:1px solid #e2e8f0;border-radius:8px;width:100%;max-width:210px;height:auto;margin:12px 0;display:block}.donation-fieldset>p{margin-top:14px}.donation-trigger{bottom:max(18px,env(safe-area-inset-bottom))}@media (max-width:650px){.donation-trigger{padding:9px 12px;font-size:10px;right:12px}.donation-dialog{padding:22px 18px}.donation-qr{width:180px}}@media print{.donation-widget{display:none!important}}.lesson-language label.checkbox-label{flex-direction:row;align-items:center;gap:9px}.lesson-language label.checkbox-label input{flex:none;width:auto;margin:0}.flow-review a.text-button{overflow-wrap:anywhere}.print-lesson[lang=ms-Arab],.print-lesson[lang=ms-Arab] h2,.print-lesson[lang=ms-Arab] footer{font-family:Noto Naskh Arabic,Traditional Arabic,Tahoma,Arial,serif}.print-lesson[lang=ms-Arab] th,.print-lesson[lang=ms-Arab] td{line-height:1.45}.print-lesson[lang=ms-Arab] td[dir=auto]{text-align:start}.schedule-subject-panel{margin-bottom:20px}.schedule-subject-panel .panel-header>div small{color:#697991;margin-top:5px;line-height:1.6;display:block}.schedule-subject-panel .panel-body{padding-top:16px}.schedule-subject-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:14px;display:flex}.schedule-subject-actions .soft-badge{margin-left:auto}.schedule-subject-delete{color:#a93232!important;border-color:#edc9c9!important}.schedule-subject-delete:hover{background:#fff0f0!important}.schedule-subject-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:14px;display:grid}.schedule-subject-option{cursor:pointer;background:#fbfcff;border:1px solid #e0e7f2;border-radius:9px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex!important}.schedule-subject-option input[type=checkbox]{accent-color:#315edc;cursor:pointer;flex-shrink:0;width:18px;height:18px}.schedule-subject-option span{flex:1;min-width:0}.schedule-subject-option strong{overflow-wrap:anywhere;font-size:12px;display:block}.schedule-subject-option small{color:#71819a;margin-top:4px;font-size:10px;line-height:1.45;display:block}.schedule-subject-option:has(input:checked){background:#eef3ff;border-color:#8daaf0}.schedule-import-subjects{background:#f9fbff;border:1px solid #dfe7f3;border-radius:11px;margin:18px 0;padding:16px}.schedule-subject-option.is-excluded{opacity:.7;background:#f3f4f6}.schedule-subject-option .text-button{font-size:11px}@media (max-width:600px){.schedule-subject-actions .soft-badge{margin:0}.schedule-subject-list{grid-template-columns:1fr}.schedule-subject-actions>.button{flex:1}}.schedule-match-search{margin:12px 0;position:relative}.schedule-match-search label{display:block}.schedule-match-search input[type=search]{width:100%;margin-top:6px}.schedule-match-results{background:#fff;border:1px solid #dfe7f3;border-radius:9px;gap:2px;max-height:220px;margin-top:6px;padding:4px;display:grid;overflow-y:auto}.schedule-match-option{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:6px;padding:10px 12px}:is(.schedule-match-option:hover,.schedule-match-option:focus-visible){outline-offset:-2px;background:#edf3ff;outline:2px solid #88a9ec}.schedule-match-option strong{display:block}.schedule-match-option small{color:#70809a;margin-top:3px;display:block}.schedule-match-selected{color:#17613d;background:#eef8f2;border-radius:7px;padding:8px 12px;margin:8px 0!important}.schedule-subject-entry{background:#fff;border:1px solid #e0e7f2;border-radius:10px;min-width:0}.schedule-subject-entry.is-excluded{opacity:.74;background:#f4f5f8}.schedule-subject-entry>.schedule-subject-option{cursor:default;background:0 0;border:0;margin:0}.schedule-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.schedule-review-actions .button{min-height:32px;padding:6px 10px;font-size:12px}.schedule-subject-editor{background:#f9fbff;border-top:1px solid #e2eaf4;padding:12px}.schedule-subject-editor>.button{margin-top:9px}.schedule-subject-entry:has(.schedule-subject-editor){border-color:#8daaf0}@media (max-width:650px){.schedule-subject-list{grid-template-columns:1fr}.schedule-subject-option{flex-wrap:wrap}.schedule-review-actions{justify-content:flex-start;width:100%;padding-left:28px}}.step-nav-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 28px;display:grid}.step-nav-button{text-align:left;color:#405675;background:#fff;border:1px solid #d9e3f3;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 2px 10px #12315608}.step-nav-button strong{font-size:15px;line-height:1.35;display:block}.step-nav-button small{color:#7487a3;font-size:12px;line-height:1.4;display:block}.step-nav-button .step-nav-icon{background:#eef3fb;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.step-nav-button.next{color:#123a9b;background:linear-gradient(#eff4ff,#dce9ff);border-color:#315edc;box-shadow:0 0 0 2px #dce7ff,0 0 18px #315edc26}.step-nav-button.next .step-nav-icon{color:#fff;background:#315edc}.step-nav-button.done{color:#175b37;background:linear-gradient(#eefbf3,#ddf5e7);border-color:#55b27f;box-shadow:0 0 0 2px #dff4e7,0 0 18px #2e9b5f24}.step-nav-button.done .step-nav-icon{color:#fff;background:#1f8b50}.step-nav-button.optional{border-style:dashed}:is(.step-nav-button:focus-visible,.step-nav-button:hover){transform:translateY(-1px)}.flow-step-card{background:#fff;border:1px solid #d9e3f3;border-radius:18px;margin:0 0 18px;padding:18px 18px 20px;box-shadow:0 2px 10px #12315608}.flow-step-card.next{background:linear-gradient(#f7faff,#eff4ff);border-color:#315edc;box-shadow:0 0 0 2px #dce7ff,0 0 22px #315edc1f}.flow-step-card.done{background:linear-gradient(#fbfffc,#f0fbf4);border-color:#55b27f;box-shadow:0 0 0 2px #e2f5e8,0 0 22px #46a36a14}.flow-step-card.optional{background:#fbfcff}.flow-step-title-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.flow-step-title{color:#16345e;font-size:30px;font-weight:800;line-height:1.15}.flow-step-caption{color:#667b99;font-size:14px;line-height:1.6}.flow-step-body{font-size:16px}.step-state-pill{color:#5f7593;white-space:nowrap;background:#f6f8fc;border:1px solid #d5dfef;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.step-state-pill.next{color:#fff;background:#315edc;border-color:#315edc;box-shadow:0 0 14px #315edc30}.step-state-pill.done{color:#fff;background:#1f8b50;border-color:#56b17f;box-shadow:0 0 14px #2d9f622d}.step-state-pill.optional{color:#547096;background:#eef3fb}.period-tabs-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.period-tabs-large .button{border-radius:16px;justify-content:center;min-height:66px;font-size:22px;font-weight:800}.print-day-options-large{gap:14px 18px}.print-day-options-large .checkbox-label{background:#fff;border:1px solid #d8e2f2;border-radius:14px;padding:10px 14px;font-size:17px}.print-day-options-large .checkbox-label input{transform:scale(1.2)}.lesson-language-large{border-radius:16px;padding:18px 18px 16px}.lesson-language-large label,.lesson-language-large summary{color:#16345e;font-size:24px;font-weight:800}.lesson-language-large select{border-radius:12px;max-width:none;padding:14px 16px;font-size:18px}.lesson-language-large small{margin-top:10px;font-size:14px;line-height:1.7}.lesson-language-large .checkbox-label{margin-top:8px;font-size:17px;font-weight:700}.flow-summary-strip strong{font-size:20px}.flow-summary-strip small{font-size:14px}.flow-generate-button{border-radius:16px;justify-content:center;width:100%;min-height:60px;font-size:21px;font-weight:800;box-shadow:0 8px 18px #315edc26}.flow-step-hint{color:#627796;background:#f4f7fd;border-radius:12px;margin-top:12px;padding:12px 14px;font-size:15px}.flow-step-card .teaching-context-picker{background:0 0;border:0;margin:0;padding:0}.flow-step-card .teaching-context-picker>summary{font-size:20px}.flow-step-card .teaching-context-picker>p,.flow-step-card .teaching-context-picker>small{font-size:14px}.flow-step-card .teaching-context-picker .checkbox-label{font-size:16px}@media (max-width:900px){.step-nav-grid{grid-template-columns:1fr 1fr}.step-nav-button:last-child{grid-column:1/-1}.flow-step-title{font-size:26px}.period-tabs-large .button{font-size:20px}}@media (max-width:650px){.step-nav-grid{grid-template-columns:1fr}.step-nav-button{padding:14px}.step-nav-button strong{font-size:16px}.flow-step-card{padding:16px}.flow-step-title{font-size:22px}.period-tabs-large{grid-template-columns:1fr 1fr}.period-tabs-large .button{min-height:58px;padding:10px;font-size:18px}.print-day-options-large{gap:10px}.print-day-options-large .checkbox-label{padding:8px 12px;font-size:15px}.lesson-language-large label,.lesson-language-large summary{font-size:18px}.lesson-language-large select{font-size:17px}.flow-generate-button{min-height:56px;font-size:18px}}@media screen{body{font-size:16px;line-height:1.55}.app-shell,.admin-shell,.auth-shell{font-size:16px}.app-shell .page-heading h1,.admin-shell .page-heading h1{font-size:clamp(26px,3vw,32px);line-height:1.25}.app-shell .page-heading p,.admin-shell .page-heading p,.app-shell .panel-body>p,.admin-shell .panel-body>p,.app-shell .details>p,.admin-shell .details>p,.app-shell .auth-benefits,.auth-shell .auth-benefits{font-size:15px;line-height:1.7}.app-shell .eyebrow,.admin-shell .eyebrow{letter-spacing:1px;font-size:12px}.app-shell .panel-header h3,.admin-shell .panel-header h3{font-size:21px;line-height:1.35}.app-shell .panel-header .eyebrow,.admin-shell .panel-header .eyebrow{font-size:12px}.app-shell .button,.admin-shell .button,.auth-shell .button{min-height:44px;font-size:15px;line-height:1.4}.app-shell .text-button,.admin-shell .text-button{font-size:15px;line-height:1.5}.app-shell label,.admin-shell label,.auth-shell label,.app-shell summary,.admin-shell summary{font-size:16px;line-height:1.6}.app-shell input,.app-shell select,.app-shell textarea,.admin-shell input,.admin-shell select,.admin-shell textarea,.auth-shell input,.auth-shell select,.auth-shell textarea{min-height:43px;font-size:16px;line-height:1.5}.app-shell .week-control select{font-size:15px}.app-shell small,.admin-shell small,.auth-shell small,.app-shell .footnote,.admin-shell .footnote{font-size:13px;line-height:1.55}.app-shell .info-strip,.admin-shell .info-strip,.app-shell .flow-error,.admin-shell .flow-error{font-size:15px;line-height:1.6}.app-shell .info-strip small,.admin-shell .info-strip small{font-size:13px}.app-shell .data-table td,.app-shell .data-table th,.admin-shell .data-table td,.admin-shell .data-table th{font-size:14px;line-height:1.6}.app-shell .soft-badge,.admin-shell .soft-badge{font-size:13px}.app-shell .status,.admin-shell .status{font-size:12px}.app-shell .checkbox-label,.admin-shell .checkbox-label{font-size:15px}.app-shell .panel-body,.admin-shell .panel-body{line-height:1.6}.app-shell .sidebar .nav-item{border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;min-height:48px;padding:11px 12px;font-size:15px;display:flex}.app-shell .nav-label{text-align:left;flex:1;min-width:0}.app-shell .nav-state-label{white-space:nowrap;margin-left:auto;font-size:11px;font-weight:800}.app-shell .nav-item.ui-nav-state.done{color:#16633b;background:#e5f7ec;border-color:#92d9ad;box-shadow:0 0 12px #2e9c5f20}.app-shell .nav-item.ui-nav-state.next{color:#153f9f;background:#e6efff;border-color:#a1baf4;box-shadow:0 0 13px #315edc29}.app-shell .nav-item.ui-nav-state.optional{color:#58677e;background:#f0f2f6;border-color:#e1e5eb}.app-shell .nav-item.ui-nav-state.idle{color:#6f7c91;background:#fafbfe}.app-shell .nav-item.ui-nav-state.current-page{outline-offset:1px;outline:2px solid #506ecb}.app-shell .workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0 20px;display:grid}.app-shell .workflow-steps .ui-flow-link{text-align:left;color:#60728c;min-height:73px;box-shadow:none;background:#fafbfd;border:1px solid #dce3ee;border-radius:15px;align-items:center;gap:12px;padding:15px;font-size:15px;font-weight:800;display:flex}.app-shell .workflow-steps .ui-flow-link .ui-flow-icon{color:#64748b;background:#e9edf4;border-radius:50%;flex-shrink:0;place-items:center;width:37px;height:37px;margin:0;font-size:16px;display:grid}.app-shell .workflow-steps .ui-flow-title{background:0 0;border-radius:0;flex:1;width:auto;height:auto;margin:0;font-size:15px;line-height:1.25;display:block}.app-shell .workflow-steps .ui-flow-title small{opacity:.83;margin-top:5px;font-size:12px;font-weight:700;display:block}.app-shell .workflow-steps .ui-flow-link.done{color:#135d36;background:linear-gradient(#f1fff5,#dcf6e5);border-color:#7cc99c;box-shadow:0 0 16px #24a3651e}.app-shell .workflow-steps .ui-flow-link.done .ui-flow-icon{color:#fff;background:#1d9150}.app-shell .workflow-steps .ui-flow-link.next{color:#14439d;background:linear-gradient(#eaf2ff,#d9e7ff);border-color:#315edc;box-shadow:0 0 16px #315edc36}.app-shell .workflow-steps .ui-flow-link.next .ui-flow-icon{color:#fff;background:#315edc}.app-shell .workflow-steps .ui-flow-link.optional{color:#687589;background:#f0f2f6;border-color:#d9dfe8}.app-shell .workflow-steps .ui-flow-link.current-page{outline-offset:2px;outline:2px solid #546dc1}.app-shell .ui-task-row{background:#fafbfd;border:1px solid #e0e7f0;border-radius:13px;gap:12px;margin:9px 0;padding:12px 14px}.app-shell .ui-task-row .ui-task-state{white-space:nowrap;font-size:13px;font-weight:800}.app-shell .ui-task-row strong{font-size:16px}.app-shell .ui-task-row small{font-size:13px}.app-shell .ui-task-row.done{color:#17613b;background:#e7f8ee;border-color:#80cba1}.app-shell .ui-task-row.done .step-num{color:#fff;background:#1f9859}.app-shell .ui-task-row.next{color:#12419c;background:#e9f1ff;border-color:#7e9fe9;box-shadow:0 0 15px #315edc1e}.app-shell .ui-task-row.next .step-num{color:#fff;background:#315edc}.app-shell .ui-task-row.optional{color:#667389;background:#f1f2f5;border-color:#dce0e5}.admin-shell .admin-tabs{flex-wrap:wrap;gap:12px;display:flex}.admin-shell .admin-step-tab{border-radius:13px;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 15px;display:inline-flex}.admin-shell .admin-step-tab small{margin-left:6px;font-size:12px;font-weight:800;display:inline-block}.admin-shell .admin-step-tab.done{color:#155e39;background:#e4f6eb;border:1px solid #88d4a5;box-shadow:0 0 12px #1b98531d}.admin-shell .admin-step-tab.next{color:#1745a4;background:#e4efff;border:1px solid #91b2ef;box-shadow:0 0 14px #315edc28}.admin-shell .admin-step-tab.optional{color:#66758a;background:#f0f2f6;border:1px solid #d9dfe8}.app-shell .ui-optional-details,.admin-shell .ui-optional-details{box-shadow:none;background:#f5f6f9;border-color:#dbe0e9}.app-shell .ui-optional-details>summary,.admin-shell .ui-optional-details>summary{color:#596a82;cursor:pointer;background:#f0f2f6;border-radius:12px;padding:14px 16px;font-weight:700}.app-shell .ui-optional-details[open]>summary,.admin-shell .ui-optional-details[open]>summary{border-bottom:1px solid #e1e6ee}.app-shell .ui-optional-details>summary::marker{color:#7c879c}.admin-shell .ui-optional-details>summary::marker{color:#7c879c}.app-shell .hero{min-height:210px}.app-shell .hero-content{padding:22px 25px}.app-shell .hero h2{margin:8px 0;font-size:26px;line-height:1.25}.app-shell .hero p{font-size:14px;line-height:1.5}.app-shell .hero-art{display:none}.app-shell .hero .button{margin-top:12px}.app-shell .sidebar-bottom{padding:12px 2px}.app-shell .sidebar-bottom>.mini-icon,.app-shell .sidebar-bottom>strong,.app-shell .sidebar-bottom>p{display:none}.app-shell .sidebar-bottom .side-help{font-size:14px}.app-shell .step-nav-grid{margin-top:14px}.app-shell .flow-step-card{scroll-margin-top:18px}}@media screen and (max-width:980px){.app-shell .workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .workflow-steps .ui-flow-link{min-height:64px}}@media screen and (max-width:650px){.app-shell .workflow-steps{gap:9px}.app-shell .workflow-steps .ui-flow-link{gap:8px;min-height:70px;padding:11px;font-size:14px}.app-shell .workflow-steps .ui-flow-title{font-size:14px}.app-shell .workflow-steps .ui-flow-title small{font-size:11px}.app-shell .workflow-steps .ui-flow-link .ui-flow-icon{width:30px;height:30px;font-size:14px}.app-shell .step-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.app-shell .step-nav-button{gap:8px;padding:10px}.app-shell .step-nav-button:last-child{grid-column:1/-1}.app-shell .step-nav-button strong{font-size:14px}.app-shell .step-nav-button small{font-size:12px}.app-shell .step-nav-button .step-nav-icon{width:28px;height:28px;font-size:13px}.app-shell .ui-task-row{gap:8px;padding:10px}.app-shell .ui-task-row .ui-task-state{font-size:11px}.admin-shell .admin-step-tab{flex:45%;justify-content:center;padding:11px}.app-shell .panel-header h3,.admin-shell .panel-header h3{font-size:20px}.app-shell main,.admin-shell .admin-main{padding-left:14px;padding-right:14px}.app-shell .page-heading{margin-bottom:15px}.app-shell .info-strip,.admin-shell .info-strip{padding:12px}}.app-shell .step-nav-button.optional{color:#1a479e;background:linear-gradient(#f4f8ff,#e3edff);border:1px solid #315edc;box-shadow:0 0 0 1px #e0eaff,0 0 14px #315edc20}.app-shell .step-nav-button.optional .step-nav-icon{color:#fff;background:#315edc}.app-shell .step-nav-button.optional small{color:#3155ad;font-weight:700}.app-shell .flow-step-card.optional{background:linear-gradient(#fbfdff,#f0f5ff);border-color:#c7dcff}.app-shell .step-state-pill.optional{color:#2150a6;background:#e2edff;border-color:#bed3ff}.manual-schedule{color:#22354f;gap:17px;min-width:0;font-size:15px;display:grid}.manual-intro{background:#eef4ff;border:1px solid #c9daf8;border-radius:12px;padding:15px 18px}.manual-intro strong{font-size:19px}.manual-intro p{color:#536985;margin:7px 0 0;line-height:1.55}.manual-settings{flex-wrap:wrap;gap:12px;display:flex}.manual-settings label,.manual-paste-panel label{gap:6px;min-width:210px;font-size:14px;font-weight:700;display:grid}.manual-settings select,.manual-paste-panel select{color:#243955;background:#fff;border:1px solid #cad7e9;border-radius:9px;min-height:44px;padding:10px 12px;font-size:15px}.manual-header-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.manual-header-actions strong{align-items:center;gap:9px;font-size:19px;display:flex}.manual-day-block{background:#fff;border:1px solid #d4e0f0;border-radius:12px;overflow:hidden}.manual-day-heading{color:#1745a4;background:#eaf1ff;align-items:center;gap:12px;padding:10px 13px;display:flex}.manual-day-heading strong{font-size:17px}.manual-day-heading span{color:#5572a6;margin-right:auto;font-size:13px}.manual-day-heading .button{padding:8px 11px;font-size:14px}.manual-sheet-scroll{overscroll-behavior-x:contain;width:100%;max-width:100%;overflow-x:auto}.manual-sheet-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:785px}.manual-sheet-table th{color:#395777;text-align:left;background:#f2f6fc;font-size:13px;font-weight:700}.manual-sheet-table th,.manual-sheet-table td{vertical-align:top;border-bottom:1px solid #dce5f2;border-right:1px solid #dce5f2;padding:7px}.manual-sheet-table th:first-child{width:38px}.manual-sheet-table th:nth-child(2){width:120px}.manual-sheet-table th:nth-child(3),.manual-sheet-table th:nth-child(4){width:128px}.manual-sheet-table th:nth-child(5){width:204px}.manual-sheet-table th:nth-child(6){width:90px}.manual-sheet-table th:last-child{width:45px}.manual-sheet-table td input,.manual-sheet-table td select{color:#1a335a;box-sizing:border-box;background:#fff;border:1px solid #cedaeb;border-radius:6px;width:100%;min-width:0;padding:9px 8px;font-size:14px}.manual-sheet-table td input:focus{outline-offset:1px;outline:2px solid #618bef}.manual-row-num{text-align:center;color:#6580a5;font-weight:700}.manual-remove-row{color:#8a5260}.manual-unmatched{color:#aa5b20;margin-top:5px;font-size:12px}.manual-unmatched select{margin-top:5px;color:#4d6184!important;font-size:12px!important}.manual-add-day{margin-right:8px}.manual-paste-panel{background:#f7faff;border:1px dashed #a6bdec;border-radius:13px;gap:12px;padding:17px;display:grid}.manual-paste-panel h3{align-items:center;gap:10px;margin:0;font-size:19px;display:flex}.manual-paste-panel p,.manual-paste-panel small{color:#506482;margin:0;font-size:14px;line-height:1.6}.manual-paste-panel textarea{resize:vertical;white-space:pre;box-sizing:border-box;background:#fff;border:1px solid #b5c9e8;border-radius:10px;width:100%;min-height:180px;padding:13px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.manual-paste-panel kbd{background:#e4ecfa;border:1px solid #bdcae0;border-radius:4px;padding:1px 5px}.manual-paste-action{justify-self:start;min-height:48px;font-size:16px}.manual-save-panel{border-top:1px solid #dce4ee;gap:14px;padding-top:15px;display:grid}.manual-summary strong,.manual-summary small{display:block}.manual-summary strong{font-size:17px}.manual-summary small{color:#60738d;margin-top:5px;font-size:13px}.manual-replace-check{color:#485e7d;align-items:center;gap:10px;font-size:14px;display:flex}.manual-replace-check input{accent-color:#315fdf;width:18px;height:18px}.manual-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.manual-footer-actions .button{min-height:45px;font-size:15px}.manual-import-success{color:#146c39;background:#e8f9ef;border:1px solid #9fd4b5;border-radius:10px;align-items:center;gap:9px;padding:11px 13px;font-size:14px;display:flex}.manual-warning{color:#784d19;background:#fffaed;border:1px solid #e0b879;border-radius:10px;gap:9px;padding:12px;font-size:13px;display:flex}.manual-warning p{margin:7px 0}.manual-paste-panel textarea::placeholder{color:#7a8da9}@media (max-width:650px){.manual-schedule{font-size:14px}.manual-settings{grid-template-columns:1fr;display:grid}.manual-settings label{min-width:0}.manual-header-actions{flex-wrap:wrap}.manual-intro strong{font-size:18px}.manual-day-heading{flex-wrap:wrap}.manual-day-heading .button{margin-left:auto}.manual-footer-actions .button{flex:1}.manual-paste-action{justify-content:center;width:100%}}.schedule-history-panel{background:#f7faff;border:1px solid #d3deee;border-radius:15px;margin:16px 0 22px;overflow:hidden}.schedule-history-panel>summary{cursor:pointer;color:#264976;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;list-style:none;display:flex}.schedule-history-panel>summary::-webkit-details-marker{display:none}.schedule-history-version>summary::-webkit-details-marker{display:none}.schedule-history-panel>summary:after{content:"▾";margin-left:auto;font-size:19px}.schedule-history-panel[open]>summary:after{content:"▴"}.schedule-history-summary-title{align-items:center;gap:10px;display:flex}.schedule-history-summary-title strong{font-size:17px}.schedule-history-count{white-space:nowrap;background:#edf3fe;border:1px solid #cbd9ee;border-radius:50px;padding:5px 10px;font-size:12px}.schedule-history-content{padding:0 16px 18px}.schedule-history-hint{color:#63758c;font-size:13px;line-height:1.65}.schedule-history-active{color:#19653f;background:#e4f6eb;border:1px solid #abd5bd;border-radius:10px;align-items:center;gap:10px;margin:12px 0;padding:14px 16px;display:flex}.schedule-history-active strong{font-size:15px;display:block}.schedule-history-active small{margin-top:5px;font-size:12px;display:block}.schedule-history-empty{color:#63758c;padding:12px;font-size:13px}.schedule-history-version{background:#fff;border:1px solid #d9e2f1;border-radius:12px;margin-top:10px;overflow:hidden}.schedule-history-version>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:15px;display:flex}.schedule-history-version>summary strong{color:#254775;font-size:15px;display:block}.schedule-history-version>summary small{color:#687d98;margin-top:3px;font-size:12px;line-height:1.5;display:block}.schedule-history-view{color:#315fdf;white-space:nowrap;font-size:12px;font-weight:700}.schedule-history-body{border-top:1px solid #e5eaf4;padding:2px 16px 16px}.schedule-history-body>p{color:#62748c;font-size:13px;line-height:1.6}.schedule-history-scroll{width:100%;overflow:auto}.schedule-history-scroll table{border-collapse:collapse;width:100%;min-width:550px;font-size:13px}.schedule-history-scroll th,.schedule-history-scroll td{text-align:left;border-bottom:1px solid #e1e9f5;padding:9px}.schedule-history-scroll th{color:#3b5c88;background:#f5f8fd}.schedule-history-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.schedule-history-delete{color:#bc3949!important}:is(.schedule-history-panel button:focus-visible,.schedule-history-panel summary:focus-visible){outline-offset:2px;outline:3px solid #315fdf}@media (max-width:650px){.schedule-history-panel>summary{flex-wrap:wrap;padding:13px 12px}.schedule-history-summary-title strong{font-size:15px}.schedule-history-count{font-size:11px}.schedule-history-content{padding:0 10px 12px}.schedule-history-version>summary{padding:12px}.schedule-history-actions .button{flex:1;justify-content:center;min-width:120px}}.day-note-editor{background:#f3f7ff;border:1px solid #dce6f5;border-radius:9px;margin:0 0 15px;padding:14px 16px}.day-holiday{color:#8c5420;margin:0 0 10px;font-size:13px}.day-note-text{color:#405b7d;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:10px;font-size:12px}.day-note-text p{margin-top:5px}.day-note-form{gap:12px;display:grid}.day-note-form label{gap:7px;font-size:12px;display:grid}.day-note-form .toolbar{margin:0}.school-day-empty{color:#71839d;background:#fff;border:1px dashed #d9e2ef;border-radius:8px;padding:18px;font-size:12px}.daily-calendar-date{border-bottom:1px solid #e8edf5;padding:8px 0}.daily-calendar-date span{white-space:normal}.print-day-options{flex-wrap:wrap;gap:12px;margin:15px 0;display:flex}.print-day-options .checkbox-label{white-space:normal!important}.day-heading{flex-wrap:wrap}@media (max-width:600px){.day-note-form .toolbar>.button{flex:1}.print-day-options .checkbox-label{width:100%}}.dashboard-day-note{color:#6d819d;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px;font-size:10px;display:block}.day-preview{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:650px){.day-preview{grid-template-columns:1fr}}.generation-print-ready{background:#edf9f2;border:1px solid #9dd9b8;border-radius:12px;margin:16px 0;padding:18px}.generation-print-ready p{color:#236640;margin-bottom:12px;font-size:13px;line-height:1.6}.generation-print-ready .flow-generate-button{white-space:normal;width:100%;min-height:48px;margin:0}.generation-print-ready .flow-generate-button:focus-visible{outline-offset:3px;outline:3px solid #80a4ec}.print-day-record{color:#111;break-inside:avoid;page-break-inside:avoid;background:#fff;width:190mm;max-width:100%;margin:0 auto 8mm;font:9pt Arial,sans-serif}.print-day-record header{text-align:center;margin-bottom:3mm}.print-day-record h2{margin:0 0 2mm;font-size:11pt}.print-day-record header p{font-size:8.5pt;line-height:1.3}.print-day-record table{border-collapse:collapse;table-layout:fixed;width:100%}.print-day-record th,.print-day-record td{vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #444;padding:2mm;line-height:1.4}.print-day-record th{text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f4e8d8;width:21%}.print-day-record footer{color:#555;margin-top:2mm;font-size:7pt}.a4-preview .print-day-record{box-sizing:border-box;padding:20px;box-shadow:0 2px 10px #0001}.print-date-group{display:flow-root}.print-pending-note{color:#555;margin:5mm 0;font:9pt Arial}@media print{.print-date-group{break-inside:auto;display:block}.print-day-record{box-shadow:none;break-after:auto;page-break-after:auto;padding:0}.print-date-group .print-lesson{break-after:page;page-break-after:always}.print-date-group:last-child .print-lesson:last-child{break-after:auto;page-break-after:auto}.print-date-group.day-pdp{break-before:page;page-break-before:always}}.print-browser-tip{color:#345b91;background:#eff5ff;border:1px solid #d6e4fc;border-radius:9px;margin:16px 0;padding:14px 16px;font-size:12px}.print-browser-tip p{margin:7px 0 0;line-height:1.6}.review-notification-card{background:#fff;border:1px solid #dce5f3;border-radius:10px;margin:14px 0;padding:18px}.review-notification-card>small{color:#73849b;margin-top:8px;display:block}.review-notification-card>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0;font-size:12px;line-height:1.6}.review-notification-card .toolbar{margin:12px 0 0}.review-notifications .toolbar label,.notification-correction label{gap:7px;font-size:12px;display:grid}.notification-correction{border-top:1px solid #dce5f3;gap:12px;margin-top:16px;padding-top:16px;display:grid}.notification-standards{border:1px solid #dce5f3;border-radius:8px;max-height:330px;overflow:auto}.notification-standards label{border-bottom:1px solid #e9edf5;align-items:flex-start;gap:10px;padding:12px;font-size:12px;display:flex}.notification-standards input{flex-shrink:0}.review-notifications .toolbar{flex-wrap:wrap}@media (max-width:650px){.review-notification-card .toolbar>.button{width:100%}}@media screen{.modal-backdrop{padding:16px;overflow:hidden}.modal{max-height:calc(100vh - 32px);min-height:0;max-height:calc(100dvh - 32px);overflow:hidden}.modal.wide{width:min(1120px,100%)}.modal-header{flex:none;gap:16px}.modal-header h2{overflow-wrap:anywhere;min-width:0}.modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-width:0;min-height:0;padding-top:18px;overflow:auto}.modal-body .flow-review{max-height:none;overflow:visible}.modal-body .modal-actions{z-index:2;background:#fff;margin-top:20px;padding:16px 0;position:sticky;bottom:-25px;box-shadow:0 -8px 12px #fff}@media (max-width:650px){.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px);border-radius:10px;width:100%;max-height:calc(100dvh - 16px)}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-body .modal-actions{bottom:-16px}}}.flow-answer-shortcut{z-index:3;border-bottom:1px solid var(--border);background:#fff;justify-content:flex-end;margin-bottom:14px;padding:10px 0 14px;display:flex;position:sticky;top:0}@media (max-width:650px){.flow-answer-shortcut .button{width:100%}}.resume-week-picker{background:#f7faff;border:1px solid #d9e4fa;border-radius:12px;margin-top:16px;padding:18px}.resume-week-picker>.toolbar{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.resume-week-options{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;max-height:320px;padding:4px;display:grid;overflow:auto}.resume-week-options label{cursor:pointer;background:#fff;border:1px solid #dce5f3;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.resume-week-options input{flex-shrink:0;width:18px;height:18px}.resume-week-options small{color:#63738a;margin-top:4px;display:block}@media (max-width:650px){.resume-week-picker>.toolbar>.button{width:100%}}.week-card-picker>.toolbar{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.compact-week-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin:12px 0;display:grid}.compact-week-card{color:#244ca3;background:#edf3ff;border:2px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:66px;padding:8px 5px;display:flex}.compact-week-card small{font-size:10px}.compact-week-card.partial{color:#8c580d;background:#fff2d9}.compact-week-card.complete{color:#23754c;opacity:1;background:#e5f6ec}.compact-week-card.empty{color:#788391;opacity:1;background:#f0f2f5}.compact-week-card.selected{border-color:#315edc;box-shadow:0 0 0 2px #315edc22}.compact-week-card:hover:not(:disabled){transform:translateY(-1px)}.week-card-picker>small{color:#67758a;margin-top:8px;display:block}.yearly-week-status>button{font:inherit;text-align:left;border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.yearly-week-status>button.week-complete{color:#23754c;background:#e5f6ec}.yearly-week-status>button.week-pending{color:#244ca3;background:#edf3ff}.week-selection-advice{color:#785013;background:#fff4d8;border:1px solid #edc969;border-left:4px solid #d99a15;border-radius:8px;margin:12px 0;padding:12px 14px}.week-selection-advice strong{margin-bottom:5px;display:block}.week-selection-advice p{font-size:12px;line-height:1.6}
