:root{--navy:#102d42;--navy2:#183e58;--blue:#2f7ea6;--sky:#e9f6fb;--gold:#d9a441;--green:#2f866d;--ink:#24333c;--muted:#6b7a83;--line:#dbe5e9;--paper:#fff;--bg:#f4f7f8;--shadow:0 18px 45px rgba(25,51,67,.10);--radius:18px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}h1,h2,h3,.brand{font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-size:.72rem;font-weight:800;margin:0 0 8px}
.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:linear-gradient(180deg,var(--navy),#0a2233);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin:0 4px 32px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#64c4d7,var(--blue));font-size:.9rem;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:.95rem}.brand small{font:500 .72rem "DM Sans";color:#b8ceda;margin-top:2px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:11px;color:#c7d8e1;font-weight:600;font-size:.9rem}.sidebar nav a span{width:22px;text-align:center;font-size:1.1rem}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.nav-label{font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:#7fa0b2;margin:22px 12px 5px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.user-chip{display:flex;align-items:center;gap:10px;padding:5px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:.85rem}.user-chip small{font-size:.72rem;color:#9eb7c4}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d9edf4;color:var(--navy);font-weight:800;flex:0 0 auto}.avatar.photo{display:block;object-fit:cover;background:#d9edf4}.avatar.huge{width:86px;height:86px;font-size:2rem;margin:auto}.profile-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f7fafb}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700;padding:7px}.sidebar .text-button{color:#9fc2d3;margin-left:45px}.text-button.danger{color:#b34b43}.main-shell{margin-left:255px;padding:34px 42px 60px;min-height:100vh}.menu-toggle{display:none}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-head h1{font-size:2rem;margin:0 0 8px;letter-spacing:-.03em}.page-head p:not(.eyebrow){margin:0;color:var(--muted)}.hero-head{background:linear-gradient(125deg,#eaf8fa,#fff 60%);border:1px solid #d8e8ec;border-radius:24px;padding:28px 30px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:10px 16px;font-weight:800;transition:.2s}.button.primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(16,45,66,.16)}.button.primary:hover{background:#19445f;transform:translateY(-1px)}.button.soft{background:#e8f2f5;color:var(--navy)}.button.large{padding:13px 18px}.button.full{width:100%}
.head-actions,.mini-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mini-actions a{font-size:.82rem;color:var(--blue);font-weight:800}.dashboard-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:-8px 0 24px}.chart-panel{overflow:hidden}.bar-chart{display:grid;gap:10px}.chart-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #edf1f3;border-radius:12px}.chart-row:hover{background:#f8fbfc}.chart-row span{font-weight:800;font-size:.84rem}.chart-row div{height:12px;border-radius:999px;background:#e8eef1;overflow:hidden}.chart-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),#65bfd0)}.chart-row b{font-size:.78rem;color:var(--muted);white-space:nowrap}.speed-bars .chart-row i{background:linear-gradient(90deg,var(--gold),#f1c86b)}.mini-ring-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.mini-ring{--value:0;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--green) calc(var(--value)*1%),#e8eef1 0)}.mini-ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.mini-ring span,.mini-ring small{position:relative;z-index:1;display:block;text-align:center}.mini-ring span{font:800 1.7rem Manrope;color:var(--navy)}.mini-ring small{font-size:.72rem;color:var(--muted);margin-top:34px}.wpm-ring{background:conic-gradient(var(--gold) calc(var(--value)*1%),#e8eef1 0)}.staff-progress-panel{margin-bottom:20px}.staff-progress-list{display:grid;gap:14px}.student-progress-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(180deg,#fff,#fbfdfe)}.student-progress-card-link{display:block;border-radius:13px;padding:2px;color:inherit}.student-progress-card-link:hover{background:#f6fbfd}.student-progress-main{display:flex;align-items:center;gap:12px}.student-progress-main h3{margin:0;font-size:1rem}.student-progress-main p,.student-progress-main small{display:block;margin:2px 0 0;color:var(--muted);font-size:.78rem}.student-progress-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.student-progress-metrics div{padding:10px;border-radius:12px;background:#f4f8fa;text-align:center}.student-progress-metrics strong,.student-progress-metrics span{display:block}.student-progress-metrics strong{font:800 1.1rem Manrope;color:var(--navy)}.student-progress-metrics span{font-size:.68rem;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.progress-line.wide{height:8px;margin:2px 0 12px}.student-progress-card footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.75rem;flex-wrap:wrap}.student-progress-card footer a{color:var(--blue);font-weight:800}.staff-book-shortcuts{display:grid;gap:8px}.staff-book-shortcuts a{display:block;border:1px solid var(--line);border-radius:12px;padding:12px}.staff-book-shortcuts a:hover{background:#f8fbfc}.staff-book-shortcuts strong,.staff-book-shortcuts small{display:block}.staff-book-shortcuts small{color:var(--muted);margin-top:3px}.student-profile-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;margin-bottom:20px}.student-hero-progress{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:16px;margin:12px 0 14px}.student-hero-progress strong,.student-hero-progress span{display:block}.student-hero-progress strong{font:800 2.2rem Manrope;color:var(--navy)}.student-hero-progress span{color:var(--muted);font-size:.8rem}.book-progress-list{display:grid;gap:10px}.book-progress-list a{display:block;border:1px solid var(--line);border-radius:12px;padding:12px}.book-progress-list strong,.book-progress-list small{display:block}.book-progress-list small{color:var(--muted);margin:3px 0 8px}.compact-recordings{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-snapshot-panel{margin:-8px 0 24px}.snapshot-row{grid-template-columns:minmax(150px,1fr) minmax(260px,2fr) auto}.snapshot-row .snapshot-meters{height:auto;background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible}.snapshot-meters label{display:grid;grid-template-columns:58px minmax(80px,1fr);align-items:center;gap:8px;height:12px;border-radius:999px;background:#e8eef1;overflow:hidden}.snapshot-meters small{font-size:.62rem;color:var(--muted);font-weight:900;text-transform:uppercase;padding-left:8px;z-index:1}.snapshot-meters i{grid-column:2;background:linear-gradient(90deg,var(--blue),#65bfd0)}.snapshot-meters .speed-meter{background:linear-gradient(90deg,var(--gold),#f1c86b)}.panel-footer-action{display:flex;justify-content:center;margin-top:18px;padding-top:16px;border-top:1px solid #edf1f3}
.mini-ring.not-started{background:#e8eef1}.mini-ring.not-started span{color:#6b7d86}.mini-ring.not-started small{font-weight:900}.student-records-panel{margin:24px 0}.speed-result-card{margin-top:18px;border:1px solid #b7d9e6;background:linear-gradient(180deg,#f7fcfe,#fff);border-radius:18px;padding:18px;box-shadow:0 14px 30px rgba(25,51,67,.06)}.speed-result-card h2{margin:0 0 8px}.result-placement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.result-placement-grid div{border-radius:13px;background:#f0f6f8;padding:12px;text-align:center}.result-placement-grid strong,.result-placement-grid span{display:block}.result-placement-grid strong{font:800 1.05rem Manrope;color:var(--navy)}.result-placement-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.flash{position:fixed;left:50%;top:22px;max-width:min(680px,calc(100vw - 32px));padding:13px 18px;border-radius:12px;z-index:1100;box-shadow:var(--shadow);background:#fff;transform:translateX(-50%);text-align:center}.flash.is-dismissing{opacity:0;transform:translate(-50%,-8px);transition:opacity .4s ease,transform .4s ease}.flash.success{border-left:5px solid var(--green)}.flash.error{border-left:5px solid #c34b42}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 34px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:15px}.stat-card strong,.stat-card span{display:block}.stat-card strong{font:800 1.55rem Manrope}.stat-card div span{font-size:.8rem;color:var(--muted)}.stat-icon{display:grid!important;place-items:center;width:44px;height:44px;border-radius:13px;font-size:1.25rem}.stat-icon.blue{background:#e8f4fa;color:var(--blue)}.stat-icon.gold{background:#fff4d9;color:#a56d05}.stat-icon.green{background:#e5f4ef;color:var(--green)}.stat-icon.purple{background:#f0ebfa;color:#7555a7}
.section-block{margin:32px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.section-title h2{margin:0;font-size:1.35rem}.section-title>a{font-size:.85rem;color:var(--blue);font-weight:800}.section-title.compact{margin-bottom:18px}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.book-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(25,51,67,.05)}.book-cover-mini{height:135px;background:linear-gradient(135deg,#1f668a,#45a7bd);padding:20px;color:#fff;display:flex;justify-content:space-between;align-items:end}.book-cover-mini>span{font:800 3.5rem Manrope;opacity:.25}.book-cover-mini small{font-weight:700;max-width:100px;text-align:right}.subject-2 .book-cover-mini{background:linear-gradient(135deg,#36546a,#6d91a7)}.subject-3 .book-cover-mini{background:linear-gradient(135deg,#176b4d,#3fa985)}.subject-4 .book-cover-mini{background:linear-gradient(135deg,#384f87,#6187c9)}.book-card-body{padding:18px}.book-type{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-size:.68rem;font-weight:800;margin:0 0 6px}.book-card h3{font-size:1.03rem;margin:0 0 15px;min-height:44px}.progress-line{height:6px;border-radius:99px;background:#e7eef1;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--gold)}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem;margin:6px 0 14px}.two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 28px rgba(25,51,67,.05)}.panel h2{margin-top:0;font-size:1.25rem}.result-list>div,.roster>div{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #edf1f3}.result-list>div:first-child,.roster>div:first-child{border-top:0}.result-orb{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8f5f8;color:var(--navy);font-weight:800}.result-list p,.roster p{margin:0;flex:1}.result-list strong,.result-list small,.roster strong,.roster small{display:block}.result-list small,.roster small{color:var(--muted);font-size:.75rem}.result-list time{font-size:.72rem;color:var(--muted)}.class-list{display:grid;gap:8px}.class-list a{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #edf1f3;border-radius:12px}.class-list a:hover{background:#f8fbfc}.class-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf4f8;color:var(--blue)}.class-icon.large{width:56px;height:56px;font-size:1.5rem}.class-list span:nth-child(2){flex:1}.class-list strong,.class-list small{display:block}.class-list small{font-size:.75rem;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:25px}.empty span{font-size:2rem}.empty.wide{grid-column:1/-1;background:#fff;border-radius:18px;padding:70px}
.library-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.library-card{display:grid;grid-template-columns:170px 1fr;gap:22px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.library-art{min-height:230px;border-radius:14px;padding:18px;background:linear-gradient(145deg,var(--navy),#2e86a5);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.library-art span{font:800 4rem Manrope;opacity:.25}.library-art i{font-style:normal;font-weight:700}.library-card h2{margin:5px 0 10px;font-size:1.3rem}.library-card p:not(.book-type){color:var(--muted);line-height:1.55}.reader-page .main-shell{padding:0;background:#172a36}.reader-shell{height:100vh;display:flex;flex-direction:column}.reader-head{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#fff;border-bottom:1px solid var(--line)}.reader-head>div:first-child{display:flex;align-items:center;gap:18px}.reader-head h1{font-size:1.05rem;margin:0}.reader-head span,.reader-head a{font-size:.78rem;color:var(--muted)}.reader-actions{display:flex;align-items:center;gap:8px}.reader-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;width:34px;height:34px}.reader-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:22px;padding:24px;background:radial-gradient(circle at center,#335362,#142630 75%);overflow:auto}.book-frame{height:100%;max-height:calc(100vh - 160px);aspect-ratio:8.5/11;perspective:1800px;display:grid;place-items:center;transform-origin:center}.page-paper{height:100%;width:100%;background:#fff;box-shadow:0 25px 60px rgba(0,0,0,.35);transition:transform .38s ease,opacity .2s;border-radius:2px;overflow:hidden}.page-paper.turning-next{transform:rotateY(-12deg) translateX(-25px);opacity:.45}.page-paper.turning-prev{transform:rotateY(12deg) translateX(25px);opacity:.45}.page-paper img{width:100%;height:100%;object-fit:contain;display:block}.page-arrow{width:48px;height:70px;border:0;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;font-size:2.4rem}.page-arrow:hover{background:rgba(255,255,255,.25)}.reader-controls{height:68px;background:#fff;display:flex;align-items:center;gap:18px;padding:0 28px}.reader-controls>span{min-width:105px;font-size:.82rem}.reader-controls input[type=range]{flex:1}.reader-controls input[type=number]{width:65px;padding:7px;border:1px solid var(--line);border-radius:7px}
.typing-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;min-width:0}.lesson-picker{padding:14px}.lesson-picker h2{padding:8px}.lesson-option{width:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:10px;padding:11px;border-radius:11px}.lesson-option:hover,.lesson-option.active{background:#eaf5f8}.lesson-option>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff;color:var(--blue);font-weight:800}.lesson-option p{margin:0}.lesson-option strong,.lesson-option small{display:block}.lesson-option small{color:var(--muted)}.typing-workspace{padding:28px;min-width:0}.typing-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}.typing-stats div{text-align:center;padding:12px;background:#f6f9fa;border-radius:12px;min-width:0}.typing-stats strong,.typing-stats span{display:block}.typing-stats strong{font:800 1.45rem Manrope}.typing-stats span{font-size:.7rem;color:var(--muted);text-transform:uppercase}.passage{font:500 1.35rem/1.8 "DM Sans";letter-spacing:.02em;padding:20px;border-radius:14px;background:#f7fafb;min-height:125px;margin-bottom:16px;overflow-wrap:anywhere}.passage span.correct{color:#238264}.passage span.incorrect{color:#c4453c;background:#ffe8e6}.passage span.current{border-bottom:3px solid var(--gold)}.enter-marker{display:inline-flex;align-items:center;gap:5px;margin:0 4px 4px 0;padding:2px 8px;border-radius:999px;background:#fff3d2;border:1px solid #e7bf59;color:#8a5b00;font-size:.78rem;font-weight:900;letter-spacing:.01em;vertical-align:middle}.enter-marker.correct{background:#e8f7ef;border-color:#b7dfc8;color:#238264}.enter-marker.incorrect{background:#ffe8e6;border-color:#f2b5ae;color:#c4453c}.enter-marker.current{box-shadow:0 2px 0 var(--gold)}.typing-workspace textarea{width:100%;max-width:100%;resize:none;border:2px solid #dbe6e9;border-radius:14px;padding:16px;font-size:1.05rem;outline:none}.typing-workspace textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,126,166,.1)}.typing-actions{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:var(--muted);font-size:.85rem}.keyboard{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:4px;margin-top:24px;min-width:0;overflow:hidden}.key{grid-column:span 2;min-width:0;overflow:hidden;padding:8px 1px;border-radius:6px;background:#e8eef0;text-align:center;font-size:.67rem;box-shadow:0 2px 0 #c8d3d8}.key.wide{grid-column:span 4}.key.space{grid-column:span 12}.key.active{background:var(--gold);color:#fff;transform:translateY(2px);box-shadow:none}.speed-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.test-options{display:flex;gap:8px;margin-bottom:18px}.test-options button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 14px}.test-options button.active{background:var(--navy);color:#fff}.leaderboard>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf1f3}.leaderboard b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf4f6}.leaderboard span{flex:1}.leaderboard strong,.leaderboard small{display:block}.leaderboard small{color:var(--muted)}.leaderboard em{font-style:normal;font-weight:800;color:var(--blue)}.history{margin-top:20px}.history-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.history-grid div{background:#f6f9fa;border-radius:12px;padding:14px}.history-grid strong,.history-grid span,.history-grid small{display:block}.history-grid small{color:var(--muted);margin-top:5px}
.class-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.class-card{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.class-card>div{flex:1}.class-card h2{margin:4px 0}.class-card p{color:var(--muted)}.class-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:.8rem}.assigned-books{display:grid;gap:8px}.assigned-books a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px}.assigned-books>a>span{display:grid;place-items:center;width:40px;height:48px;background:var(--navy);color:#fff;border-radius:6px;font-weight:800}.assigned-books div{flex:1}.assigned-books strong,.assigned-books small{display:block}.assigned-books small{color:var(--muted)}.roster em{text-align:right;font-style:normal;font-weight:800}.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:20px}.stack-form{display:grid;gap:14px}.stack-form label{font-size:.82rem;font-weight:700}.stack-form input,.stack-form select,.stack-form textarea,.inline-add select{display:block;width:100%;margin-top:6px;border:1px solid #ccd9df;border-radius:9px;padding:10px;background:#fff}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:.85rem}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted)}.role-pill{display:inline-block;border-radius:99px;padding:5px 9px;font-size:.7rem;font-weight:800;background:#edf2f4}.role-pill.student{background:#e8f4fb;color:#27729b}.role-pill.teacher{background:#e7f5ee;color:#26745a}.role-pill.admin{background:#fff2d6;color:#946409}.role-pill.super_admin{background:#f0e9fa;color:#74519c}.manage-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.manage-row strong,.manage-row small{display:block}.manage-row small{color:var(--muted)}.inline-add{display:flex;gap:8px;margin-top:18px}.profile-grid{display:grid;grid-template-columns:300px 1fr;gap:20px;max-width:850px}.profile-card{text-align:center}.error-page{text-align:center;padding:15vh 20px}.error-page>strong{font:800 6rem Manrope;color:#d5e3e9}
.class-card-books{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:0 0 12px;padding:6px 10px;border-radius:999px;background:#edf7fa;color:var(--navy)!important;font-size:.8rem}.class-card-books strong{color:var(--blue)}
.login-page{background:var(--navy)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-story{padding:9vw;background:linear-gradient(135deg,rgba(8,38,56,.92),rgba(30,105,133,.85)),radial-gradient(circle at 30% 20%,#4ab3c8,#102d42);color:#fff;display:flex;flex-direction:column;justify-content:center}.story-badge{display:inline-block;align-self:flex-start;border:1px solid rgba(255,255,255,.3);padding:7px 12px;border-radius:99px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.login-story h1{font-size:4rem;line-height:1.02;max-width:600px;margin:26px 0 16px}.login-story>p{font-size:1.15rem;line-height:1.7;max-width:600px;color:#d5e7ed}.story-grid{display:flex;gap:48px;margin-top:40px}.story-grid strong,.story-grid span{display:block}.story-grid strong{font:800 2rem Manrope;color:#ffc965}.story-grid span{color:#c1d8e1;font-size:.8rem}.login-panel{background:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center;gap:35px}.brand.dark{color:var(--navy);margin:0}.brand.dark small{color:var(--muted)}.login-panel h2{font-size:2rem;margin:0 0 8px}.login-help{text-align:center;color:var(--muted);font-size:.82rem}
.apply-online-link{display:inline-flex;align-items:center;justify-content:center;margin:0 5px;padding:5px 13px;border-radius:999px;background:linear-gradient(135deg,#ffd34d,#ff9f1c);color:#082638!important;font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;box-shadow:0 8px 18px rgba(255,159,28,.35);border:1px solid rgba(8,38,56,.18);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.apply-online-link:hover,.apply-online-link:focus{background:linear-gradient(135deg,#ffe27a,#ffb347);color:#061d2b!important;transform:translateY(-1px);box-shadow:0 12px 24px rgba(255,159,28,.45);outline:3px solid rgba(30,105,133,.18);outline-offset:2px}
@media(max-width:1050px){.book-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:1fr}.speed-grid,.two-column,.student-profile-grid,.dashboard-chart-grid{grid-template-columns:1fr}.history-grid{grid-template-columns:repeat(3,1fr)}.compact-recordings{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-recording-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.menu-open .sidebar{transform:translateX(0)}.menu-toggle{display:block;position:fixed;top:12px;left:12px;z-index:30;border:0;background:var(--navy);color:#fff;width:42px;height:42px;border-radius:10px}.main-shell{margin-left:0;padding:72px 16px 40px;max-width:100vw}.page-head{align-items:flex-start;flex-direction:column}.stat-grid,.book-grid,.class-card-grid,.admin-grid,.profile-grid,.typing-layout,.student-progress-metrics,.compact-recordings,.mini-recording-grid{grid-template-columns:minmax(0,1fr)}.chart-row{grid-template-columns:1fr}.mini-ring-grid{grid-template-columns:1fr 1fr}.result-placement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-hero-progress{grid-template-columns:1fr}.head-actions .button{width:100%}.library-card{grid-template-columns:100px minmax(0,1fr)}.library-art{min-height:180px}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:30px}.reader-page .main-shell{padding:0}.reader-head{padding:0 12px}.reader-head h1,.reader-head span{display:none}.reader-stage{gap:8px;padding:12px}.page-arrow{width:34px;height:54px}.reader-controls{padding:0 12px}.typing-workspace{padding:16px}.typing-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-actions{align-items:flex-start;gap:10px}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-lightbox{padding:12px}.video-lightbox-card{padding:14px}}
.language-switcher{position:fixed;right:18px;top:14px;z-index:1000;display:flex;padding:3px;background:#fff;border:1px solid #dfe5e2;border-radius:999px;box-shadow:0 4px 16px #183b3420}
.language-switcher a{padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:800;color:#52645f;text-decoration:none}
.language-switcher a.active{background:#1c5b50;color:#fff}
.inline-form{display:inline;margin-left:10px}.edit-user-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.edit-user-grid .form-footer{grid-column:1/-1}.check-row{display:flex!important;align-items:center;gap:9px}.check-row input{width:auto!important;margin:0!important}.class-check-list{display:grid;gap:10px;margin-top:18px}.class-check-list label{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px}.class-check-list input{margin-top:4px}.class-check-list span,.class-check-list strong,.class-check-list small{display:block}.class-check-list span{flex:1}.class-check-list small{color:var(--muted);margin-top:3px}.privacy-note{padding:15px 18px;margin-bottom:20px;border:1px solid #f0d58d;background:#fff8df;border-radius:12px;color:#66501d}.recording-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.recording-card{padding:0;overflow:hidden}.recording-card video{display:block;width:100%;aspect-ratio:16/9;background:#102d42}.recording-copy{padding:18px}.recording-copy h2{margin:3px 0 12px}.recording-copy p strong,.recording-copy p small{display:block}.recording-copy p small,.recording-copy>small{color:var(--muted)}.recording-stats{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.recording-stats span{padding:6px 9px;border-radius:99px;background:#edf5f3;font-size:.75rem;font-weight:800;color:#285e54}
@media(max-width:760px){.edit-user-grid,.recording-grid{grid-template-columns:minmax(0,1fr)}}
.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:99px;background:#ef685f;color:#fff;font-size:.68rem}.nav-count.hidden{display:none}.message-banner{display:flex;align-items:center;gap:16px;padding:17px 20px;margin:-4px 0 24px;border:1px solid #d9e6e3;border-radius:16px;background:#fff}.message-banner.unread{border-color:#f1cb68;background:#fffae9}.message-banner>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e7f5f1;color:#1d6658;font-size:1.2rem}.message-banner>div{flex:1}.message-banner p{margin:3px 0;color:var(--muted)}.message-banner strong{font-size:1.05rem}.communication-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:20px}.communication-layout>div{display:grid;gap:20px;align-content:start}.communication-form+ .communication-form{margin-top:20px}.student-contact-list{display:grid;gap:8px}.student-contact-list a{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px}.student-contact-list a:hover{background:#f7faf9}.student-contact-list a>span:nth-child(2){flex:1}.student-contact-list strong,.student-contact-list small{display:block}.student-contact-list small{color:var(--muted)}.student-contact-list em{font-size:.75rem;color:var(--muted);font-style:normal}.privacy-label{padding:9px 11px;border-radius:9px;background:#edf5f3;color:#2b6459;font-size:.8rem;font-weight:700}.note-list,.message-list{display:grid;gap:11px}.note-card,.message-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.note-card.concern{border-left:4px solid #d7655e}.note-card.progress{border-left:4px solid #45a078}.note-card.attendance{border-left:4px solid #d3a334}.note-card header,.message-card header,.note-card footer,.message-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.note-card header span{font-size:.68rem;font-weight:800;text-transform:uppercase;color:var(--blue)}.note-card time,.note-card footer,.message-card header span,.message-card footer{font-size:.72rem;color:var(--muted)}.note-card footer form{margin-left:auto}.message-card.was-unread{border-left:4px solid var(--gold);background:#fffdf5}.read-state{padding:4px 7px;border-radius:99px;background:#fff1d3;color:#89610c}.read-state.read{background:#e6f4ed;color:#237255}.message-inbox{display:grid;gap:20px;max-width:950px}.notification-toast{position:fixed;right:22px;bottom:22px;z-index:2000;display:flex;align-items:center;gap:11px;min-width:280px;padding:14px 16px;border-radius:14px;background:#173f38;color:#fff;box-shadow:0 14px 45px #102d4260;transform:translateY(30px);opacity:0;transition:.25s}.notification-toast.show{transform:none;opacity:1}.notification-toast>span{font-size:1.4rem}.notification-toast strong,.notification-toast small{display:block}.notification-toast small{color:#bdd8d1;margin-top:2px}
.mini-recording-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-recording-card{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fafb);border-radius:15px;padding:13px;text-align:left;display:flex;gap:11px;align-items:center;min-width:0;box-shadow:0 6px 20px rgba(25,51,67,.04)}.mini-recording-card:hover{border-color:#b7d9e6;transform:translateY(-1px)}.play-orb{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(16,45,66,.18);flex:0 0 auto}.mini-recording-card span:nth-child(2){min-width:0}.mini-recording-card small,.mini-recording-card strong,.mini-recording-card em{display:block}.mini-recording-card small{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}.mini-recording-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0;font-size:.9rem}.mini-recording-card em{font-style:normal;color:var(--muted);font-size:.75rem}.video-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(8,26,38,.72);display:grid;place-items:center;padding:28px;backdrop-filter:blur(4px)}.video-lightbox[hidden]{display:none}.video-lightbox-card{width:min(980px,100%);background:#fff;border-radius:20px;padding:20px;box-shadow:0 28px 80px rgba(0,0,0,.35);position:relative}.video-lightbox-card h2{margin:0 0 14px}.video-lightbox-card video{display:block;width:100%;max-height:70vh;background:#102d42;border-radius:12px}.video-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#eef3f5;color:var(--navy);font-size:1.5rem;line-height:1}
.compact-recording-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.compact-recording-card{padding:0;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 10px 28px rgba(16,45,66,.06)}.recording-preview{width:100%;min-height:106px;border:0;padding:18px;text-align:left;color:#fff;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.22),transparent 28%),linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;gap:14px;cursor:pointer}.recording-preview:hover .recording-play{transform:scale(1.06)}.recording-play{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ffffff;color:var(--navy);box-shadow:0 10px 25px rgba(0,0,0,.2);transition:.18s;flex:0 0 auto;font-size:.95rem}.recording-preview-copy{min-width:0}.recording-preview-copy small,.recording-preview-copy strong{display:block}.recording-preview-copy small{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:800;color:#d6edf4}.recording-preview-copy strong{margin-top:4px;font:800 1rem Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-recording-card .recording-copy{padding:14px}.compact-recording-card .recording-copy h2{font-size:1.05rem;margin:2px 0 9px}.compact-recording-card .recording-copy p{margin:0 0 10px}.compact-recording-card .recording-stats{gap:6px;margin:10px 0}.compact-recording-card .recording-stats span{font-size:.7rem;padding:5px 8px}.compact-recording-card form{margin-top:10px}.compact-recording-card .text-button.danger{font-size:.78rem}
.recording-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recording-student-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;color:inherit;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdfe)}.recording-student-card:hover{border-color:#b7d9e6;transform:translateY(-1px);box-shadow:0 14px 34px rgba(16,45,66,.08)}.student-card-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font:800 1.2rem Manrope;overflow:hidden}.student-card-avatar img{width:100%;height:100%;object-fit:cover}.student-card-copy,.student-card-copy strong,.student-card-copy small,.student-card-copy em,.student-card-stats,.student-card-stats b,.student-card-stats small{display:block}.student-card-copy{min-width:0}.student-card-copy strong{font:800 1rem Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-copy small,.student-card-copy em,.student-card-stats small{color:var(--muted);font-size:.76rem}.student-card-copy em{font-style:normal;margin-top:4px}.student-card-stats{text-align:right}.student-card-stats b{color:var(--navy)}.recording-student-card>i{grid-column:1/-1;justify-self:end;font-style:normal;color:var(--blue);font-size:.8rem;font-weight:800}.recording-list-head{margin-bottom:16px}
.show-password-toggle{display:flex!important;align-items:center;gap:9px;width:max-content;font-size:.85rem;font-weight:800;color:var(--blue);cursor:pointer}.show-password-toggle input{width:auto!important;margin:0!important}
.wide-panel{max-width:760px}.application-layout{grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr)}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.announcement-link-card{display:block;color:inherit}.announcement-link-card:hover{border-color:#b7d9e6;box-shadow:0 12px 30px rgba(16,45,66,.08);transform:translateY(-1px)}.announcement-body{white-space:pre-wrap;line-height:1.7}.inline-form input{width:auto;min-width:170px;border:1px solid #ccd9df;border-radius:9px;padding:8px;background:#fff}.message-card footer{align-items:center}
.field-error input,.field-error select,.field-error textarea,input[aria-invalid="true"]{border-color:#c34b42!important;box-shadow:0 0 0 3px rgba(195,75,66,.14)}.field-error-text{display:block;margin-top:5px;color:#a63a32;font-weight:800}
.cohort-editor-panel{overflow:visible}.cohort-edit-table{min-width:0}.cohort-edit-table th{vertical-align:bottom;white-space:nowrap}.cohort-edit-table td{vertical-align:middle}.event-reminder-strip{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:stretch;margin:0 0 24px;padding:18px;border:1px solid #f1c96a;border-radius:18px;background:#fff9e8;box-shadow:0 18px 35px rgba(111,76,16,.08)}.event-reminder-strip h2{margin:0}.event-reminder-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.event-reminder-card{display:grid;gap:4px;padding:14px;border-radius:14px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid #f3d996}.event-reminder-card span,.calendar-event-row em{width:max-content;padding:4px 9px;border-radius:999px;background:#ffe7a4;color:#7b4a00;font-size:.72rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.event-reminder-card small{color:var(--muted)}.event-reminder-card.flash,.calendar-event-row.flash{animation:eventPulse 1.25s ease-in-out infinite;border-color:#e99c2f;background:#fff3d1}.event-reminder-card.soon,.calendar-event-row.soon{border-color:#f1c96a}.calendar-event-row em:empty{display:none}.calendar-event-row{position:relative}.calendar-event-row em{margin-left:auto}@keyframes eventPulse{0%,100%{box-shadow:0 0 0 0 rgba(233,156,47,.4)}50%{box-shadow:0 0 0 8px rgba(233,156,47,.08);transform:translateY(-1px)}}@media(max-width:760px){.event-reminder-strip{grid-template-columns:1fr}.cohort-edit-table{min-width:0}}
.enrollment-admin-panel{margin-bottom:20px}.bulk-details{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfe}.bulk-details summary{cursor:pointer;font-weight:900;color:var(--navy)}.bulk-details form{margin-top:12px}.mini-status-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:8px;align-items:center;border:1px solid #edf1f3;border-radius:12px;padding:9px;margin:8px 0;background:#fff}.mini-status-form span{font-weight:800;min-width:0}.mini-status-form select{border:1px solid #ccd9df;border-radius:9px;padding:8px;background:#fff}.table-status-form{grid-template-columns:120px auto;border:0;padding:0;margin:0;background:transparent}.check-list label small{color:var(--muted);font-size:.72rem;margin-left:4px}.enrollment-search{margin-bottom:8px}
.list-search{display:block;margin:0 0 16px;font-size:.82rem;font-weight:900;color:var(--navy)}.list-search input{display:block;width:min(520px,100%);margin-top:7px;border:1px solid #c7d8df;border-radius:999px;padding:11px 15px;background:#fff;box-shadow:0 6px 18px rgba(25,51,67,.04)}.list-search.compact input{width:100%;border-radius:12px}.class-list article.calendar-event-row{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #edf1f3;border-radius:12px;background:#fff}.class-list article.calendar-event-row:hover{background:#f8fbfc}.class-list article.calendar-event-row>span:nth-child(2){flex:1}.inline-editor{margin-left:8px;min-width:120px}.inline-editor summary{cursor:pointer;width:max-content;padding:6px 10px;border-radius:999px;background:#eaf4f8;color:var(--blue);font-weight:900;font-size:.78rem}.inline-editor[open]{grid-column:1/-1}.compact-form{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfdfe}.speed-test-callout,.payment-provider-callout{border:1px solid #f1c96a;background:#fff9e8;border-radius:16px;padding:14px;margin:16px 0}.speed-test-callout{margin-top:0}.speed-test-callout strong{display:block;color:#7b4a00;font-size:1rem}.speed-test-callout p,.payment-provider-callout p{margin:6px 0 12px;color:var(--muted);font-size:.84rem}.payment-provider-callout h3{margin:0 0 6px;color:#7b4a00}.status-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eaf4f8;color:var(--blue);font-size:.72rem;font-weight:900;vertical-align:middle}
.login-history-stats{margin-bottom:20px}.login-history-table td{vertical-align:top}.login-history-table small{display:block;color:var(--muted);margin-top:3px}.login-state{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e8f4ec;color:#237255;font-size:.74rem;font-weight:800}.login-state.active{background:#fff4d8;color:#9a6a08}.login-state.failed{background:#fde9e7;color:#b43a32}.browser-cell{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.placement-banner{display:flex;align-items:center;gap:16px;margin-bottom:20px}.placement-banner>span{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--blue));font-size:1.5rem}.placement-banner h2{margin:1px 0 5px}.placement-banner p{margin:0;color:var(--muted)}.global-leaderboard{margin:20px 0}.leaderboard div small+small{margin-top:2px}
.filter-row{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.filter-row label{font-size:.82rem;font-weight:800;color:var(--navy)}.filter-row input,.filter-row select{display:block;min-width:210px;margin-top:6px;border:1px solid #ccd9df;border-radius:10px;padding:10px;background:#fff}.attendance-summary{display:flex;gap:8px;flex-wrap:wrap}.attendance-summary span{border-radius:99px;background:#eef6f8;color:var(--navy);padding:6px 10px;font-size:.76rem;font-weight:800}.attendance-table select,.attendance-table input{width:100%;border:1px solid #ccd9df;border-radius:9px;padding:9px;background:#fff}.form-actions{display:flex;justify-content:flex-end;margin-top:16px}.check-list{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px}.check-list legend{font-weight:800;color:var(--navy);padding:0 6px}.check-list label{display:flex;align-items:center;gap:8px;font-weight:600}.check-list label[hidden],.program-class-picker [hidden]{display:none!important}.check-list input{width:auto;margin:0}.check-list.compact{grid-template-columns:repeat(2,minmax(0,1fr));font-size:.82rem}.program-class-picker{margin-bottom:14px}.program-class-picker .check-list{align-content:start}.program-picker-list label,.class-picker-list label{align-items:flex-start}.program-picker-list span,.class-picker-list span,.program-picker-list strong,.class-picker-list strong,.program-picker-list small,.class-picker-list small{display:block}.class-setup-card{border:1px solid #edf1f3;border-radius:14px;padding:12px;background:#fff}.class-setup-card>a{border:0;padding:0 0 10px}.teacher-assign-form{border-top:1px solid #edf1f3;padding-top:10px}.teacher-assign-form .button{margin-top:10px}.report-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}.report-grid{align-items:start}.report-note{margin-top:20px}.muted{color:var(--muted)}@media print{.sidebar,.menu-toggle,.language-switcher,.floating-message,.no-print,.head-actions,.flash{display:none!important}.main-shell{margin:0!important;padding:20px!important}.panel,.stat-card{box-shadow:none!important}.data-table th,.data-table td{padding:8px}.page-head{margin-bottom:16px}.two-column,.report-stats{grid-template-columns:1fr!important}}
.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.program-card h2{margin-top:0}.cohort-list{display:grid;gap:12px}.cohort-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdfe}.cohort-list strong,.cohort-list small,.cohort-list span{display:block}.cohort-list small{color:var(--muted);font-size:.76rem;margin-top:3px}.cohort-list span{font:800 1rem Manrope;color:var(--navy);text-align:right}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;background:#e6f4ed;color:#237255;padding:6px 10px;font-size:.72rem;font-weight:800;white-space:nowrap}.status-pill.closed{background:#fff1d3;color:#89610c}.mini-edit-form{display:grid;grid-template-columns:1.4fr 80px 100px auto auto;gap:7px;align-items:center}.mini-edit-form input{border:1px solid #ccd9df;border-radius:8px;padding:8px}.inline-check{display:flex;align-items:center;gap:5px;font-size:.75rem}.printable-card{max-width:860px;margin:0 auto;background:#fff}.report-card-paper,.receipt-card{padding:38px}.report-card-paper h2,.receipt-card h2{text-align:center;color:var(--navy);margin:0;font-size:1.45rem}.report-card-paper h3,.receipt-card h3{text-align:center;margin:6px 0 26px;color:var(--blue)}.report-meta,.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 26px;margin-bottom:22px}.report-meta p,.receipt-grid p{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f3;padding-bottom:8px;margin:0}.report-meta strong,.receipt-grid strong{color:var(--navy)}.report-meta span,.receipt-grid span{text-align:right}.report-meta.small{grid-template-columns:1fr}.report-grade-table{margin:18px 0}.receipt-total{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:16px;padding:20px;margin:20px 0}.receipt-total span{font-weight:800}.receipt-total strong{font:800 2rem Manrope}.receipt-card .data-table th{width:50%}@media(max-width:1050px){.program-grid{grid-template-columns:1fr}.cohort-list article,.mini-edit-form,.report-meta,.receipt-grid{grid-template-columns:1fr}.cohort-list span{text-align:left}}@media print{.printable-card{max-width:none;border:0!important}.report-card-paper,.receipt-card{padding:0}.report-meta,.receipt-grid{grid-template-columns:repeat(2,1fr)!important}.status-pill{border:1px solid currentColor}}
.grouped-nav{overflow:auto;padding-right:2px}.nav-group{border-top:1px solid rgba(255,255,255,.08);padding-top:7px;margin-top:7px}.nav-group summary{cursor:pointer;list-style:none;padding:8px 12px;color:#8fb0c0;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"+";float:right;font-size:.8rem;color:#aac2cf}.nav-group[open] summary:after{content:"-"}.sidebar-foot form{margin-top:10px}.signout-button{width:100%;border:1px solid rgba(255,255,255,.2);background:#fff;color:var(--navy);border-radius:12px;padding:11px 13px;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.12)}.signout-button:hover{background:#f5fbfd;transform:translateY(-1px)}.data-table input,.data-table textarea{width:100%;border:1px solid #ccd9df;border-radius:8px;padding:8px;background:#fff}.profile-upload{align-items:center;flex-wrap:wrap;margin:0 0 16px}.profile-upload input[type=file]{max-width:260px}.profile-card .stack-form{margin-top:18px;text-align:left}
.coursera-dashboard-panel{margin-bottom:20px}.coursera-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.coursera-summary-grid div{border:1px solid #edf1f3;border-radius:14px;background:#f7fbfd;padding:14px}.coursera-summary-grid strong,.coursera-summary-grid span{display:block}.coursera-summary-grid strong{font:800 1.4rem Manrope;color:var(--navy)}.coursera-summary-grid span{font-size:.75rem;color:var(--muted)}.coursera-student-list{display:grid;gap:9px}.coursera-student-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.coursera-student-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #edf1f3;border-radius:13px;padding:12px;background:#fff;color:inherit}.coursera-student-card:hover{background:#f8fbfc}.coursera-student-card strong,.coursera-student-card small{display:block}.coursera-student-card small{color:var(--muted);font-size:.74rem}.coursera-student-card b{font:800 1rem Manrope;color:var(--blue)}.coursera-import-panel{margin-bottom:20px}.coursera-admin-grid{align-items:start;margin-bottom:20px}.table-wrap{overflow:auto}@media(max-width:1050px){.coursera-summary-grid,.coursera-student-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.coursera-summary-grid,.coursera-student-list.compact{grid-template-columns:1fr}}
.coursera-steps{margin-top:16px;border:1px solid #dbe8ee;background:#f7fbfd;border-radius:14px;padding:14px;color:var(--navy)}.coursera-steps ol{margin:8px 0 0 20px;padding:0;color:var(--muted)}.financial-stat-grid{margin-bottom:20px}.financial-overview-panel{margin-bottom:20px}.financial-chart{display:grid;gap:10px}.financial-chart label{display:grid;grid-template-columns:150px 42px minmax(0,1fr);align-items:center;gap:10px;font-weight:900}.financial-chart b{text-align:right}.financial-chart i,.program-finance-bars em,.trend-bars em{display:block;height:13px;border-radius:999px;background:#e7eef1;overflow:hidden}.financial-chart i:before,.program-finance-bars i,.trend-bars i{content:"";display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),#65bfd0)}.financial-chart i.paid:before{background:linear-gradient(90deg,var(--green),#68cfa7)}.financial-chart i.partial:before{background:linear-gradient(90deg,var(--gold),#f2cd6b)}.financial-chart i.unpaid:before{background:linear-gradient(90deg,#d65f57,#f09b88)}.program-finance-bars{display:grid;gap:10px;margin-top:18px}.program-finance-bars div{display:grid;grid-template-columns:220px minmax(190px,1fr) minmax(160px,2fr);gap:10px;align-items:center;border-top:1px solid #edf1f3;padding-top:10px}.program-finance-bars span{color:var(--muted);font-size:.8rem}.report-chart-panel{margin-bottom:20px}.attendance-donut-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center}.attendance-ring{background:conic-gradient(var(--green) calc(var(--present)*1%),var(--gold) 0 calc((var(--present) + var(--late))*1%),#d65f57 0 calc((var(--present) + var(--late) + var(--absent))*1%),#b9c7cf 0)}.trend-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:18px}.trend-bars div{border:1px solid #edf1f3;border-radius:12px;padding:9px;background:#fbfdfe}.trend-bars span,.trend-bars b{display:block;font-size:.74rem;color:var(--muted);font-weight:900}.trend-bars b{text-align:right;margin-top:3px}.report-bars{align-self:stretch}@media(max-width:1050px){.program-finance-bars div{grid-template-columns:1fr}.attendance-donut-row{grid-template-columns:1fr}.financial-chart label{grid-template-columns:1fr auto}}
.attendance-workflow-filter{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;align-items:end}.attendance-sheet-title{align-items:flex-start}.attendance-print-meta{margin:14px 0 18px}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cfe1e7;border-radius:12px;background:#f3fafc;color:var(--navy);padding:12px 14px;margin:0 0 16px}.notice.warning{border-color:#f0cf7a;background:#fff9e8}.notice span{color:var(--muted);font-size:.82rem}.attendance-bulk-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}.attendance-table th:nth-child(2){width:160px}.attendance-table th:nth-child(3){width:140px}.attendance-table th:last-child{width:110px}.attendance-operations{align-items:start;margin-top:20px}.attendance-metrics{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));margin-bottom:16px}.metric-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf1f3;margin:0;padding:9px 0}.attendance-history-list a b{min-width:160px;text-align:right}.attendance-empty{place-items:start}.two-column.tight{gap:16px}@media(max-width:1200px){.attendance-workflow-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-table th:nth-child(2),.attendance-table th:nth-child(3),.attendance-table th:last-child{width:auto}}@media(max-width:700px){.attendance-workflow-filter{grid-template-columns:1fr}.attendance-bulk-actions .button{width:100%}.attendance-summary span{flex:1 1 120px;text-align:center}.attendance-history-list a{grid-template-columns:auto minmax(0,1fr)}}@media print{.attendance-print-sheet{border:0!important;padding:0!important}.attendance-print-sheet .attendance-summary span{border:1px solid #cfdbe1;background:#fff}.attendance-print-meta{grid-template-columns:repeat(2,1fr)!important}.attendance-table th:last-child,.attendance-table td:last-child{display:none!important}.attendance-table input,.attendance-table select{border:0;padding:0;appearance:none}.attendance-table input::placeholder{color:transparent}.attendance-head p,.attendance-head .eyebrow{display:none}}
.gradebook-filter{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;align-items:end}.gradebook-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:20px}.gradebook-sheet{overflow:hidden}.gradebook-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.gradebook-matrix{min-width:980px;border:0}.gradebook-matrix th,.gradebook-matrix td{vertical-align:top}.gradebook-matrix th{white-space:normal;min-width:170px}.gradebook-matrix th strong,.gradebook-matrix th small,.gradebook-matrix td small{display:block}.gradebook-matrix th small,.gradebook-matrix td small{color:var(--muted);font-size:.72rem;margin-top:3px}.gradebook-matrix input,.gradebook-matrix select{width:100%;border:1px solid #ccd9df;border-radius:8px;padding:8px;background:#fff;margin-bottom:6px}.gradebook-matrix input[name^="comments_"]{font-size:.78rem}.gradebook-matrix .sticky-col{position:sticky;left:0;z-index:2;min-width:220px;background:#fff}.gradebook-matrix thead .sticky-col{z-index:3;background:#f7fbfd}.gradebook-admin-grid{align-items:start;margin-top:20px}.gradebook-item-list{display:grid;gap:10px}.gradebook-empty{place-items:start}.report-category-summary{margin-top:18px}@media(max-width:1200px){.gradebook-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.gradebook-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.gradebook-filter,.gradebook-stats{grid-template-columns:1fr}.gradebook-matrix{min-width:760px}.gradebook-matrix .sticky-col{min-width:180px}}@media print{.gradebook-head p,.gradebook-head .eyebrow,.gradebook-admin-grid{display:none!important}.gradebook-sheet{border:0!important;padding:0!important}.gradebook-scroll{overflow:visible;border:0}.gradebook-matrix{min-width:0;font-size:.72rem}.gradebook-matrix input,.gradebook-matrix select{border:0;padding:0;margin:0;appearance:none}.gradebook-matrix input[name^="comments_"],.gradebook-matrix select{display:none}.gradebook-matrix .sticky-col{position:static}}
.speed-recording-note{display:flex;align-items:center;gap:9px;border:1px solid #d8e3de;background:#f7fbf9;border-radius:14px;padding:10px 12px;margin:12px 0;color:var(--navy)}.speed-recording-note small{color:var(--muted);font-size:.76rem}.speed-recording-note.recording{border-color:#e06262;background:#fff5f5}.speed-recording-note.uploading{border-color:#e1bd55;background:#fff9e8}.recording-dot{width:10px;height:10px;border-radius:50%;background:#9aa7a3;box-shadow:0 0 0 4px #9aa7a31c}.speed-recording-note.recording .recording-dot{background:#d54e4e;animation:recordPulse 1.2s infinite}.speed-recording-note.uploading .recording-dot{background:#d4a42e}
@keyframes recordPulse{50%{box-shadow:0 0 0 7px #d54e4e22}}
.certificate-card{text-align:center;border:10px double #d9a441!important;padding:54px!important}.certificate-card h1{font-size:2.3rem;color:var(--navy)}.certificate-card h2{font-size:1.7rem;color:var(--green)}.certificate-card h3{text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}
@media(max-width:1050px){.compact-recording-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.compact-recording-grid,.recording-student-grid{grid-template-columns:minmax(0,1fr)}.recording-student-card{grid-template-columns:auto minmax(0,1fr)}.student-card-stats{text-align:left;grid-column:2}.recording-preview{min-height:92px}.recording-preview-copy strong{white-space:normal}}
@media(max-width:760px){.communication-layout{grid-template-columns:minmax(0,1fr)}.message-banner{align-items:flex-start;flex-wrap:wrap}.message-banner .button{width:100%}.student-contact-list em{display:none}}
.edition-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.edition-buttons .button{text-align:center;padding-left:8px;padding-right:8px}
.message-reply{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.message-reply summary{cursor:pointer;color:var(--blue);font-weight:800;font-size:.82rem}.message-reply form{display:grid;gap:9px;margin-top:10px}.message-reply label span{display:block;margin-bottom:5px;font-size:.75rem;font-weight:700;color:var(--muted)}.message-reply textarea{width:100%;resize:vertical}.message-reply .button{justify-self:start}
.floating-message{position:fixed;right:22px;bottom:22px;z-index:2100}.floating-message>summary{list-style:none;min-width:58px;height:58px;border-radius:999px;display:flex;align-items:center;gap:9px;padding:0 18px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;box-shadow:0 14px 35px #102d4260;cursor:pointer;position:relative}.floating-message>summary::-webkit-details-marker{display:none}.floating-message>summary span{font-size:1.45rem}.floating-message>summary em{font-style:normal;font-weight:800;font-size:.8rem;white-space:nowrap}.floating-message>summary b{position:absolute;right:-2px;top:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef685f;color:#fff;display:grid;place-items:center;font-size:.7rem}.floating-message-panel{position:absolute;right:0;bottom:72px;width:min(360px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 120px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 24px 60px #102d4250}.floating-message-panel h2{margin:0 0 6px;font-size:1.2rem}.floating-message-panel p{margin:0 0 14px;color:var(--muted);font-size:.85rem}.floating-message-panel textarea{resize:vertical}.floating-message[open]>summary{transform:translateY(-2px)}
.floating-events{position:fixed;left:282px;bottom:22px;z-index:2050;width:min(330px,calc(100vw - 560px));display:grid;gap:8px;padding:12px;border:1px solid #f1c96a;border-radius:18px;background:#fff9e8;box-shadow:0 18px 45px rgba(111,76,16,.18)}.floating-events>strong{color:#7b4a00;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.floating-events a{display:grid;gap:2px;padding:9px 10px;border-radius:12px;background:#fff;color:var(--ink);border:1px solid #f3d996}.floating-events a:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(111,76,16,.12)}.floating-events span{width:max-content;border-radius:999px;background:#ffe7a4;color:#7b4a00;padding:3px 8px;font-size:.68rem;font-weight:900}.floating-events b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-events small{color:var(--muted);font-size:.72rem}.floating-events a.flash{animation:eventPulse 1.25s ease-in-out infinite;border-color:#e99c2f;background:#fff3d1}.upcoming-calendar-panel{border-color:#cfe1e8}.cohort-teacher-picker .check-list{margin-top:10px;min-width:320px}.event-cohort-field{transition:.15s}@media(max-width:1200px){.floating-events{left:22px;width:min(330px,calc(100vw - 420px))}}@media(max-width:760px){.floating-events{left:16px;right:16px;bottom:92px;width:auto}.floating-message{right:16px;bottom:16px}}
.floating-announcements{position:fixed;left:282px;bottom:190px;z-index:2052;width:min(330px,calc(100vw - 560px));display:grid;gap:8px;padding:12px;border:1px solid #b7d9e6;border-radius:18px;background:#f4fbff;box-shadow:0 18px 45px rgba(16,45,66,.16)}.floating-announcements>strong{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.floating-announcements a{display:grid;gap:2px;padding:9px 10px;border-radius:12px;background:#fff;color:var(--ink);border:1px solid #cfe1e8}.floating-announcements a:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(16,45,66,.12)}.floating-announcements span{width:max-content;border-radius:999px;background:#e2f3fb;color:var(--blue);padding:3px 8px;font-size:.68rem;font-weight:900}.floating-announcements b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-announcements small{color:var(--muted);font-size:.72rem}.draggable-floating{touch-action:none}.draggable-floating.dragging{cursor:grabbing;opacity:.96}.floating-announcements::after,.floating-events::after{content:"Drag to move";justify-self:end;font-size:.62rem;color:var(--muted)}@media(max-width:1200px){.floating-announcements{left:22px;width:min(330px,calc(100vw - 420px))}}@media(max-width:760px){.floating-announcements{left:16px;right:16px;bottom:260px;width:auto}}
.floating-card{gap:8px}.floating-card-head{display:flex;align-items:center;gap:8px;min-width:0}.floating-card-head strong{flex:1;color:inherit;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.floating-card-head span{font-size:.62rem;color:var(--muted);white-space:nowrap}.floating-card-head button{width:25px;height:25px;border:1px solid rgba(16,45,66,.12);border-radius:8px;background:#fff;color:var(--navy);font-weight:900;line-height:1}.floating-card-head button:hover{background:#edf6f8}.floating-card-body{display:grid;gap:8px}.floating-card.minimized{width:min(260px,calc(100vw - 32px));padding:10px 12px}.floating-card.minimized .floating-card-body{display:none}.floating-card.minimized .floating-card-head span{display:none}.floating-card.minimized .floating-minimize{background:var(--navy);color:#fff}.floating-card.minimized .floating-minimize::before{content:"+"}.floating-card.minimized .floating-minimize{font-size:0}.floating-card[hidden]{display:none!important}.floating-announcements>strong,.floating-events>strong{display:none}.floating-announcements::after,.floating-events::after{content:none}.floating-announcements .floating-card-head strong{color:var(--blue)}.floating-events .floating-card-head strong{color:#7b4a00}.grouped-nav{scrollbar-width:thin;scrollbar-color:#87a8b8 transparent;overscroll-behavior:contain}.sidebar{padding-bottom:14px}.sidebar-foot{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(10,34,51,.92),#0a2233);border-radius:14px 14px 0 0}.nav-group summary{position:sticky;top:0;background:linear-gradient(180deg,var(--navy),rgba(16,45,66,.94));z-index:1;border-radius:9px}.sidebar nav a{min-height:42px}.sidebar nav a:focus-visible,.nav-group summary:focus-visible,.signout-button:focus-visible{outline:2px solid #9dd9e9;outline-offset:2px}@media(max-width:760px){.floating-card.minimized{width:min(240px,calc(100vw - 32px))}.sidebar{width:min(285px,86vw)}}

/* Accessible digital reader: width-first reading, real layout zoom, and independent scrolling. */
.reader-page>.language-switcher{display:none}.reader-page .reader-shell{height:100vh;overflow:hidden}.reader-page .reader-head{height:70px;min-height:70px;padding:0 18px;gap:14px}.reader-page .reader-actions{gap:6px;flex-wrap:nowrap}.reader-language{display:flex;padding:3px;background:#eef3f1;border-radius:999px;margin-right:6px}.reader-language a{padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:800;color:#52645f}.reader-language a.active{background:#1c5b50;color:#fff}.reader-actions .view-button{width:auto;min-width:58px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:5px}.reader-actions .view-button small{font-size:.62rem;font-weight:800}.reader-actions button.active{background:#e7f3ef;border-color:#84b2a7;color:#1d6558}.reader-stage{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:0;padding:0;overflow:hidden;align-items:stretch}.reader-scroll{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box;padding:24px 32px;background:radial-gradient(circle at 50% 15%,#3a5b69,#142630 75%)}.reader-scroll:fullscreen{background:#142630}.book-frame{width:min(1100px,100%);height:auto;max-height:none;aspect-ratio:8.5/11;margin:0 auto;transform:none!important;transform-origin:initial;place-items:stretch}.page-paper{height:auto;aspect-ratio:8.5/11}.page-paper img{height:auto;min-height:100%;object-fit:contain}.page-arrow{align-self:center;justify-self:center;position:relative;z-index:5}.page-arrow:disabled{opacity:.25}.reader-controls{height:62px;min-height:62px}.reader-stage:fullscreen{width:100vw;height:100vh;grid-template-columns:58px minmax(0,1fr) 58px;background:#142630}.reader-stage:fullscreen .reader-scroll{height:100vh}
@media(max-width:900px){.reader-page .reader-head>div:first-child span{display:none}.reader-actions .view-button small{display:none}.reader-actions .view-button{min-width:34px;width:34px;padding:0}.reader-language{margin-right:2px}}
@media(max-width:760px){.reader-page .reader-head{height:62px;min-height:62px;padding:0 8px 0 54px}.reader-head>div:first-child{gap:6px}.reader-head>div:first-child a{font-size:0}.reader-head>div:first-child a:before{content:"←";font-size:1rem}.reader-actions{margin-left:auto}.reader-actions #fullscreen,.reader-actions #fitPage{display:none}.reader-language a{padding:5px 7px}.reader-stage{grid-template-columns:36px minmax(0,1fr) 36px}.reader-scroll{scrollbar-gutter:auto;padding:10px 14px}.book-frame{width:100%;margin:0 auto}.page-arrow{width:30px;height:52px}.reader-controls{height:58px;min-height:58px;padding:0 8px;gap:8px}.reader-controls>span{min-width:82px;font-size:.7rem}.reader-controls form label{font-size:0}.reader-controls input[type=number]{width:54px}.reader-stage:fullscreen{grid-template-columns:36px minmax(0,1fr) 36px}}
.reader-switch-link{height:34px;min-height:34px;padding:8px 10px;font-size:.72rem;white-space:nowrap}.reader-nav-panel{border-bottom:1px solid var(--line);background:#f7fbfc;padding:0 18px 12px}.reader-nav-panel summary{cursor:pointer;color:var(--navy);font-weight:900;padding:11px 0}.reader-toc{display:flex;gap:6px;overflow:auto;padding:0 0 8px;scrollbar-width:thin}.reader-toc button,.reader-page-grid button{border:1px solid #d7e4e9;background:#fff;color:var(--navy);border-radius:8px;font-weight:800;cursor:pointer}.reader-toc button{white-space:nowrap;padding:8px 10px;font-size:.74rem}.reader-page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;max-height:132px;overflow:auto}.reader-page-grid button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;text-align:left;padding:7px 8px}.reader-page-grid strong{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#edf6f8;color:var(--blue);font-size:.72rem}.reader-page-grid span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;color:var(--muted)}.reader-toc button.active,.reader-page-grid button.active{border-color:#76b7ca;background:#eaf7fb}.reader-loading,.reader-error{align-self:start;justify-self:center;margin:42px auto;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.92);color:var(--navy);padding:14px 16px;font-weight:900}.reader-error{display:grid;gap:10px;text-align:center}.reader-error[hidden],.reader-loading[hidden]{display:none!important}@media(max-width:1100px){.reader-switch-link{display:none}.reader-page-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));max-height:100px}.reader-toc button{font-size:.68rem}}@media(max-width:760px){.reader-nav-panel{padding:0 10px 8px}.reader-page-grid{display:none}.reader-toc{padding-bottom:4px}.reader-toc button{padding:7px 8px}.reader-loading,.reader-error{margin-top:24px}}
.live-indicator{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:8px;padding:5px 9px;border-radius:999px;background:#e8f5ec;color:#237a46;font:700 11px "DM Sans",sans-serif;letter-spacing:.04em}.live-indicator i{width:7px;height:7px;border-radius:50%;background:#30a460;box-shadow:0 0 0 4px rgba(48,164,96,.14)}.live-indicator.offline{background:#f7eee4;color:#9b5a2e}.live-indicator.offline i{background:#c67b45;box-shadow:none}
.reminder-panel{margin-bottom:20px}.reminder-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.reminder-form{display:grid;gap:14px}.reminder-recipient-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:420px;overflow:auto;padding:4px}.reminder-recipient-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;box-shadow:0 8px 20px rgba(16,45,66,.04);font-weight:800}.reminder-recipient-card:hover{border-color:#b7d9e6;background:#f8fbfc}.reminder-recipient-card input{width:18px;height:18px;accent-color:var(--blue)}.reminder-recipient-card strong,.reminder-recipient-card small{display:block}.reminder-recipient-card small{color:var(--muted);font-size:.74rem;font-weight:600}.reminder-recipient-card b{color:#9a6a08;background:#fff4d8;border-radius:999px;padding:5px 9px;white-space:nowrap}.form-actions.split{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.button:disabled{opacity:.55;cursor:not-allowed}
.message-summary-grid{margin-bottom:20px}.compact-message-list{display:grid;gap:10px}.compact-message-list .message-card{padding:15px 16px}.compact-message-list .message-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.message-inbox .section-title.compact{align-items:center;margin-bottom:12px}.message-inbox .section-title.compact p{margin:3px 0 0}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.program-group-stack,.library-group-stack{display:grid;gap:18px}.program-type-card,.library-group-card{padding:0;overflow:hidden}.group-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;cursor:pointer;background:linear-gradient(135deg,#ffffff,#f3f8fa);border-bottom:1px solid transparent}.group-summary::-webkit-details-marker{display:none}.group-summary span,.group-summary strong,.group-summary small{display:block}.group-summary strong{font:800 1.1rem Manrope;color:var(--navy)}.group-summary small{color:var(--muted);font-size:.78rem;margin-top:3px}.group-summary b{border-radius:999px;background:#eaf4f8;color:var(--blue);font-size:.78rem;padding:7px 10px}.program-type-card[open] .group-summary,.library-group-card[open] .group-summary{border-bottom-color:var(--line)}.program-type-card[open] .group-summary b,.library-group-card[open] .group-summary b{background:var(--navy);color:#fff}.program-type-card .program-grid,.library-group-card .library-grid{padding:18px}.grouped-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(16,45,66,.05);padding:20px}.grouped-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1050px){.grouped-library-grid{grid-template-columns:1fr}.program-type-card .program-grid,.library-group-card .library-grid{padding:14px}.group-summary{padding:16px}}
.staff-record-title{margin-top:24px}.staff-contact-row{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.staff-contact-row>span:nth-child(2){flex:1}.staff-contact-row strong,.staff-contact-row small{display:block}.staff-contact-row small{color:var(--muted)}

.attention-strip{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:14px 0 18px;padding:14px 16px;border:1px solid #f1cb68;border-radius:16px;background:#fff9e8;box-shadow:0 8px 24px rgba(217,164,65,.10)}.attention-strip strong{color:#7b4a00}.attention-strip span{flex:1;color:var(--muted)}@media(max-width:760px){.attention-strip{align-items:flex-start;flex-direction:column}.attention-strip .button{width:100%;justify-content:center}}
.mini-report-grid{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px;margin-top:12px}.mini-report-grid span{display:block;padding:9px;border-radius:11px;background:#f4f8fa;border:1px solid #edf1f3}.mini-report-grid strong,.mini-report-grid small{display:block}.mini-report-grid small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}@media(max-width:900px){.mini-report-grid{grid-template-columns:repeat(2,1fr)}}
.wizard-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.wizard-steps span{display:block;border:1px solid var(--line);border-radius:8px;background:#f7fafb;padding:10px 12px;font-size:.78rem;font-weight:900;color:var(--navy)}.academic-flow-panel{margin-bottom:20px}.cohort-editor-panel .data-table select,.cohort-editor-panel .data-table input{min-width:120px}.cohort-editor-panel .form-grid.two{gap:6px}
.settings-subpanel{border:1px solid var(--line);border-radius:12px;background:#fbfdfe;padding:16px;display:grid;gap:12px}.settings-subpanel h3{margin:0;color:var(--navy);font-size:1rem}
.program-management-panel{margin-bottom:18px}.program-management-panel .section-title{margin-bottom:16px}.program-create-form{display:grid;gap:14px}.program-create-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(150px,210px) minmax(280px,1.4fr);gap:16px;align-items:end}.program-create-grid label,.program-management-table label{display:grid;gap:7px;color:var(--navy);font-size:.82rem;font-weight:900}.program-create-grid input,.program-management-table input,.program-management-table textarea{width:100%;min-height:44px;border:1px solid #ccd9df;border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink)}.program-create-grid input:focus,.program-management-table input:focus,.program-management-table textarea:focus,.currency-input:focus-within{outline:2px solid rgba(47,126,166,.25);border-color:var(--blue)}.program-create-actions{display:flex;justify-content:flex-start}.program-create-actions .button{width:auto;min-width:132px}.currency-input{display:flex;align-items:center;min-height:44px;border:1px solid #ccd9df;border-radius:8px;background:#fff;overflow:hidden}.currency-input>span{padding:0 10px;color:var(--muted);font-weight:900}.currency-input input{border:0!important;border-radius:0!important;min-height:42px;padding-left:0!important}.currency-input input:focus{outline:0}.currency-input.compact{min-width:130px}.program-table-wrap{margin-top:18px}.program-management-table{width:100%;min-width:920px;border-collapse:collapse}.program-management-table th,.program-management-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px;vertical-align:top}.program-management-table th{color:var(--navy);font-size:.78rem;font-weight:900;white-space:nowrap}.program-management-table td{font-size:.84rem}.program-management-table textarea{resize:vertical;min-height:58px}.program-management-table small{display:block;margin-top:5px;color:var(--muted)}.program-status-control{display:flex!important;grid-template-columns:auto auto;align-items:center;gap:8px;font-weight:800}.program-status-control input{width:auto;min-height:auto;margin:0}.program-class-count{display:inline-flex;align-items:center;border-radius:999px;background:#eef6f8;color:var(--navy);padding:6px 10px;font-size:.74rem;font-weight:900;white-space:nowrap}.program-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.program-row-actions .button{padding:9px 13px}.program-empty-state{display:grid;gap:8px;margin-top:18px;border:1px dashed #b9cbd4;border-radius:12px;background:#fbfdfe;padding:24px}.program-empty-state h3{margin:0;color:var(--navy);font-size:1.05rem}.program-empty-state p{margin:0 0 6px;color:var(--muted)}.program-search-panel{margin:0 0 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.program-create-grid{grid-template-columns:1fr 180px}.program-create-grid label:last-child{grid-column:1/-1}.program-row-actions{min-width:180px}}@media(max-width:760px){.program-create-grid{grid-template-columns:1fr}.program-create-actions .button{width:100%}.program-management-table{min-width:760px}}
.report-center-head{align-items:flex-start}.report-workflow{margin-bottom:18px}.report-step-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.report-step-strip span{display:grid;place-items:center;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#f7fbfd;color:var(--navy);font-size:.76rem;font-weight:900}.report-builder{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end}.report-builder label{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:900}.report-builder label.wide{grid-column:span 2}.report-builder input,.report-builder select{width:100%;min-height:42px;border:1px solid #ccd9df;border-radius:8px;background:#fff;padding:9px 11px;color:var(--ink)}.report-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:18px}.report-category-card{padding:16px}.report-category-card.active{border-color:#87c6d6;background:#f3fbfd}.report-category-card div{display:flex;flex-wrap:wrap;gap:6px}.report-category-card span{border:1px solid #dbe8ee;border-radius:999px;background:#fff;padding:6px 8px;color:var(--muted);font-size:.72rem;font-weight:800}.report-center-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 0 20px}.print-cover{margin-bottom:20px}.print-cover .section-title{margin-bottom:0}@media(max-width:1200px){.report-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.report-builder label.wide{grid-column:auto}.report-step-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.report-builder,.report-step-strip{grid-template-columns:1fr}.report-builder .button{width:100%}}@media print{.report-category-grid{display:none!important}.print-cover{border:0!important;padding:0!important}.report-center-stats{grid-template-columns:repeat(4,1fr)!important}.report-note{display:none!important}}
.admin-control{display:block;width:100%;min-height:44px;border:1px solid #ccd9df;border-radius:8px;background:#fff;color:var(--ink);padding:10px 40px 10px 12px;box-shadow:0 6px 18px rgba(25,51,67,.04)}select.admin-control{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 12px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.admin-control:focus{outline:2px solid rgba(47,126,166,.25);border-color:var(--blue)}.admin-control:disabled,.button.disabled,.button:disabled{opacity:.52;cursor:not-allowed}.button.disabled{pointer-events:none}.admin-empty-state{display:grid;gap:8px;margin-top:18px;border:1px dashed #b9cbd4;border-radius:12px;background:#fbfdfe;padding:22px}.admin-empty-state h3{margin:0;color:var(--navy);font-size:1.05rem}.admin-empty-state p{margin:0;color:var(--muted)}.registration-flow-panel{margin-bottom:20px}.registration-workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.workflow-field{display:grid;gap:8px}.workflow-step{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:.82rem;font-weight:900}.workflow-step b{display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#e8f2f5;color:var(--blue);font:800 .78rem Manrope}.registration-class-details{margin-top:16px;border:1px solid #edf1f3;border-radius:12px;background:#fbfdfe;padding:12px 14px}.registration-summary-card{margin-top:16px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}.registration-summary-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.registration-summary-card div{border:1px solid #edf1f3;border-radius:12px;background:#f7fafb;padding:12px}.registration-summary-card dt{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.registration-summary-card dd{margin:4px 0 0;color:var(--navy);font-weight:900}.registration-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.registration-actions .button{min-height:42px}@media(max-width:1050px){.registration-workflow-grid,.registration-summary-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.registration-workflow-grid,.registration-summary-card dl{grid-template-columns:1fr}.registration-actions .button{width:100%}}
.dashboard-quick-actions .button{min-height:42px}.admin-overview-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:20px}.admin-secondary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.admin-onboarding-panel{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(320px,1.3fr);gap:22px;align-items:start;margin-bottom:20px}.admin-onboarding-panel h2{margin:0 0 8px}.setup-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;counter-reset:setup}.setup-steps li{counter-increment:setup}.setup-steps a{display:flex;align-items:center;gap:10px;border:1px solid #edf1f3;border-radius:12px;background:#fbfdfe;padding:12px;color:var(--navy);font-weight:900}.setup-steps a:before{content:counter(setup);display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#e8f2f5;color:var(--blue);font:800 .78rem Manrope;flex:0 0 auto}.admin-management-panel{margin-bottom:20px}.management-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.management-link-grid a{display:block;border:1px solid #edf1f3;border-radius:12px;background:#fbfdfe;padding:14px;color:inherit}.management-link-grid a:hover{background:#f4fafc;transform:translateY(-1px)}.management-link-grid strong,.management-link-grid small{display:block}.management-link-grid strong{color:var(--navy);font-size:.95rem}.management-link-grid small{color:var(--muted);font-size:.76rem;margin-top:5px;line-height:1.4}.compact-empty-panel{padding-bottom:18px}.compact-empty-panel .admin-empty-state{margin-top:0}.compact-empty-panel .coursera-summary-grid{margin-bottom:12px}.compact-empty-panel .coursera-student-list{display:block}@media(max-width:1200px){.admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.management-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.admin-onboarding-panel{grid-template-columns:1fr}.admin-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dashboard-quick-actions .button{width:100%}.admin-overview-grid,.admin-secondary-grid,.management-link-grid,.setup-steps{grid-template-columns:1fr}}
.calendar-head{align-items:center}.school-calendar-shell{margin-bottom:18px;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.calendar-nav,.calendar-view-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-nav h2{margin:0 0 0 6px;color:var(--navy);font-size:1.25rem}.icon-button{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#eef6f8;color:var(--navy);font-weight:900;font-size:1.15rem}.calendar-view-tabs{padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7fafb}.calendar-view-tabs a{padding:9px 13px;border-radius:8px;color:var(--muted);font-weight:900}.calendar-view-tabs a.active{background:var(--navy);color:#fff}.calendar-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(140px,1fr)) auto;gap:10px;align-items:end;margin:0 0 16px}.calendar-filters label,.event-modal label{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:900}.calendar-filters input,.calendar-filters select,.event-modal input,.event-modal select,.event-modal textarea{width:100%;min-height:42px;border:1px solid #ccd9df;border-radius:8px;background:#fff;padding:9px 11px;color:var(--ink)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.calendar-weekday{padding:11px 12px;background:#f2f7f9;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.calendar-day{min-height:140px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day:nth-child(7n+7){border-right:0}.calendar-day.outside{background:#f9fbfc;color:#9aacb6}.calendar-day.today{box-shadow:inset 0 0 0 2px rgba(47,126,166,.35)}.calendar-day header{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--navy);font-weight:900}.calendar-day-events{display:grid;gap:6px}.calendar-pill,.calendar-agenda-event{border-left:4px solid var(--blue);background:#eef8fb;color:var(--ink);border-radius:8px;padding:7px 8px}.calendar-pill{display:grid;gap:2px;min-width:0}.calendar-pill span,.calendar-agenda-event time{font-size:.68rem;color:var(--muted);font-weight:900;text-transform:uppercase}.calendar-pill strong{font-size:.75rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.calendar-agenda-grid.day-mode{grid-template-columns:1fr}.calendar-agenda-day{border:1px solid var(--line);border-radius:12px;background:#fbfdfe;padding:12px;min-height:220px}.calendar-agenda-day h3{margin:0 0 10px;color:var(--navy);font-size:.95rem}.calendar-agenda-event{display:grid;gap:4px;margin-bottom:8px;background:#fff}.calendar-agenda-event strong{color:var(--navy)}.calendar-agenda-event small{color:var(--muted)}.calendar-list-view{display:grid;gap:10px}.type-exam{border-left-color:#b34b43;background:#fff4f2}.type-assignment_deadline{border-left-color:#7b4a00;background:#fff8e8}.type-holiday{border-left-color:#167a55;background:#eefaf5}.type-meeting,.type-staff_meeting,.type-parent_meeting{border-left-color:#7253a4;background:#f6f1ff}.type-registration{border-left-color:#0e6e96;background:#edf8fc}.type-birthday{border-left-color:#bd4f8c;background:#fff2fa}.cancelled{opacity:.62;text-decoration:line-through}.calendar-side-panel{margin-bottom:18px}.compact-upcoming-panel{padding-bottom:18px}.compact-upcoming-list{display:grid;gap:8px}.compact-upcoming-list .calendar-event-row{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit}.compact-upcoming-list .calendar-event-row em{margin:0;width:max-content}.calendar-empty{display:grid;gap:9px;place-items:start;border:1px dashed #bdd0d9;border-radius:14px;background:#fbfdfe;padding:24px}.calendar-empty h2{margin:0;color:var(--navy);font-size:1.05rem}.calendar-empty p{margin:0;color:var(--muted)}.calendar-empty.small{padding:18px}.modal-backdrop{position:fixed;inset:0;z-index:3000;background:rgba(3,21,33,.42);display:grid;place-items:center;padding:22px}.modal-backdrop[hidden]{display:none}.event-modal{width:min(960px,100%);max-height:calc(100vh - 44px);overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 28px 70px rgba(4,24,38,.28);padding:22px}.event-modal header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}.event-modal h2{margin:0;color:var(--navy)}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.event-modal footer,.calendar-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.conflict-override{align-content:center;min-height:42px}.calendar-detail-card .report-meta{margin-bottom:18px}@media(max-width:1300px){.calendar-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-filters,.form-grid.four{grid-template-columns:1fr 1fr}.calendar-month-grid{display:block;border:0;background:transparent}.calendar-weekday{display:none}.calendar-day{display:block;min-height:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}.calendar-day.outside:has(.calendar-pill){display:block}.calendar-day.outside:not(:has(.calendar-pill)){display:none}.calendar-agenda-grid{grid-template-columns:1fr}.event-modal{padding:16px}}@media(max-width:620px){.calendar-filters,.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.calendar-view-tabs{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-view-tabs a{text-align:center}.calendar-nav h2{width:100%;margin:4px 0 0}.calendar-head .head-actions,.calendar-head .button{width:100%}.event-modal footer .button,.calendar-detail-actions .button{width:100%}}
.dashboard-link-card{color:inherit;cursor:pointer;text-decoration:none}.dashboard-link-card:hover{border-color:#b7d9e6;box-shadow:0 12px 30px rgba(25,51,67,.09);transform:translateY(-1px);background:#fbfdfe}.dashboard-link-card:focus-visible,.management-link-grid a:focus-visible,.snapshot-row:focus-visible,.student-progress-card-link:focus-visible,.linked-metrics a:focus-visible{outline:3px solid rgba(47,126,166,.28);outline-offset:3px}.linked-metrics a{padding:10px;border-radius:12px;background:#f4f8fa;text-align:center;color:inherit}.linked-metrics a:hover{background:#eaf4f8;transform:translateY(-1px)}
.receipt-total.voided{background:linear-gradient(135deg,#6f4d17,#b34b43)}
.button.danger{background:#fde9e7;color:#a4312b}.button.danger:hover{background:#f9d8d5;transform:translateY(-1px)}
.how-to-category-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.how-to-category-strip span{display:inline-flex;align-items:center;min-height:30px;border:1px solid #cfe1e8;border-radius:999px;background:#f7fafb;color:var(--blue);padding:5px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.how-to-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.how-to-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(16,45,66,.04)}.how-to-card header{display:grid;gap:5px}.how-to-card header span{width:max-content;border-radius:999px;background:#e8f2f5;color:var(--blue);padding:4px 9px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.how-to-card h3{margin:0;color:var(--navy);font-size:1.05rem}.how-to-card p{margin:0;color:var(--muted);line-height:1.45}.how-to-card ol{margin:0;padding-left:20px;color:var(--ink)}.how-to-card li{margin:5px 0}.how-to-card .button{justify-self:start;margin-top:2px}@media(max-width:860px){.how-to-grid{grid-template-columns:1fr}}
.interactive-library-card .interactive-art{background:linear-gradient(145deg,#123047,#2f866d)}.interactive-library-card .interactive-art span{font-size:3rem;opacity:.34}.continue-learning-panel{margin-bottom:20px}.continue-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.continue-book-card{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fbfdfe;padding:16px}.continue-book-card h3{margin:0 0 8px;color:var(--navy)}.continue-book-card p{margin:0 0 8px;color:var(--muted)}.continue-book-card .button{margin-top:10px}.interactive-reader-page .main-shell{padding:0;background:#eef4f6}.interactive-reader{min-height:100vh}.interactive-reader-head{position:sticky;top:0;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line)}.interactive-reader-head h1{margin:2px 0;font-size:1.15rem;color:var(--navy)}.interactive-reader-head a,.interactive-reader-head span{color:var(--muted);font-size:.82rem;font-weight:800}.interactive-reader-actions{display:flex;gap:8px;flex-wrap:wrap}.interactive-reader-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:calc(100vh - 75px)}.interactive-toc{position:sticky;top:75px;height:calc(100vh - 75px);overflow:auto;border-right:1px solid var(--line);background:#f8fbfc;padding:18px}.reader-progress-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;margin-bottom:14px}.reader-progress-card strong{display:block;color:var(--navy);font:800 1.7rem Manrope}.reader-progress-card span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:8px}.interactive-search{display:grid;gap:6px;color:var(--navy);font-weight:900;font-size:.78rem;margin-bottom:14px}.interactive-search input{width:100%;min-height:42px;border:1px solid #ccd9df;border-radius:10px;background:#fff;padding:9px 11px}.interactive-toc nav{display:grid;gap:6px}.interactive-toc nav a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;border:1px solid transparent;border-radius:10px;padding:9px;color:inherit}.interactive-toc nav a:hover,.interactive-toc nav a.current{background:#fff;border-color:#cfe1e8}.interactive-toc nav span{color:var(--blue);font-weight:900}.interactive-toc nav b,.interactive-toc nav small{display:block;grid-column:2}.interactive-toc nav b{font-size:.84rem;color:var(--navy)}.interactive-toc nav small{font-size:.7rem;color:var(--muted);margin-top:2px}.interactive-toc nav a.completed span{color:var(--green)}.interactive-lesson{max-width:980px;width:100%;margin:0 auto;padding:28px 32px 52px}.interactive-lesson-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.interactive-lesson-toolbar>span{color:var(--blue);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.lesson-content,.interactive-activities,.builder-panel,.notes-panel,.highlights-panel,.glossary-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 8px 24px rgba(25,51,67,.04)}.lesson-content h2{margin:0 0 10px;color:var(--navy);font-size:2rem}.lesson-content p{line-height:1.75}.lesson-subtitle{font-weight:800;color:var(--blue)}.activity-card{display:grid;gap:8px;border:1px solid #dce8ed;border-left:5px solid var(--blue);border-radius:12px;padding:14px;margin-bottom:12px;background:#fbfdfe}.activity-card span{width:max-content;border-radius:999px;background:#e8f2f5;color:var(--blue);padding:5px 9px;font-size:.68rem;font-weight:900;letter-spacing:.08em}.activity-card strong{color:var(--navy)}.activity-card textarea,.builder-panel textarea,.notes-panel textarea{width:100%;border:1px solid #cbd9df;border-radius:10px;padding:12px;line-height:1.55;resize:vertical}.activity-card textarea:focus,.builder-panel textarea:focus,.notes-panel textarea:focus,.interactive-search input:focus{outline:3px solid rgba(47,126,166,.18);border-color:var(--blue)}.activity-change{border-left-color:var(--gold)}.activity-reflect{border-left-color:#7555a7}.activity-check,.activity-verify{border-left-color:var(--green)}.builder-panel{display:grid;gap:12px}.builder-panel label{display:grid;gap:6px;color:var(--navy);font-weight:900}.generated-prompt{border:1px solid #dce8ed;border-radius:12px;background:#f7fafb;padding:14px}.generated-prompt pre,.journal-entry pre{white-space:pre-wrap;word-break:break-word;color:var(--ink);font:500 .9rem/1.5 "DM Sans";margin:10px 0}.notes-panel .section-title span{color:var(--green);font-size:.8rem;font-weight:900}.highlight-row,.journal-entry{border:1px solid #edf1f3;border-radius:12px;background:#fbfdfe;padding:14px;margin-bottom:10px}.highlight-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.highlight-row p,.journal-entry p{margin:0;line-height:1.6}.glossary-list{display:grid;gap:8px}.glossary-list details{border:1px solid #edf1f3;border-radius:10px;background:#fbfdfe;padding:12px}.glossary-list summary{cursor:pointer;color:var(--navy);font-weight:900}.interactive-bottom-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.interactive-bottom-nav a:last-child{justify-self:end}.journal-stack{display:grid;gap:18px}.journal-entry h3{margin:0 0 8px;color:var(--navy)}.journal-entry footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #edf1f3;margin-top:10px;padding-top:10px;color:var(--muted);font-size:.8rem}.journal-entry footer a{color:var(--blue);font-weight:900}@media(max-width:1100px){.interactive-reader-layout{grid-template-columns:1fr}.interactive-toc{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.interactive-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}.continue-book-grid,.continue-book-card{grid-template-columns:1fr}}@media(max-width:720px){.interactive-reader-head{position:relative;align-items:flex-start;flex-direction:column}.interactive-reader-actions,.interactive-reader-actions .button{width:100%}.interactive-reader-layout{min-height:auto}.interactive-lesson{padding:18px 14px 34px}.lesson-content h2{font-size:1.45rem}.interactive-toc{padding:14px}.interactive-toc nav{grid-template-columns:1fr}.interactive-bottom-nav{grid-template-columns:1fr}.interactive-bottom-nav a,.interactive-bottom-nav a:last-child,.interactive-bottom-nav button{width:100%;justify-self:stretch}.highlight-row{display:block}.library-card{grid-template-columns:1fr}.library-art{min-height:160px}}
.student-class-spotlight{margin:-8px 0 22px;border:1px solid #c9dde6;border-left:5px solid var(--blue);border-radius:14px;background:#fff;padding:20px 22px;box-shadow:0 8px 28px rgba(25,51,67,.05)}.student-class-spotlight>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.student-class-spotlight h2{margin:0;color:var(--navy);font-size:1.35rem}.student-current-class-list{display:grid;gap:10px}.student-current-class-row{display:grid;grid-template-columns:auto minmax(210px,1.1fr) minmax(360px,1fr) auto;align-items:center;gap:16px;border-top:1px solid #e4edf1;padding:14px 2px;color:inherit}.student-current-class-row:first-child{border-top:0}.student-current-class-row:hover .student-current-class-name>strong,.student-current-class-row>b{color:var(--blue)}.student-current-class-name,.student-current-class-name>small,.student-current-class-name>strong,.student-current-class-name>span{display:block;min-width:0}.student-current-class-name>small{color:var(--blue);font-size:.71rem;font-weight:900;text-transform:uppercase;overflow-wrap:anywhere}.student-current-class-name>strong{margin:4px 0 3px;color:var(--navy);font:800 1.1rem Manrope;overflow-wrap:anywhere}.student-current-class-name>span{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.student-current-class-meta{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;min-width:0}.student-current-class-meta.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.student-current-class-meta>span{min-width:0;border-left:1px solid #e4edf1;padding-left:12px}.student-current-class-meta small,.student-current-class-meta strong{display:block}.student-current-class-meta small{color:var(--muted);font-size:.67rem;text-transform:uppercase}.student-current-class-meta strong{margin-top:3px;color:var(--navy);font-size:.8rem;overflow-wrap:anywhere}.student-current-class-row>b{font-size:.8rem;white-space:nowrap}.student-current-class-empty{display:flex;align-items:center;gap:14px;border-top:1px solid #e4edf1;padding-top:16px}.student-current-class-empty>div{flex:1}.student-current-class-empty strong{color:var(--navy)}.student-current-class-empty p{margin:3px 0 0;color:var(--muted)}@media(max-width:1100px){.student-current-class-row{grid-template-columns:auto minmax(0,1fr) auto}.student-current-class-meta{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.student-class-spotlight{padding:18px 16px}.student-class-spotlight>header,.student-current-class-empty{align-items:flex-start;flex-direction:column}.student-current-class-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.student-current-class-meta{grid-column:1/-1;grid-template-columns:1fr}.student-current-class-meta.compact{grid-template-columns:1fr 1fr}.student-current-class-meta>span{border-left:0;border-top:1px solid #e4edf1;padding:8px 0 0}.student-current-class-row>b{grid-column:1/-1}.student-current-class-empty .button{width:100%}}
.academic-setup-head{align-items:flex-start}.academic-setup-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 18px}.academic-setup-stats .stat-card{min-width:0}.academic-setup-stats .stat-card strong{font-size:1.35rem}.academic-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(25,51,67,.04)}.academic-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;padding:9px 13px;color:var(--muted);font-weight:900;font-size:.84rem}.academic-tabs a:hover{background:#f2f8fa;color:var(--navy)}.academic-tabs a.active{background:var(--navy);color:#fff}.academic-tab-panel{display:none;min-width:0}.academic-tab-panel.active{display:block}.academic-overview-grid{align-items:start}.academic-overview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.academic-overview-list div{border:1px solid #edf1f3;border-radius:12px;background:#fbfdfe;padding:13px}.academic-overview-list strong,.academic-overview-list span{display:block}.academic-overview-list strong{color:var(--navy);font:800 1.05rem Manrope;overflow-wrap:anywhere}.academic-overview-list span{color:var(--muted);font-size:.74rem;margin-top:4px}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.setup-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;counter-reset:setup}.setup-progress-list li{counter-increment:setup;display:flex;align-items:center;gap:9px;border:1px solid #edf1f3;border-radius:11px;background:#fbfdfe;padding:10px 12px;color:var(--navy);font-weight:900;font-size:.82rem}.setup-progress-list li:before{content:counter(setup);display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#e8f2f5;color:var(--blue);font:800 .75rem Manrope;flex:0 0 auto}.setup-progress-list li.done:before{content:"✓";background:#e5f4ef;color:var(--green)}
.setup-toolbar{display:grid;grid-template-columns:minmax(240px,1.2fr) repeat(auto-fit,minmax(160px,.45fr));gap:10px;align-items:end;margin:14px 0}.setup-toolbar label{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:900}.setup-toolbar input,.setup-toolbar select{width:100%;min-height:42px;border:1px solid #ccd9df;border-radius:10px;background:#fff;padding:9px 11px;color:var(--ink)}.setup-card-list{display:grid;gap:12px;min-width:0}.setup-record-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(16,45,66,.04);min-width:0}.setup-record-card:hover{border-color:#c8dce5}.setup-record-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.setup-record-card strong,.setup-record-card small{display:block}.setup-record-card strong{color:var(--navy);font:800 1.02rem Manrope;overflow-wrap:anywhere}.setup-record-card small{color:var(--muted);font-size:.76rem;margin-top:3px;overflow-wrap:anywhere}.setup-record-card p{margin:10px 0 0;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.record-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.record-meta-grid div{border:1px solid #edf1f3;border-radius:10px;background:#f8fbfc;padding:9px;min-width:0}.record-meta-grid dt{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.record-meta-grid dd{margin:4px 0 0;color:var(--navy);font-weight:800;font-size:.84rem;overflow-wrap:anywhere}.record-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #edf1f3}.record-actions form{margin:0}.record-actions .button{min-height:38px;padding:8px 12px}.setup-editor{border:1px solid #dce8ed;border-radius:12px;background:#fbfdfe;padding:0;min-width:0}.setup-editor>summary{list-style:none;cursor:pointer;padding:11px 13px;color:var(--navy);font-weight:900}.setup-editor>summary::-webkit-details-marker{display:none}.setup-editor>summary:after{content:"+";float:right;color:var(--blue)}.setup-editor[open]>summary{border-bottom:1px solid var(--line)}.setup-editor[open]>summary:after{content:"-"}.setup-editor.inline{width:100%;margin-top:0}.record-actions>.setup-editor.inline{flex:1 1 100%}.setup-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.setup-form-grid label,.setup-form-grid fieldset{min-width:0}.setup-form-grid .full,.setup-form-section.full,.form-actions.full{grid-column:1/-1}.setup-form-grid input,.setup-form-grid select,.setup-form-grid textarea{max-width:100%}.setup-form-section{margin:4px 0 0;color:var(--blue);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.schedule-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce8ed;border-radius:11px;background:#f2f8fa;padding:11px 13px}.schedule-preview strong{color:var(--navy);font-size:.82rem}.schedule-preview span{color:var(--muted);font-size:.82rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.cohort-editor-panel{overflow:visible}.cohort-edit-table{min-width:0}.cohort-editor-panel .data-table select,.cohort-editor-panel .data-table input{min-width:0}@media(max-width:1280px){.academic-setup-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.record-meta-grid,.setup-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-overview-grid{grid-template-columns:1fr}}@media(max-width:820px){.academic-setup-stats,.academic-overview-list,.quick-action-grid,.setup-progress-list,.record-meta-grid,.setup-form-grid{grid-template-columns:1fr}.setup-toolbar{grid-template-columns:1fr}.setup-record-card header,.schedule-preview{flex-direction:column;align-items:flex-start}.record-actions .button,.record-actions form,.quick-action-grid .button{width:100%}.record-actions form .button{width:100%}.academic-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.academic-tabs a{text-align:center}.academic-setup-head .head-actions,.academic-setup-head .button{width:100%}}@media(max-width:520px){.academic-tabs{grid-template-columns:1fr}.setup-form-grid{padding:12px}.setup-record-card{padding:14px}.check-list.compact{grid-template-columns:1fr}}
.prerequisite-panel{margin:12px 0 16px}.prerequisite-panel h3{margin:0 0 10px;color:var(--navy)}.choice-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;border:0;margin:0;padding:0}.choice-card-grid legend{grid-column:1/-1;color:var(--navy);font-size:.82rem;font-weight:900}.choice-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;color:inherit}.choice-card input{width:18px;height:18px;accent-color:var(--blue)}.choice-card strong,.choice-card small{display:block}.choice-card strong{color:var(--navy);font-weight:900}.choice-card small{color:var(--muted);font-size:.74rem;margin-top:3px;overflow-wrap:anywhere}.choice-card:has(input:checked){border-color:#6bb4ca;background:#f1fbfe;box-shadow:0 0 0 3px rgba(47,126,166,.12)}.choice-card.locked{background:#f7fafb;opacity:.7}.choice-card.complete{border-color:#bfdfcf;background:#f4fbf7}.choice-card .inline-form{justify-content:flex-end}.choice-card .button{min-height:38px;white-space:nowrap}@media(max-width:760px){.choice-card{grid-template-columns:auto minmax(0,1fr)}.choice-card .inline-form,.choice-card>b{grid-column:1/-1;justify-self:start}.choice-card .button{width:100%}}
.prerequisite-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prerequisite-record{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;min-width:0}.prerequisite-record.complete{border-color:#b9d9cb;background:#f6fbf8}.prerequisite-record-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.prerequisite-record-head strong,.prerequisite-record-head small{display:block}.prerequisite-record-head strong{color:var(--navy);font-weight:900}.prerequisite-record-head small{margin-top:3px;color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}.prior-record-summary{margin-top:12px;border-left:3px solid var(--green);padding:9px 11px;background:#edf7f2}.prior-record-summary strong,.prior-record-summary span{display:block}.prior-record-summary strong{color:var(--navy)}.prior-record-summary span{margin-top:2px;color:var(--muted);font-size:.73rem}.prior-record-summary p{margin:7px 0 0;overflow-wrap:anywhere}.prior-completion-details{margin-top:12px;border-top:1px solid #dde7eb;padding-top:10px}.prior-completion-details summary{cursor:pointer;color:var(--blue);font-weight:900;font-size:.82rem}.prior-completion-form{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:10px;align-items:end;margin-top:11px}.prior-completion-form label{display:grid;gap:6px;color:var(--navy);font-size:.76rem;font-weight:900;min-width:0}.prior-completion-form input{width:100%;min-width:0;min-height:40px;border:1px solid #ccd9df;border-radius:8px;background:#fff;padding:9px 10px;color:var(--ink)}.prior-completion-form input:focus{outline:2px solid rgba(47,126,166,.25);border-color:var(--blue)}.prior-completion-form .button{grid-column:1/-1;width:100%;min-height:40px;white-space:normal}.current-prerequisite-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e5edef}.prerequisite-history td small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem}.prerequisite-history .data-table{min-width:860px}@media(max-width:900px){.prerequisite-record-grid{grid-template-columns:1fr}}@media(max-width:620px){.prerequisite-record-head{grid-template-columns:auto minmax(0,1fr)}.prior-completion-form{grid-template-columns:1fr}.current-prerequisite-action form,.current-prerequisite-action .button{width:100%}}
.lifecycle-closed{background:#f2f5f6!important;border-color:#c8d2d7!important;color:#4b5960}.lifecycle-closed h1,.lifecycle-closed h2,.lifecycle-closed h3,.lifecycle-closed strong,.lifecycle-closed a{color:#3e4d54}.lifecycle-closed .status-pill{background:#e0e6e8;color:#35444b;border:1px solid #bcc8cd}.lifecycle-closed .button{box-shadow:none}
@media(max-width:620px){.prerequisite-record-head>.status-pill{grid-column:1/-1;justify-self:start}}
.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:14px 16px;border:1px solid #ddb95c;border-left:5px solid #b68112;border-radius:8px;background:#fff7dc;color:#513d12;box-shadow:0 8px 22px rgba(74,55,13,.08)}.impersonation-banner strong,.impersonation-banner span{display:block}.impersonation-banner strong{margin-bottom:3px;color:#3f2e09;font-size:1rem}.impersonation-banner span{font-size:.84rem;line-height:1.45}.impersonation-banner form{flex:0 0 auto;margin:0}.impersonation-banner .button{white-space:nowrap}.button.compact{min-height:34px;padding:7px 10px;font-size:.76rem}.impersonation-history{margin-top:20px}.audit-details{max-width:620px;overflow-wrap:anywhere;font-size:.8rem;color:var(--muted)}@media(max-width:760px){.impersonation-banner{align-items:stretch;flex-direction:column}.impersonation-banner .button{width:100%}.impersonation-history{overflow-x:auto}}
.imported-records-table td{vertical-align:top}.imported-record-editor{margin:0 0 8px}.imported-record-editor summary{white-space:nowrap}.imported-record-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;width:min(560px,65vw)}.imported-record-form label{display:grid;gap:5px;color:var(--navy);font-size:.76rem;font-weight:900}.imported-record-form input,.imported-record-form select{width:100%;min-width:0;border:1px solid #ccd9df;border-radius:9px;background:#fff;padding:9px 10px}.imported-record-form .full{grid-column:1/-1}.prospect-form-actions{display:flex;gap:8px;flex-wrap:wrap}.prospect-form-actions .button{flex:1 1 180px}@media(max-width:760px){.imported-record-form{grid-template-columns:1fr;width:min(520px,75vw)}.imported-record-form .full{grid-column:auto}}
.program-curriculum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.program-curriculum-grid>section{min-width:0}.program-curriculum-grid h3{margin:0 0 12px;color:var(--navy)}.curriculum-assignment-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}@media(max-width:900px){.program-curriculum-grid{grid-template-columns:1fr}}
.teacher-assignment-card{scroll-margin-top:18px}.teacher-assignment-card.focused{border-color:#72b7cc;box-shadow:0 0 0 3px rgba(47,126,166,.1)}.teacher-assignment-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.teacher-assignment-form h3{margin:0 0 4px;color:var(--navy)}.teacher-section-picker label{align-items:flex-start}.teacher-section-picker label span,.teacher-section-picker label strong,.teacher-section-picker label small{display:block}.teacher-section-picker label span{min-width:0}.teacher-section-picker label small{margin-top:3px;color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}@media(max-width:760px){.teacher-section-picker{grid-template-columns:1fr}}

/* Keep the public application form on one full-width phone canvas. */
@media(max-width:760px){.application-layout{display:block;width:100%;min-width:0;min-height:100svh}.application-layout .login-panel{width:100%;max-width:none;min-width:0;min-height:100svh;padding:88px 20px 96px;gap:28px}.application-layout .brand.dark,.application-layout .stack-form{width:100%;min-width:0}.application-layout .stack-form input,.application-layout .stack-form select,.application-layout .stack-form textarea{min-width:0;max-width:100%}.login-page .language-switcher{top:18px;right:16px}.login-page .floating-message{right:16px;bottom:16px}.login-page .floating-message>summary{width:52px;min-width:52px;height:52px;justify-content:center;padding:0}.login-page .floating-message>summary em{display:none}}
@media(max-width:420px){.application-layout .login-panel{padding-right:16px;padding-left:16px}.application-layout .brand.dark{margin-right:0}.application-layout .login-panel h2{font-size:1.7rem}}
#recordingLightboxMeta{padding-right:44px}
#recordingLightbox .video-lightbox-card{max-height:calc(100dvh - 32px);overflow-y:auto}
