:root{--bg:#f5f7fb;--panel:#fff;--ink:#152033;--muted:#6f7b8f;--line:#e5eaf2;--brand:#153a79;--brand2:#2a69d1;--danger:#bd2b2b;--ok:#14734f;--warn:#946200;--radius:18px;--shadow:0 16px 42px rgba(23,44,83,.09)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#0d2449;color:#fff;padding:22px 14px;z-index:50;overflow:auto}.brand{font-weight:900;letter-spacing:.08em}.brand span{color:#74b6ff}.brand.big{font-size:24px;color:#0d2449}.user-mini{margin:22px 0;padding:13px;background:rgba(255,255,255,.08);border-radius:14px}.user-mini small{display:block;opacity:.72;margin-top:5px}.sidebar nav a{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:11px;margin:3px 0;color:#eaf2ff}.sidebar nav a:hover{background:rgba(255,255,255,.09)}.main{margin-left:250px;min-height:100vh}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:20}.topbar h1{font-size:21px;margin:0}.topbar small{color:var(--muted)}.nav-toggle{display:none;border:0;background:none;font-size:24px}.bell{position:relative;font-size:22px}.bell b{position:absolute;right:-9px;top:-9px;background:var(--danger);color:white;font-size:10px;border-radius:20px;padding:3px 6px}.content{padding:26px;max-width:1440px;margin:auto}.hero{background:linear-gradient(120deg,#102c5a,#245caf);color:#fff;border-radius:24px;padding:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.hero h2{font-size:32px;margin:7px 0}.hero p{margin:0;opacity:.84}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em}.hero-badge{background:rgba(255,255,255,.12);padding:14px 18px;border-radius:14px}.stat-grid,.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat,.module-grid>a,.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:20px}.stat b{font-size:26px;display:block}.stat span{color:var(--muted);font-size:13px}.module-grid>a{padding:20px;font-size:25px}.module-grid strong,.module-grid small{display:block;font-size:15px;margin-top:10px}.module-grid small{font-size:12px;color:var(--muted);margin-top:4px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.panel{padding:20px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span2{grid-column:span 2}label{font-size:12px;font-weight:700;color:#4e5c73}input,select,textarea{width:100%;border:1px solid #ced7e6;border-radius:10px;padding:11px 12px;margin-top:6px;font:inherit;background:#fff;color:var(--ink)}textarea{resize:vertical}.btn{border:1px solid #cdd7e6;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.primary{background:var(--brand2);border-color:var(--brand2);color:#fff}.btn.success{background:#e8f7ef;color:var(--ok);border-color:#bfe7d0}.btn.danger{background:#fff0f0;color:var(--danger);border-color:#efc6c6}.btn.warn{background:#fff8e6;color:var(--warn);border-color:#ead69b}.wide{width:100%}.cards{display:grid;gap:14px}.card{padding:18px}.card h3{margin:5px 0 10px}.card p{line-height:1.55}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.chip,.status{display:inline-block;border-radius:50px;padding:5px 9px;background:#eef3fb;color:#49617f;font-size:11px;font-weight:800;text-transform:capitalize}.status.approved,.approved{background:#e9f8ef;color:var(--ok)}.status.correction_required{background:#fff1e7;color:#9a5000}.approved,.info,.alert{border-radius:10px;padding:10px 12px;margin-top:12px;font-size:13px}.info{background:#edf5ff;color:#315c8c}.alert.danger{background:#fff0f0;color:var(--danger)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.empty{background:#fff;border:1px dashed #ccd5e3;border-radius:16px;padding:30px;text-align:center;color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#dceaff,transparent 38%),#f4f7fb}.auth-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:32px;box-shadow:0 30px 80px rgba(28,53,94,.16)}.auth-card h2{margin:24px 0 8px}.auth-card form{display:grid;gap:14px}.muted{color:var(--muted)}.inline-form{display:flex;gap:10px;margin-top:18px}.inline-form input{margin:0}.lesson-video{width:100%;max-height:500px;border-radius:14px;background:#111;margin-top:14px}.table-wrap{overflow:auto;background:#fff;border-radius:16px}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.notification{display:block}.live-app{height:calc(100vh - 130px);min-height:620px;background:#111827;border-radius:18px;color:#fff;overflow:hidden;display:flex;flex-direction:column}.live-top{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#0b1220;border-bottom:1px solid #273244}.live-top small{display:block;color:#9dadc5;margin-top:4px}.live-layout{display:grid;grid-template-columns:1fr 320px;min-height:0;flex:1}.stage{position:relative;min-height:0;overflow:auto}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;padding:10px}.video-tile{background:#030712;border-radius:12px;overflow:hidden;position:relative;aspect-ratio:16/9}.video-tile video{width:100%;height:100%;object-fit:cover}.video-label{position:absolute;left:10px;bottom:8px;background:rgba(0,0,0,.55);padding:4px 8px;border-radius:7px;font-size:12px}.live-side{background:#121a28;border-left:1px solid #273244;min-height:0;display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid #273244}.tabs button{flex:1;background:none;color:#aab7ca;border:0;padding:14px;cursor:pointer}.tabs button.active{color:#fff;border-bottom:2px solid #5da3ff}.side-pane{overflow:auto;flex:1}.participant{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid #263142}.participant small{display:block;color:#98a7bc;margin-top:3px}.mini{font-size:10px;border:0;border-radius:7px;padding:5px 7px;margin-left:4px}.chat-messages{height:calc(100% - 54px);overflow:auto;padding:10px}.chat-msg{margin-bottom:12px}.chat-msg p{margin:3px 0;font-size:13px}.chat-msg small{color:#77889f;font-size:10px}.chat-compose{height:54px;display:flex;padding:8px;border-top:1px solid #273244}.chat-compose input{margin:0;background:#202b3d;border-color:#334158;color:#fff}.chat-compose button{width:44px;border:0;background:#2875db;color:#fff;border-radius:9px;margin-left:5px}.live-controls{height:72px;background:#0b1220;border-top:1px solid #273244;display:flex;justify-content:center;gap:4px;padding:8px}.live-controls button{min-width:84px;border:0;background:none;color:#fff;border-radius:10px;cursor:pointer}.live-controls button:hover{background:#1e293b}.live-controls span{display:block;font-size:10px;margin-top:3px}.danger-control{color:#ff8b8b!important}.waiting-card{position:absolute;inset:0;display:grid!important;place-content:center;text-align:center;background:#111827}.waiting-card[style*="display:none"]{display:none!important}.discussion-page{max-width:980px;margin:30px auto;padding:20px}.composer,.post{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}.thread .reply{margin-left:30px;border-left:3px solid #bed5f4}.post-meta{display:flex;justify-content:space-between}.post-meta span{color:var(--muted);font-size:11px}.post-actions{display:flex;align-items:center;gap:7px}.post-actions button,.emoji-picker button{border:0;background:#f1f5fa;border-radius:50px;padding:5px 8px;cursor:pointer}.emoji-picker{display:inline-flex;gap:3px;flex-wrap:wrap}.hidden{display:none}.replying{background:#edf5ff;padding:8px;border-radius:8px;margin-bottom:6px}.nav-open .sidebar{transform:translateX(0)}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.main{margin-left:0}.nav-toggle{display:block}.stat-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:repeat(3,1fr)}.live-layout{grid-template-columns:1fr}.live-side{position:absolute;right:0;top:62px;bottom:72px;width:min(340px,90vw);z-index:5;box-shadow:-20px 0 50px rgba(0,0,0,.3)}.content{padding:16px}}@media(max-width:640px){.topbar{padding:0 14px}.content{padding:10px}.hero{padding:20px}.hero h2{font-size:24px}.hero-badge{display:none}.stat-grid,.module-grid{grid-template-columns:repeat(2,1fr);gap:10px}.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}.live-app{height:calc(100vh - 100px);min-height:560px;border-radius:0}.video-grid{grid-template-columns:1fr}.live-controls{overflow-x:auto;justify-content:flex-start}.live-controls button{min-width:70px}.live-side{width:92vw}.thread .reply{margin-left:14px}}
/* Final-release premium component layer */
.section-title{margin:28px 2px 12px;font-size:18px}.module-icon{font-size:30px;display:block}.module-grid.compact{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.searchbar{display:flex;gap:10px}.searchbar input{margin:0}.profile-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.profile-hero h2{margin:5px 0}.student-result{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.student-result strong{font-size:18px}.resource-player{width:100%;max-height:70vh;border-radius:14px;background:#101827}.document-frame{width:100%;height:75vh;border:0;border-radius:14px;background:#fff}.danger-chip{display:inline-block;padding:5px 9px;border-radius:50px;background:#fff0f0;color:var(--danger);font-size:11px;font-weight:800}.spotlight{grid-column:1/-1;min-height:64vh}.student-mobile-nav{display:none}.solver-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px}.solver-tabs button{white-space:nowrap}.solver-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:18px}.solver-output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.75;white-space:pre-wrap}.metric{font-size:26px;font-weight:900}.reply-target{font-size:12px;color:var(--brand2);font-weight:700}.emoji-count{font-size:11px;margin-left:2px}.pinned{box-shadow:inset 4px 0 0 #e4a800,var(--shadow)}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.video-status{padding:8px 10px;border-radius:10px;background:#eef3fb;font-size:12px;margin-top:10px}.recording-indicator{display:inline-flex;gap:6px;align-items:center;color:#ffb4b4;font-size:12px;font-weight:800}.recording-indicator:before{content:'';width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.18)}
@media(max-width:980px){.grid-2,.solver-grid{grid-template-columns:1fr}.searchbar{flex-wrap:wrap}.searchbar button{width:100%}.profile-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){body{padding-bottom:70px}.sidebar{width:84vw}.module-grid>a{min-height:128px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.module-grid strong{font-size:13px}.module-grid small{display:none}.module-icon{font-size:34px}.stat{padding:14px}.stat b{font-size:22px}.student-mobile-nav{position:fixed;z-index:80;display:flex;left:10px;right:10px;bottom:8px;height:58px;background:#0d2449;border-radius:18px;align-items:center;justify-content:space-around;box-shadow:0 15px 45px rgba(0,0,0,.24)}.student-mobile-nav a{width:46px;height:46px;display:grid;place-items:center;font-size:22px;color:#fff;border-radius:13px}.student-mobile-nav a:active{background:rgba(255,255,255,.12)}.content{padding-bottom:78px}.discussion-page{padding:8px}.post-actions{flex-wrap:wrap}.emoji-picker{max-width:100%}}

/* v1.0.1 automatic school identification + staff-only reset */
.auth-card-wide{width:min(520px,100%)}
.identity-status{padding:12px 14px;border:1px dashed #c8d5e6;border-radius:12px;background:#f8fbff;min-height:46px;display:flex;align-items:center;gap:8px}
.identity-choices{display:grid;gap:9px}
.identity-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #cfdaea;background:#fff;border-radius:13px;padding:12px 14px;cursor:pointer;transition:.15s}
.identity-card:hover{border-color:#88addd;transform:translateY(-1px)}
.identity-card.selected{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(36,92,175,.10);background:#f6faff}
.identity-card.disabled{opacity:.55;cursor:not-allowed;transform:none}
.identity-card strong,.identity-card small{display:block}.identity-card small{margin-top:3px;color:var(--muted)}
.identity-icon{font-size:25px;width:34px;text-align:center}.password-stage{display:grid;gap:14px;padding-top:4px}
.staff-reset-link{font-size:12px;font-weight:800;color:var(--brand2);text-align:right;margin-top:-8px}
.security-note{background:#fff8e6;border:1px solid #ead69b;color:#745310;border-radius:11px;padding:11px 12px;font-size:12px;line-height:1.55}
.back-link{display:inline-block;margin-bottom:18px;font-weight:800;font-size:12px;color:var(--brand2)}
.lookup-spinner{width:14px;height:14px;border:2px solid #c9d7eb;border-top-color:var(--brand2);border-radius:50%;display:inline-block;animation:edu-spin .7s linear infinite}
.alert.success{background:#e9f8ef;color:var(--ok)}
@keyframes edu-spin{to{transform:rotate(360deg)}}


/* v1.0.2 Administrator-approved staff password reset */
.reset-approval-state{border-left:4px solid var(--brand2)}
.status.pending{background:#fff8e6;color:var(--warn)}
.status.rejected,.status.expired{background:#fff0f0;color:var(--danger)}
.status.completed{background:#e9f8ef;color:var(--ok)}

/* v1.0.3 Premium interface rebuild — every Class workspace */
:root{--surface-2:#f8fbff;--surface-3:#eef5ff;--brand-soft:#eaf2ff;--purple-soft:#f2edff;--gold-soft:#fff8df;--success-soft:#e9f8ef;--danger-soft:#fff0f0;--focus:0 0 0 4px rgba(42,105,209,.14)}
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 92% 0,rgba(89,145,236,.09),transparent 28%),linear-gradient(180deg,#f7f9fd 0,#f3f6fb 100%);min-height:100vh}
button,input,select,textarea,.richbox{font:inherit}button,.btn,a,input,select,textarea,.panel,.premium-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}
input:focus,select:focus,textarea:focus,.richbox:focus{outline:none;border-color:#78a8e8!important;box-shadow:var(--focus)!important;background:#fff}
.sidebar{background:linear-gradient(180deg,#081d3d 0%,#0d2a58 58%,#113566 100%);box-shadow:18px 0 50px rgba(12,31,66,.08)}
.sidebar:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(99,162,255,.08);top:-70px;right:-70px;pointer-events:none}.sidebar .brand{font-size:17px;padding:5px 8px 14px}.sidebar nav a{position:relative;overflow:hidden}.sidebar nav a:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.11),transparent);opacity:0;transition:.2s}.sidebar nav a:hover{transform:translateX(3px);background:rgba(255,255,255,.08)}.sidebar nav a:hover:before{opacity:1}.sidebar nav a span{width:22px;text-align:center}
.topbar{backdrop-filter:blur(14px);background:rgba(255,255,255,.91);box-shadow:0 8px 28px rgba(19,49,91,.035)}.bell{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.bell:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.panel{border:1px solid rgba(222,230,242,.95);box-shadow:0 12px 34px rgba(31,61,106,.055);background:rgba(255,255,255,.97)}.panel:hover{box-shadow:0 16px 42px rgba(31,61,106,.075)}
.premium-hero,.intelligence-hero{position:relative;overflow:hidden;border-radius:26px;padding:30px;background:linear-gradient(125deg,#092852 0,#174e97 58%,#2d77d6 100%);color:#fff;box-shadow:0 24px 54px rgba(21,65,126,.2);display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.premium-hero:after,.intelligence-hero:after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:-100px;top:-155px;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 66%);pointer-events:none}.premium-hero h2,.intelligence-hero h2{font-size:clamp(25px,3vw,38px);line-height:1.08;margin:8px 0 10px}.premium-hero p,.intelligence-hero p{max-width:760px;color:#d8e9ff;margin:0;line-height:1.65}.mini-hero{padding:25px 28px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.16em;font-weight:900;text-transform:uppercase}.premium-hero .eyebrow,.intelligence-hero .eyebrow{color:#a9d0ff}.hero-badge{position:relative;z-index:1;white-space:nowrap;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:12px 15px;border-radius:14px;font-weight:850;backdrop-filter:blur(9px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:27px 2px 14px}.section-heading h2{margin:4px 0 0;font-size:22px}.section-heading p{margin:6px 0 0;color:var(--muted)}.section-heading .eyebrow{color:var(--brand2)}
.premium-form{padding:24px}.form-section{padding:4px 0 21px;margin-bottom:20px;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:0}.section-kicker{color:var(--brand2);margin-bottom:14px}.field-help{display:block;font-size:11px;margin-top:7px;color:var(--muted)}.danger-text{color:var(--danger)!important}
.form-grid label,.premium-form>label{font-weight:750;font-size:12px;color:#32415a}.form-grid label small,.premium-form label small{font-weight:500;color:var(--muted)}
.form-grid input,.form-grid select,.form-grid textarea,.premium-form input,.premium-form select,.premium-form textarea,.search-filter-row input,.search-filter-row select{margin-top:7px;border:1px solid #dbe4f0;border-radius:12px;background:#fbfdff;min-height:44px;padding:10px 12px;color:var(--ink)}textarea{resize:vertical}
.btn{border:1px solid #d9e2ef;border-radius:11px;padding:10px 14px;background:#fff;cursor:pointer;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(35,71,123,.1)}.btn.primary{border-color:transparent;background:linear-gradient(135deg,#174e9a,#2b73d2);color:#fff}.btn.success{border-color:transparent;background:#17835b;color:#fff}.btn.danger{border-color:#f0caca;background:#fff4f4;color:#a72323}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.glow{box-shadow:0 10px 24px rgba(42,105,209,.2)}.sticky-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:10px;border:1px solid var(--line);border-radius:15px;z-index:7}
.method-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.method-switch label{display:flex;gap:8px;align-items:center;padding:12px 15px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;cursor:pointer}.method-switch input{width:auto;min-height:auto;margin:0}
.word-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:9px;background:#f4f7fb;border:1px solid #dce5f1;border-radius:13px 13px 0 0;position:sticky;top:78px;z-index:8}.word-toolbar button,.word-toolbar select,.word-toolbar input[type=color]{min-height:32px;height:32px;border:1px solid #d4dfec;background:#fff;border-radius:7px;padding:5px 9px;margin:0;cursor:pointer}.word-toolbar input[type=color]{width:38px;padding:3px}.lesson-structure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:14px;background:#f8faff;border:1px solid #dce5f1;border-top:0;border-radius:0 0 16px 16px}.lesson-box{display:block;background:#fff;border:1px solid #e0e7f1;border-radius:13px;padding:12px;box-shadow:0 5px 15px rgba(35,62,99,.035)}.lesson-box>span{display:block;font-size:10px;letter-spacing:.075em;font-weight:900;color:#30425f;margin-bottom:8px}.lesson-box.mandatory{border-top:3px solid #397ada}.lesson-box b{color:#d54040}.lesson-box.compact input{margin:0;width:100%;border:1px solid #dce5ef;border-radius:9px;padding:10px;background:#fbfdff}.wide-box{grid-column:1/-1}.richbox{min-height:105px;border:1px solid #dce5ef;border-radius:10px;padding:12px;background:#fff;line-height:1.65;overflow:auto;font-weight:500}.richbox.tall{min-height:255px}.richbox:empty:before{content:attr(data-placeholder);color:#9aa7b9;pointer-events:none}.richbox h2,.richbox h3{margin:.35em 0}.richbox p{margin:.35em 0}.rich-output{line-height:1.75}.rich-output img{max-width:100%}
.premium-card-grid,.student-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:16px}.premium-card,.student-folder-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e2e8f1;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(27,56,97,.055)}.premium-card:hover,.student-folder-card:hover,.hover-lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(27,56,97,.11);border-color:#cddcf0}.card-accent{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2264bd,#55a2ff)}.premium-card h3,.student-folder-card h3{margin:6px 0 9px}.note-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.note-meta span{font-size:10px;font-weight:750;background:#f2f6fb;padding:6px 8px;border-radius:8px}.approved,.approval-banner{border-radius:11px;padding:10px 12px;background:var(--success-soft);border:1px solid #ccebd8;color:#12613f;font-size:11px;font-weight:800;margin:10px 0}.premium-empty{grid-column:1/-1;font-size:26px}.premium-empty h3{font-size:17px;margin:7px 0}.premium-empty p{font-size:13px}
.lesson-view{display:grid;gap:13px}.lesson-view-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.lesson-view-card h3{font-size:11px;letter-spacing:.08em;color:var(--brand2);margin:0 0 10px}.review-item,.version-row{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:8px 0}.version-row{display:flex;justify-content:space-between;gap:12px}
.search-filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.search-filter-row>*{min-width:180px;flex:1}.search-filter-row button{flex:0 0 auto;min-width:110px}.class-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px;margin:14px 0}.class-summary{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:0 7px 20px rgba(32,62,103,.045)}.class-summary b{font-size:25px;display:block;margin-top:4px}.class-summary small{color:var(--muted)}.hero-number{font-size:44px;font-weight:950;line-height:1}.student-folder-card .avatar,.contact-row .avatar{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#e8f1ff,#d8e8ff);color:#174a8c;flex:0 0 auto}.student-folder-card .meta{display:flex;gap:7px;flex-wrap:wrap}.student-folder-card .meta span{font-size:10px;background:#f1f5fa;border-radius:8px;padding:5px 7px}.profile-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.profile-field{padding:13px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.profile-field small{display:block;color:var(--muted);font-size:10px}.profile-field strong{display:block;margin-top:5px;overflow-wrap:anywhere}.record-category{margin-top:22px}.record-category>h3{font-size:16px}.record-accordion{border:1px solid var(--line);border-radius:13px;background:#fff;margin:8px 0;overflow:hidden}.record-accordion summary{padding:13px 15px;cursor:pointer;font-weight:800;background:#fbfcfe}.record-accordion>div{padding:12px}
.table-wrap{border:1px solid var(--line);box-shadow:0 8px 25px rgba(29,59,100,.045)}.premium-table th{background:#f4f7fb;color:#475875;font-size:10px;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0}.premium-table tr:hover td{background:#fafcff}
.message-layout{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:620px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.contact-panel{border-right:1px solid var(--line);background:#f8faff;display:flex;flex-direction:column;min-width:0}.contact-panel .panel-head,.conversation-panel .panel-head{padding:16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9)}.contact-results{overflow:auto;flex:1}.contact-row{display:flex;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #e9eef5;cursor:pointer}.contact-row:hover,.contact-row.active{background:#eaf2ff}.contact-row strong{display:block;font-size:12px}.contact-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.conversation-panel{display:flex;flex-direction:column;min-width:0;background:linear-gradient(180deg,#fbfdff,#f6f9fd)}.conversation-body{flex:1;overflow:auto;padding:18px;min-height:420px}.bubble{max-width:min(72%,620px);padding:10px 12px;border-radius:15px 15px 15px 5px;background:#fff;border:1px solid #e0e8f2;box-shadow:0 5px 14px rgba(38,68,109,.05);margin:7px 0;overflow-wrap:anywhere}.bubble.mine{margin-left:auto;border-radius:15px 15px 5px 15px;background:#dceaff;border-color:#c9defb}.bubble small{display:block;color:#8491a3;margin-top:5px;font-size:9px}.chat-compose-premium{display:flex;gap:8px;padding:13px;border-top:1px solid var(--line);background:#fff}.chat-compose-premium textarea,.chat-compose-premium input{margin:0;min-height:43px;flex:1}.selected-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.member-chip{display:inline-flex;align-items:center;gap:6px;border-radius:50px;background:#eaf2ff;color:#174d92;padding:6px 9px;font-size:10px;font-weight:850}.member-chip button{border:0;background:none;color:#8a2330;font-weight:900;cursor:pointer;padding:0}
.checkbox-grid,.class-checks,.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.checkbox-grid label,.class-checks label,.permission-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fbfdff;padding:9px 10px;border-radius:10px;font-size:11px}.checkbox-grid input,.class-checks input,.permission-grid input{width:auto;min-height:auto;margin:0}.student-picker{position:relative}.student-picker-results{position:absolute;z-index:20;left:0;right:0;top:100%;max-height:260px;overflow:auto;background:#fff;border:1px solid #d8e3f1;border-radius:12px;box-shadow:0 15px 35px rgba(31,62,105,.15)}
.status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:50px;font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;background:#edf2f7;color:#506077}.status.draft{background:#eef3f9}.status.submitted,.status.under_review{background:#e7f0ff;color:#1658a6}.status.correction_required{background:#fff4df;color:#876009}.status.approved,.status.published,.status.ready{background:#e8f7ef;color:#12613f}.status.failed,.status.rejected{background:#fff0f0;color:#a52626}
.adapter-card{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border-radius:14px;background:#f7faff;border:1px solid #dbe6f3}.metric{letter-spacing:-.03em}.timeline{display:grid;gap:11px;margin-top:18px}.timeline>div{display:flex;gap:11px;align-items:flex-start}.timeline b{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#e9f2ff;color:#1856a0}.timeline span{font-size:12px;color:#55667e;line-height:1.55}.ai-guidance{background:linear-gradient(145deg,#fff,#f3f7ff)}
@keyframes premium-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content>.panel,.content>.premium-hero,.content>.intelligence-hero,.content>.grid-2,.content>.premium-card-grid,.content>.student-card-grid{animation:premium-enter .35s ease both}
@media(max-width:1100px){.message-layout{grid-template-columns:285px 1fr}.lesson-structure{grid-template-columns:1fr}.wide-box{grid-column:auto}}
@media(max-width:760px){.premium-hero,.intelligence-hero{align-items:flex-start;flex-direction:column;padding:22px;border-radius:20px}.premium-hero h2,.intelligence-hero h2{font-size:26px}.hero-badge{white-space:normal}.section-heading{align-items:flex-start;flex-direction:column}.word-toolbar{top:70px;overflow-x:auto;flex-wrap:nowrap}.word-toolbar>*{flex:0 0 auto}.message-layout{display:block;min-height:0}.contact-panel{border-right:0;border-bottom:1px solid var(--line);max-height:360px}.conversation-panel{min-height:570px}.bubble{max-width:88%}.search-filter-row>*{min-width:100%;width:100%}.checkbox-grid,.class-checks,.permission-grid{grid-template-columns:1fr 1fr}.premium-card-grid,.student-card-grid{grid-template-columns:1fr}.premium-form{padding:15px}.lesson-structure{padding:9px}.lesson-box{padding:10px}}
@media(max-width:480px){.checkbox-grid,.class-checks,.permission-grid{grid-template-columns:1fr}.profile-summary-grid{grid-template-columns:1fr 1fr}.hero-number{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0}.pagination span{font-size:11px;font-weight:850;color:var(--muted);padding:10px 12px}.class-summary{border:0;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;color:inherit}.class-summary>span{font-size:22px}.avatar.xl{width:54px;height:54px;border-radius:17px;font-size:16px}.student-folder-card{display:flex;align-items:center;gap:13px}.student-folder-card>div{min-width:0}.student-folder-card span:last-child{display:block;color:var(--brand2);font-size:10px;font-weight:850;margin-top:7px}
.progress-chart-panel{margin-top:18px}.progress-chart{display:grid;gap:12px}.progress-row{display:grid;gap:6px}.progress-label{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#54647a}.progress-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-label b{font-size:11px;color:var(--ink)}.progress-track{height:12px;border-radius:999px;background:#eaf0f7;overflow:hidden;box-shadow:inset 0 1px 2px rgba(28,54,90,.06)}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d5fb6,#62a8ff);animation:bar-grow .65s ease both;transform-origin:left}@keyframes bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.teaching-targets{border:0;padding:0;margin:0}.teaching-targets legend{font-size:12px;font-weight:800;color:#32415a;margin-bottom:8px}.teaching-targets legend small{font-weight:500;color:var(--muted)}.assignment-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px}.assignment-check-grid label{display:flex;align-items:center;gap:9px;border:1px solid #dbe4ef;background:#fbfdff;padding:11px;border-radius:12px;cursor:pointer}.assignment-check-grid label:hover{border-color:#8fb4e5;background:#f3f8ff}.assignment-check-grid input{width:auto;min-height:auto;margin:0}.assignment-check-grid b,.assignment-check-grid small{display:block}.assignment-check-grid small{margin-top:2px}.document-import-box{padding:14px;border:1px dashed #a9c5e7;background:#f7fbff;border-radius:14px}.document-import-box .btn{margin-top:10px}

/* Accessible password visibility toggle */
.password-field-wrap{position:relative;display:block;width:100%;margin-top:6px}.password-field-wrap>input{margin-top:0;padding-right:48px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#53627a;display:grid;place-items:center;cursor:pointer;font-size:16px;transition:background .18s ease,transform .18s ease,color .18s ease}.password-toggle:hover,.password-toggle:focus-visible{background:#edf4ff;color:#174f98;outline:2px solid transparent}.password-toggle:active{transform:translateY(-50%) scale(.94)}.password-toggle[aria-pressed="true"]{background:#e7f0ff;color:#154d91}.auth-card .password-field-wrap{margin-top:6px}

/* v1.0.6 premium production polish */
.brand small{display:block;font-size:.62rem;letter-spacing:.08em;opacity:.72;margin-top:.25rem}.chat-compose.light input,.chat-compose.light textarea,.premium-chat input,.premium-chat textarea{color:#111827!important;background:#fff!important}.chat-compose.light input::placeholder{color:#6b7280!important}.btn,.mini{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover,.mini:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(29,50,117,.16);filter:saturate(1.08)}.btn:active,.mini:active{transform:translateY(0) scale(.98)}.btn{color:#172033}.btn.primary,.btn.success,.btn.danger,.btn.warn{color:#fff!important}.premium-card,.panel,.lesson-box,.contact-row{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.premium-card:hover,.panel:hover{box-shadow:0 18px 50px rgba(29,50,117,.10)}.contact-row:hover{transform:translateX(3px)}.download-pdf,.btn[href*="pdf"],.btn[href*="download_note"]{font-weight:800}.status.pending{background:#fff7e6;color:#9a6700}.status.approved{background:#ecfdf3;color:#067647}.status.rejected{background:#fef3f2;color:#b42318}.fade-in{animation:eduFade .35s ease both}@keyframes eduFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:760px){.premium-card-grid{grid-template-columns:1fr}.lesson-structure{grid-template-columns:1fr}.word-toolbar{position:sticky;top:64px;z-index:5;overflow-x:auto;white-space:nowrap}.btn{min-height:44px}}

.academic-context-bar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.7rem 1.15rem;background:linear-gradient(90deg,#f7f9ff,#fff);border-bottom:1px solid #e7ebf4}.academic-context-bar .context-label{font-weight:800;font-size:.78rem;color:#1d3275;text-transform:uppercase;letter-spacing:.06em}.academic-context-bar select{min-width:125px;border:1px solid #d5dbea;border-radius:12px;background:#fff;padding:.55rem .75rem;color:#172033}.context-saved{font-size:.78rem;color:#067647;font-weight:800;display:none}@media(max-width:760px){.academic-context-bar{overflow-x:auto;flex-wrap:nowrap}.academic-context-bar select{min-width:135px}}

.uploaded-note-editor .upload-hide{display:none!important}.uploaded-note-editor .wide-box{grid-column:1/-1}.uploaded-note-editor .richbox.tall{min-height:420px}

/* v1.0.7 premium refinement */
.btn.danger,.mini.danger{background:linear-gradient(135deg,#c92f3f,#a91f31)!important;border-color:transparent!important;color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.12);box-shadow:0 8px 18px rgba(169,31,49,.15)}.btn.danger:hover,.mini.danger:hover{background:linear-gradient(135deg,#dc3e4e,#b62235)!important}.target-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.premium-dropzone{border:2px dashed #8fb8ea;background:linear-gradient(145deg,#f8fbff,#eef6ff);padding:22px}.premium-dropzone input[type=file]{background:#fff;border:1px solid #d8e4f2;padding:13px;border-radius:13px}.academic-context-premium{margin:14px 18px 0;border:1px solid #dce6f4;border-radius:20px;background:linear-gradient(135deg,#fff,#f4f8ff);box-shadow:0 14px 36px rgba(27,64,117,.08);overflow:hidden;animation:premium-enter .35s ease both}.context-main{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(260px,1.4fr) minmax(260px,1.4fr);gap:10px;align-items:end;padding:15px 16px}.context-title span,.context-main small,.context-lists small{display:block;font-size:9px;font-weight:900;letter-spacing:.11em;color:#6c7b90;text-transform:uppercase;margin-bottom:5px}.context-title strong{display:block;color:#173f77;font-size:16px}.context-main select{width:100%;margin:0;border-radius:12px}.context-add>div{display:flex;gap:7px}.context-add .btn{white-space:nowrap}.context-lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 16px 15px;border-top:1px solid #e5edf7;background:rgba(247,250,255,.8);position:relative}.context-chip-list{display:flex;gap:7px;flex-wrap:wrap}.context-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 8px 7px 10px;border-radius:999px;background:#eaf3ff;color:#184e90;border:1px solid #cfe1f8;font-size:10px;font-weight:850;animation:premium-enter .22s ease both}.context-chip button{width:22px;height:22px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#fff;color:#47617f;font-weight:900}.context-chip .contextRemove{color:#a91f31}.context-saved{position:absolute;right:16px;top:12px}.student-total-orb{position:relative;z-index:2;min-width:210px;display:flex;align-items:center;gap:14px;padding:17px 20px;border-radius:24px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 35px rgba(0,25,70,.2);animation:studentPulse 3.2s ease-in-out infinite}.student-total-orb .orb-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.18);font-size:24px}.student-total-orb b{display:block;font-size:38px;line-height:.95;letter-spacing:-.05em;color:#fff}.student-total-orb small{display:block;margin-top:7px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#dcecff}.student-total-orb i{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-100%);animation:orbShine 3s ease-in-out infinite}@keyframes studentPulse{50%{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 44px rgba(0,25,70,.26)}}@keyframes orbShine{55%,100%{transform:translateX(100%)}}.search-row input:only-child{width:100%}.member-chip button{min-width:19px;min-height:19px;border-radius:50%;background:rgba(255,255,255,.75);display:grid;place-items:center}.intelligence-search .search-filter-row{align-items:center}.intelligence-search .search-filter-row input{flex:2}.intelligence-search .search-filter-row select{flex:1}.hero-number{font-variant-numeric:tabular-nums}@media(max-width:1150px){.context-main{grid-template-columns:1fr 1fr}.context-title{grid-column:1/-1}.context-lists{grid-template-columns:1fr}}@media(max-width:760px){.target-split-grid,.context-main,.context-lists{grid-template-columns:1fr}.academic-context-premium{margin:10px}.context-add>div{align-items:stretch}.student-total-orb{min-width:0;width:100%}}
.academic-context-premium{display:block!important}


/* v1.0.8 premium academic target + sign-in refinements */
.academic-context-readonly{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px 15px;border:1px solid rgba(62,99,221,.16);border-radius:18px;background:linear-gradient(135deg,rgba(238,244,255,.95),rgba(255,255,255,.96));box-shadow:0 10px 24px rgba(20,40,100,.06)}
.academic-context-readonly span{min-width:150px;padding:10px 14px;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(29,50,117,.08)}.academic-context-readonly small{display:block;color:#7884a3;font-size:10px;font-weight:800;letter-spacing:.12em}.academic-context-readonly b{color:#17275f;font-size:14px}.workspace-menu-card{position:relative;overflow:hidden}.workspace-menu-card:after{content:'SET';position:absolute;right:14px;top:12px;font-size:10px;font-weight:900;letter-spacing:.14em;color:#385ac8;background:#edf2ff;padding:5px 8px;border-radius:999px}
.premium-signin-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:38px;max-width:1180px;margin:auto;padding:36px}.signin-showcase{position:relative;min-height:570px;padding:70px 58px;border-radius:34px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(119,160,255,.35),transparent 34%),linear-gradient(145deg,#10245f,#244fcb 60%,#31a3f5);box-shadow:0 30px 70px rgba(18,52,145,.3);color:#fff;display:flex;flex-direction:column;justify-content:center}.signin-showcase h1{font-size:clamp(38px,5vw,72px);line-height:.98;margin:18px 0;letter-spacing:-.045em}.signin-showcase h1 span{color:#bfe5ff}.signin-showcase p{font-size:17px;max-width:640px;color:rgba(255,255,255,.86)}.signin-feature-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.signin-feature-row span{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);font-weight:700}.signin-orb{position:absolute;border-radius:50%;filter:blur(1px);background:rgba(255,255,255,.12);animation:signinFloat 8s ease-in-out infinite}.orb-one{width:180px;height:180px;right:-40px;top:-30px}.orb-two{width:100px;height:100px;left:28px;bottom:22px;animation-delay:-3s}@keyframes signinFloat{50%{transform:translateY(-18px) scale(1.06)}}.premium-signin-card{border-radius:30px;padding:38px;box-shadow:0 24px 60px rgba(29,50,117,.15);border:1px solid rgba(50,82,183,.1);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.signin-caption{display:inline-block;margin:5px 0 18px;color:#4366d4;font-weight:900;letter-spacing:.18em}.signin-identify{margin-top:8px}.powered-line{text-align:center;margin-top:25px;color:#77819a;font-size:12px}.powered-line b{color:#2449bd}.premium-signin-card input{background:#fff;color:#121a2d!important}
@media(max-width:900px){.premium-signin-shell{grid-template-columns:1fr;padding:18px}.signin-showcase{min-height:300px;padding:38px 30px}.signin-showcase h1{font-size:42px}.premium-signin-card{padding:28px}}

/* v1.0.9 Lecture Note editor visibility + premium toolbar */
.premium-word-toolbar{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap;padding:11px 12px;background:linear-gradient(180deg,#ffffff 0%,#f4f7fc 100%)!important;border:1px solid #cfd9e8!important;border-radius:15px 15px 0 0;box-shadow:0 8px 20px rgba(24,55,100,.07);color:#172033!important}
.premium-word-toolbar .toolbar-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.premium-word-toolbar .toolbar-label{font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#49617f;margin-right:2px}.premium-word-toolbar .toolbar-divider{width:1px;height:27px;background:#d6dfec;margin:0 2px}
.premium-word-toolbar button,.premium-word-toolbar .toolbar-btn,.premium-word-toolbar select,.premium-word-toolbar .toolbar-select{color:#172033!important;background:#fff!important;border:1px solid #cbd7e7!important;box-shadow:0 2px 7px rgba(25,52,90,.04);font-weight:800!important;opacity:1!important;text-shadow:none!important}
.premium-word-toolbar button,.premium-word-toolbar .toolbar-btn{min-width:35px;min-height:34px;height:34px;padding:5px 10px;border-radius:9px;cursor:pointer}.premium-word-toolbar button:hover,.premium-word-toolbar .toolbar-btn:hover,.premium-word-toolbar select:hover{background:#eaf2ff!important;border-color:#7aa9e6!important;color:#123f7b!important;transform:translateY(-1px);box-shadow:0 7px 16px rgba(39,91,159,.12)}
.premium-word-toolbar select,.premium-word-toolbar .toolbar-select{height:34px!important;min-height:34px!important;margin:0!important;padding:4px 30px 4px 9px!important;border-radius:9px!important;width:auto!important;min-width:92px!important;-webkit-text-fill-color:#172033!important}.premium-word-toolbar .size-select{min-width:72px!important}.premium-word-toolbar select option{background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important}
.premium-word-toolbar .colour-control{height:34px;display:flex;align-items:center;gap:6px;padding:4px 6px 4px 9px;border-radius:9px;background:#fff;border:1px solid #cbd7e7;color:#172033!important;font-weight:950;cursor:pointer}.premium-word-toolbar .colour-control span{font-size:15px;text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:currentColor}.premium-word-toolbar .colour-control input[type=color]{width:30px!important;height:24px!important;min-height:24px!important;border:0!important;border-radius:6px!important;padding:0!important;background:transparent!important;box-shadow:none!important}.premium-word-toolbar .clear-format{color:#7b2631!important;background:#fff7f8!important;border-color:#edc8ce!important}
.premium-word-toolbar .toolbar-btn b,.premium-word-toolbar .toolbar-btn i,.premium-word-toolbar .toolbar-btn u{color:inherit!important}.richbox{color:#172033!important;caret-color:#174e9a;background:#fff!important}.richbox *{max-width:100%}
@media(max-width:760px){.premium-word-toolbar{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:10px}.premium-word-toolbar .toolbar-group{flex-wrap:nowrap}.premium-word-toolbar .toolbar-divider{flex:0 0 1px}.premium-word-toolbar select{flex:0 0 auto}.premium-word-toolbar button{flex:0 0 auto}}

/* ===== Premium Academic Planning: Lesson Plans + Scheme of Work ===== */
.planning-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#102a5d 0%,#174b92 52%,#2d79c7 100%);color:#fff;box-shadow:0 26px 60px rgba(15,49,99,.22);isolation:isolate}.planning-hero.scheme{background:linear-gradient(135deg,#102a5d 0%,#315c7d 44%,#338b78 100%)}.planning-hero:before,.planning-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}.planning-hero:before{width:330px;height:330px;right:-95px;top:-160px;background:radial-gradient(circle,rgba(255,255,255,.23),rgba(255,255,255,0) 68%);animation:planningFloat 7s ease-in-out infinite}.planning-hero:after{width:220px;height:220px;left:36%;bottom:-170px;background:radial-gradient(circle,rgba(104,199,255,.28),rgba(104,199,255,0) 68%);animation:planningFloat 9s ease-in-out infinite reverse}@keyframes planningFloat{50%{transform:translate3d(18px,12px,0) scale(1.08)}}.planning-hero h2{margin:4px 0 8px;font-size:clamp(25px,3vw,40px);letter-spacing:-.035em;color:#fff}.planning-hero p{margin:0;max-width:720px;color:#dbeaff;font-size:13px;line-height:1.7}.planning-hero-actions{display:flex;align-items:center;gap:13px}.planning-count{min-width:112px;padding:13px 16px;text-align:center;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.11);backdrop-filter:blur(14px);border-radius:20px;box-shadow:inset 0 1px rgba(255,255,255,.15)}.planning-count b{display:block;font-size:28px;line-height:1;color:#fff}.planning-count small{display:block;color:#dceaff;margin-top:6px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.planning-form{margin:18px;border-radius:26px;padding:24px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dce5f2;box-shadow:0 22px 54px rgba(23,63,119,.09);animation:premium-enter .3s ease both}.planning-step{display:flex;align-items:center;gap:11px;margin:6px 0 15px}.planning-step>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#173f77,#2e76c1);color:#fff;font-size:11px;font-weight:950;box-shadow:0 10px 20px rgba(31,92,157,.19)}.planning-step b{display:block;color:#16375f;font-size:14px}.planning-step small{display:block;margin-top:2px;color:#6e7d90;font-size:10px}.planning-targets{margin-bottom:15px}.planning-context{margin-bottom:24px}.planning-methods{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0 0 15px}.planning-methods label{cursor:pointer}.planning-methods label>span{display:block;min-height:86px;padding:16px;border:1px solid #d7e2f0;border-radius:18px;background:linear-gradient(145deg,#fff,#f5f9ff);transition:.22s ease}.planning-methods label>span>b{display:block;margin-top:3px;color:#173f77}.planning-methods label>span>small{display:block;margin-top:5px;color:#6c7d92;line-height:1.45}.planning-methods input{position:absolute;opacity:0}.planning-methods input:checked+span{border-color:#4d8bd5;background:linear-gradient(145deg,#eef6ff,#fff);box-shadow:0 14px 32px rgba(33,100,174,.13),inset 0 0 0 1px #8ab5e8;transform:translateY(-2px)}.planning-title{margin:6px 0 18px}.planning-upload{display:flex;align-items:center;gap:16px;margin-bottom:18px}.planning-upload .upload-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#e5f1ff;color:#1a5aa4;font-size:24px;font-weight:900}.planning-upload>div:nth-child(2){flex:1}.planning-upload b,.planning-upload small{display:block}.planning-upload small{margin-top:4px;color:#66768b}.planning-upload input{max-width:350px}.planning-lesson-grid{margin-top:0}.planning-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#f1f7ff,#f8fbff);border:1px solid #d5e4f6}.planning-submit b,.planning-submit small{display:block}.planning-submit b{color:#173f77}.planning-submit small{margin-top:3px;color:#6f7f93}
.scheme-builder{border:1px solid #dbe4f0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(28,68,118,.06)}.scheme-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#f1f7ff,#f8fbff);border-bottom:1px solid #dce6f2}.scheme-head b,.scheme-head small{display:block}.scheme-head b{color:#173f77}.scheme-head small{margin-top:3px;color:#708095}.scheme-table-wrap{width:100%;overflow:auto}.scheme-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;background:#fff}.scheme-table th{position:sticky;top:0;z-index:1;padding:10px 9px;background:#edf4fd;color:#284a72;font-size:9px;font-weight:950;letter-spacing:.065em;text-transform:uppercase;border-bottom:1px solid #dce6f2;text-align:left}.scheme-table td{vertical-align:top;padding:7px;border-bottom:1px solid #edf1f6;border-right:1px solid #edf1f6}.scheme-table tbody tr{transition:.18s ease}.scheme-table tbody tr:hover{background:#fbfdff}.scheme-input{width:100%!important;min-width:105px!important;margin:0!important;border:1px solid transparent!important;background:transparent!important;color:#172033!important;padding:8px!important;border-radius:9px!important;box-shadow:none!important;resize:vertical}.scheme-input:focus{background:#fff!important;border-color:#87b2e6!important;box-shadow:0 0 0 3px rgba(75,139,213,.12)!important;outline:none}.scheme-remove{width:28px;height:28px;border:0;border-radius:50%;background:#fff1f2;color:#b42338;font-weight:950;cursor:pointer;transition:.18s ease}.scheme-remove:hover{background:#c92f3f;color:#fff;transform:rotate(7deg) scale(1.05)}.scheme-table.readonly td{font-size:11px;line-height:1.55;color:#26364a;background:#fff}
.planning-filters{display:flex;gap:7px;flex-wrap:wrap}.planning-filters .active{background:#173f77;color:#fff!important;border-color:#173f77}.planning-card-grid{align-items:stretch}.planning-card{position:relative;overflow:hidden;min-height:235px}.planning-card-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:11px;border-radius:15px;background:linear-gradient(145deg,#eff6ff,#dcecff);font-size:22px;box-shadow:inset 0 1px #fff}.planning-card .card-accent{height:4px;background:linear-gradient(90deg,#1856a2,#4aa3e8,#35a27f)}.planning-meta{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.planning-meta span{padding:6px 8px;border-radius:999px;background:#f1f5fa;color:#50637a;font-size:9px;font-weight:800}.planning-empty span{font-size:42px}.planning-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px;padding:24px 26px;border-radius:26px;background:linear-gradient(135deg,#f7faff,#edf5ff);border:1px solid #d9e5f4;box-shadow:0 18px 45px rgba(29,70,125,.08)}.planning-detail-hero h2{margin:3px 0 8px;color:#163b6f;font-size:28px}.planning-detail-status{text-align:right}.planning-detail-status .status{display:inline-block}.planning-detail-status small{display:block;margin-top:7px;color:#728096}.approval-ribbon{display:flex;align-items:center;gap:12px;margin:0 18px 16px;padding:13px 16px;border-radius:17px;border:1px solid #aadfc2;background:linear-gradient(135deg,#effff6,#f8fffb);color:#0e7548}.approval-ribbon>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#15945b;color:#fff;font-size:18px;font-weight:950}.approval-ribbon b,.approval-ribbon small{display:block}.approval-ribbon small{margin-top:3px;color:#4d735f}.planning-detail-form,.planning-readonly,.planning-action-deck,.planning-history{margin-left:18px;margin-right:18px}.uploaded-plan-review{display:grid;gap:14px}.uploaded-plan-file{display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:18px;background:linear-gradient(135deg,#f2f7ff,#fff);border:1px solid #d7e3f2}.uploaded-plan-file>span{font-size:30px}.uploaded-plan-file>div{flex:1}.uploaded-plan-file b,.uploaded-plan-file small{display:block}.uploaded-plan-file small{margin-top:3px;color:#728197}.review-copy{margin-top:16px}.review-copy pre{white-space:pre-wrap;font-family:Arial,sans-serif;font-size:12px;line-height:1.6;color:#26384d;background:#f8fbff;border:1px solid #e0e8f2;border-radius:14px;padding:16px;max-height:560px;overflow:auto}.planning-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.planning-action-deck{display:flex;align-items:center;justify-content:space-between;gap:14px}.planning-action-deck b,.planning-action-deck small{display:block}.planning-action-deck small{margin-top:3px;color:#728197}.planning-history{margin-top:0}
@media(max-width:900px){.planning-hero{align-items:flex-start;flex-direction:column}.planning-hero-actions{width:100%;justify-content:space-between}.planning-methods{grid-template-columns:1fr}.planning-view-grid{grid-template-columns:1fr}.planning-action-deck{align-items:flex-start;flex-direction:column}.planning-upload{align-items:flex-start;flex-wrap:wrap}.planning-upload input{max-width:none;width:100%}}
@media(max-width:620px){.planning-hero,.planning-form,.planning-detail-hero{margin:10px;border-radius:21px;padding:18px}.planning-hero-actions{align-items:stretch;flex-direction:column}.planning-count{width:100%;text-align:left}.planning-count b{font-size:24px}.planning-submit{align-items:flex-start;flex-direction:column}.planning-submit .btn{width:100%}.planning-detail-hero{align-items:flex-start;flex-direction:column}.planning-detail-status{text-align:left}.planning-detail-form,.planning-readonly,.planning-action-deck,.planning-history,.approval-ribbon{margin-left:10px;margin-right:10px}.scheme-head{align-items:flex-start;flex-direction:column;gap:10px}}
.is-processing{position:relative;opacity:.8;pointer-events:none}.is-processing:after{content:'';display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:edu-spin .7s linear infinite}@keyframes edu-spin{to{transform:rotate(360deg)}}.weekly-editor{display:grid;gap:18px}.weekly-editor details{padding:18px;border:1px solid #cdd8ee;border-radius:16px}.weekly-editor summary{font-weight:800;cursor:pointer}.weekly-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px}.weekly-fields textarea{width:100%;min-height:130px}.week-choices{display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));gap:8px}.week-choices label{padding:10px;border:1px solid #ccd5e5;border-radius:8px}.answer-review{white-space:pre-wrap;padding:14px;background:#f0f4fb;color:#172033;border-radius:10px}@media(max-width:650px){.week-choices{grid-template-columns:repeat(5,1fr)}}

.animated-logout{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#8c244d,#cc4775);border-radius:16px;padding:13px 18px;margin:16px 0;box-shadow:0 8px 20px #cc477533;transition:transform .2s}.animated-logout span{display:inline-block;font-size:25px;animation:logout-orbit 5s linear infinite}.animated-logout:hover{transform:translateY(-2px);filter:brightness(1.12)}@keyframes logout-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.animated-logout span{animation:none}}
/* Daily attendance keeps its controls readable on phones; the register scrolls horizontally. */
#dailyAttendanceTable{min-width:660px}#dailyAttendanceTable td:first-child{min-width:190px}#dailyAttendanceTable td small{display:block;margin-top:6px;line-height:1.45;color:#64748b}#dailyAttendanceTable td select{min-width:130px}.attendance-tick{display:flex!important;align-items:center;gap:8px;margin:0 0 8px!important}.attendance-tick input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px;padding:0!important;margin:0;accent-color:#1767c7}.attendance-tick:focus-within{color:#1767c7}#dailyAttendanceForm>.actions{margin:16px 0;flex-wrap:wrap}

.result-sidebar-group{margin:5px 10px;border-radius:12px;background:rgba(255,255,255,.05)}.result-sidebar-group summary{padding:14px 12px;cursor:pointer;font-weight:700}.result-sidebar-group a{padding-left:27px!important}.result-sidebar-group a[aria-current]{background:#235f9b;color:white}
