
:root {
  --primary:#004852; --primary-2:#00606c; --primary-soft:#e7f2f3; --accent:#e2ff54; --accent-soft:#f5ffc7;
  --ink:#111827; --text:#344054; --muted:#667085; --border:#e4e7ec; --bg:#f5f7f8; --surface:#fff;
  --success:#16845b; --success-soft:#e9f8f1; --warning:#b76700; --warning-soft:#fff4df; --danger:#c43d4d; --danger-soft:#fff0f2;
  --info:#2369a8; --info-soft:#edf5ff; --purple:#7255b7; --purple-soft:#f2edff;
  --shadow:0 18px 50px rgba(16,24,40,.08); --shadow-sm:0 8px 24px rgba(16,24,40,.06);
  --radius:22px; --radius-sm:14px; --sidebar:260px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{display:block}.icon{flex:none}.hidden{display:none!important}
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar);background:var(--primary);color:white;padding:28px 20px 20px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:15px;background:var(--accent);display:grid;place-items:center;color:var(--primary);font-weight:800;font-size:25px;box-shadow:0 10px 30px rgba(226,255,84,.16)}.brand strong{font-size:20px;letter-spacing:.08em}.brand small{display:block;opacity:.72;font-size:10px}.side-nav{display:grid;gap:6px;margin:44px 0 30px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;color:rgba(255,255,255,.7);font-weight:500;transition:.2s}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.11);color:white}.nav-link.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding-top:18px}.user-mini{display:flex;align-items:center;gap:10px;padding:0 8px 16px}.user-mini>span:last-child{min-width:0}.user-mini strong,.user-mini small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini strong{font-size:12px}.user-mini small{font-size:10px;color:rgba(255,255,255,.6)}
.main-content{margin-left:var(--sidebar);min-height:100vh}.topbar{height:88px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:rgba(245,247,248,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(228,231,236,.75)}.topbar-title h1{font-size:22px;margin:1px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:700;font-size:10px;color:var(--muted)}.topbar-actions,.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.icon-button{width:42px;height:42px;border-radius:13px;border:1px solid var(--border);background:white;display:grid;place-items:center;color:var(--text);position:relative}.notification-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#ff6b57;right:8px;top:7px;border:2px solid white}.avatar{width:43px;height:43px;border-radius:50%;background:linear-gradient(145deg,var(--primary-2),var(--primary));color:white;display:grid;place-items:center;font-weight:700;font-size:12px}.avatar.small{width:34px;height:34px;font-size:10px}.avatar.large{width:60px;height:60px;font-size:16px}.avatar.xlarge{width:94px;height:94px;font-size:26px}.page-content{padding:30px 34px 96px;max-width:1600px;margin:0 auto}.mobile-only,.bottom-nav,.sidebar-backdrop{display:none}
.welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.welcome-row h2{font-size:28px;line-height:1.2;margin:5px 0 8px}.welcome-row p{margin:0;color:var(--muted);max-width:720px}.button{border:0;border-radius:13px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;transition:.18s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--primary);color:white;box-shadow:0 8px 20px rgba(0,72,82,.16)}.button-primary:hover{background:var(--primary-2)}.button-secondary{background:white;color:var(--primary);border:1px solid var(--border)}.button-ghost{background:var(--primary-soft);color:var(--primary)}.button-lime{background:var(--accent);color:var(--primary)}.button.full{width:100%}.button.large{padding:14px 18px}.button.small{padding:7px 10px;border-radius:9px;font-size:12px}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:700;background:#f2f4f7;color:var(--text);white-space:nowrap}.status.success{background:var(--success-soft);color:var(--success)}.status.warning{background:var(--warning-soft);color:var(--warning)}.status.danger{background:var(--danger-soft);color:var(--danger)}.status.lime{background:var(--accent-soft);color:var(--primary)}.status.large{font-size:12px;padding:8px 12px}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.mastery-hero{background:linear-gradient(135deg,#003f47,#00606b);min-height:280px;border-radius:28px;color:white;padding:30px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;box-shadow:var(--shadow)}.mastery-hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-95px;background:rgba(226,255,84,.11)}.hero-copy{position:relative;z-index:1}.hero-kicker{font-size:12px;color:rgba(255,255,255,.67);font-weight:600}.hero-copy>strong{font-size:68px;line-height:1;display:block;margin:8px 0}.hero-copy>strong small{font-size:28px}.hero-copy p{color:rgba(255,255,255,.72);margin:0 0 20px;max-width:270px}.ring{--value:80;width:152px;height:152px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--value)*1%),rgba(255,255,255,.13) 0);display:grid;place-items:center;position:relative;z-index:1}.ring:after{content:"";position:absolute;inset:13px;background:var(--primary);border-radius:50%}.ring>div{position:relative;z-index:1;text-align:center}.ring strong,.ring span{display:block}.ring strong{font-size:28px}.ring span{font-size:10px;color:rgba(255,255,255,.64)}.continue-card{background:white;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow-sm)}.card-header,.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.card-header h3,.panel-header h3{margin:4px 0 0;font-size:18px}.continue-card>p{color:var(--muted);margin:8px 0 28px}.progress-wrap{width:100%}.progress-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;color:var(--muted)}.progress-label strong{color:var(--ink)}.progress-track{height:8px;background:#edf0f2;border-radius:999px;overflow:hidden}.progress-track>span,.progress-track>i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#25a3a7);border-radius:999px}.continue-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:26px}.continue-actions>span{font-size:10px;color:var(--muted)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 30px}.metric-card{background:white;border:1px solid var(--border);border-radius:18px;padding:19px;display:flex;align-items:center;gap:14px;box-shadow:0 5px 18px rgba(16,24,40,.03)}.metric-icon{width:45px;height:45px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.metric-card.success .metric-icon{background:var(--success-soft);color:var(--success)}.metric-card.lime .metric-icon{background:var(--accent-soft);color:var(--primary)}.metric-card.info .metric-icon{background:var(--info-soft);color:var(--info)}.metric-card.purple .metric-icon{background:var(--purple-soft);color:var(--purple)}.metric-card.danger .metric-icon{background:var(--danger-soft);color:var(--danger)}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{color:var(--muted);font-size:11px}.metric-card strong{font-size:21px;margin:1px 0}.metric-card small{font-size:10px;color:var(--muted)}
.section-block{margin:30px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.section-heading h2{margin:3px 0 0;font-size:22px}.section-heading>a,.panel-header>a{font-size:12px;color:var(--primary);font-weight:600;display:flex;align-items:center;gap:5px}.subject-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.subject-card{min-height:205px;padding:20px;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;color:white;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.subject-card:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.08);right:-50px;top:-50px}.subject-teal{background:linear-gradient(145deg,#004852,#087884)}.subject-lime{background:linear-gradient(145deg,#cfe936,#e9ff72);color:var(--primary)}.subject-indigo{background:linear-gradient(145deg,#534e96,#726db4)}.subject-orange{background:linear-gradient(145deg,#c25b30,#e0804c)}.subject-top,.subject-footer{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;font-size:11px}.subject-icon{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.17);display:grid;place-items:center;font-weight:800;font-size:18px}.subject-icon.large{width:60px;height:60px;font-size:23px}.subject-card h3{margin:0;font-size:20px}.subject-card p{margin:2px 0;color:inherit;opacity:.7;font-size:11px}.subject-card .progress-track{background:rgba(255,255,255,.2);height:6px}.subject-card .progress-track span{background:white}.subject-lime .progress-track{background:rgba(0,72,82,.13)}.subject-lime .progress-track span{background:var(--primary)}.subject-grid.large{grid-template-columns:repeat(3,1fr)}.subject-detail-card{border-radius:22px;background:white;border:1px solid var(--border);overflow:hidden}.subject-banner{height:115px;padding:20px;display:flex;justify-content:space-between}.subject-card-body{padding:20px}.subject-card-body h3{font-size:20px;margin:4px 0}.subject-card-body>p{color:var(--muted);margin:0 0 18px}.subject-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.subject-stats span{font-size:9px;color:var(--muted);text-align:center;padding:10px 5px;background:var(--bg);border-radius:10px}.subject-stats strong{display:block;color:var(--ink);font-size:15px}
.panel{background:white;border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 6px 24px rgba(16,24,40,.035)}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.ai-chip{display:inline-flex;gap:5px;align-items:center;background:var(--accent-soft);color:var(--primary);font-size:9px;font-weight:700;padding:5px 8px;border-radius:99px}.recommendation-card{display:flex;gap:14px;background:linear-gradient(135deg,var(--primary-soft),#f2f8f8);border:1px solid #d8e9eb;border-radius:17px;padding:18px;margin-top:18px}.recommendation-card.compact{padding:14px}.recommendation-icon{width:42px;height:42px;border-radius:13px;background:var(--accent);color:var(--primary);display:grid;place-items:center;flex:none}.recommendation-card strong{font-size:13px}.recommendation-card p{font-size:11px;color:var(--muted);margin:5px 0 13px}.activity-list{margin-top:12px}.activity-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f0f2f4}.activity-row:last-child{border-bottom:0}.activity-icon{width:36px;height:36px;border-radius:12px;background:var(--bg);color:var(--primary);display:grid;place-items:center}.activity-row strong,.activity-row span{display:block}.activity-row strong{font-size:11px}.activity-row>div>span,.activity-row time{font-size:9px;color:var(--muted)}
.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}.search-box{height:44px;min-width:270px;flex:1;max-width:420px;border:1px solid var(--border);border-radius:13px;background:white;display:flex;align-items:center;gap:8px;padding:0 13px}.search-box input{border:0;outline:0;width:100%;background:transparent}.filter-chip{border:1px solid var(--border);background:white;border-radius:999px;padding:8px 12px;font-size:11px;color:var(--muted)}.filter-chip.active{background:var(--primary);color:white;border-color:var(--primary)}
.lesson-header{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.lesson-header h2{font-size:31px;margin:5px 0}.lesson-header p{color:var(--muted);max-width:800px}.back-link{display:inline-block;color:var(--primary);font-size:11px;font-weight:600;margin-bottom:16px}.lesson-meta{display:flex;gap:10px;align-self:flex-end;flex-wrap:wrap}.lesson-meta span{display:flex;gap:7px;align-items:center;padding:8px 11px;background:white;border:1px solid var(--border);border-radius:12px;font-size:10px}.lesson-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.lesson-outline{align-self:start;position:sticky;top:110px}.lesson-outline h3{margin:4px 0 14px}.step-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:6px}.step-list li{display:flex;align-items:center;gap:11px;padding:9px;border-radius:12px}.step-list li>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f0f2f4;color:var(--muted);font-size:10px;font-weight:700}.step-list li strong,.step-list li small{display:block}.step-list li strong{font-size:11px}.step-list li small{font-size:9px;color:var(--muted)}.step-list li.done>span{background:var(--success-soft);color:var(--success)}.step-list li.active{background:var(--primary-soft)}.step-list li.active>span{background:var(--primary);color:white}.step-list li.locked{opacity:.48}.lesson-main{display:grid;gap:18px}.video-card{padding:0;overflow:hidden}.video-placeholder{height:400px;background:radial-gradient(circle at 70% 20%,#187a84,#003f47 60%);position:relative;display:grid;place-items:center}.video-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 50%)}.play-button{width:78px;height:78px;border-radius:50%;border:0;background:var(--accent);color:var(--primary);display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 10px 35px rgba(0,0,0,.25)}.video-caption{position:absolute;z-index:1;left:24px;bottom:22px;color:white}.video-caption strong,.video-caption span{display:block}.video-caption strong{font-size:18px}.video-caption span{font-size:10px;opacity:.7}.video-details{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px}.video-details h3{margin:0}.video-details p{margin:3px 0;color:var(--muted);font-size:11px}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.resource-card{display:grid;grid-template-columns:46px 1fr 42px;align-items:center;gap:12px;background:white;border:1px solid var(--border);border-radius:18px;padding:16px}.resource-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center}.resource-icon.pdf{background:var(--danger-soft);color:var(--danger)}.resource-icon.sim{background:var(--accent-soft)}.resource-card h3{font-size:13px;margin:2px 0}.resource-card p{font-size:9px;color:var(--muted);margin:0}.key-concepts{margin:0}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.concept-grid>div{background:var(--bg);padding:15px;border-radius:14px}.concept-grid strong{font-size:12px}.concept-grid p{font-size:10px;color:var(--muted);margin:4px 0}.lesson-next{display:flex;justify-content:space-between;align-items:center;gap:15px}.lesson-next>span{font-size:10px;color:var(--muted)}
.quiz-shell{max-width:950px;margin:0 auto}.quiz-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.quiz-header h2{font-size:28px;margin:3px 0}.quiz-meta{display:flex;gap:10px}.quiz-meta span{display:flex;gap:6px;align-items:center;padding:8px 11px;background:white;border:1px solid var(--border);border-radius:12px;font-size:10px}.quiz-progress{margin:22px 0}.quiz-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:7px}.quiz-card{padding:28px}.quiz-question{display:none}.quiz-question.active{display:block}.question-label{display:inline-block;color:var(--primary);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quiz-question h3{font-size:21px;line-height:1.4;margin:10px 0 24px}.choice{display:grid;grid-template-columns:20px 34px 1fr;align-items:center;gap:10px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:10px 0;cursor:pointer;transition:.15s}.choice:hover{border-color:#8fb6ba;background:#f7fbfb}.choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.choice input{accent-color:var(--primary)}.choice>span{width:30px;height:30px;border-radius:9px;background:var(--bg);display:grid;place-items:center;font-weight:700;font-size:11px}.choice p{margin:0;font-size:12px}.quiz-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--border)}.quiz-result{display:grid;grid-template-columns:190px 1fr;gap:30px;align-items:center;margin-top:25px}.result-ring{width:170px;height:170px;border:14px solid var(--primary-soft);border-top-color:var(--accent);border-radius:50%;display:grid;place-items:center;align-content:center}.result-ring strong,.result-ring span{display:block;text-align:center}.result-ring strong{font-size:34px}.result-ring span{font-size:10px;color:var(--muted)}.quiz-result h2{margin:3px 0}.quiz-result>div:last-child>p{color:var(--muted)}
.mastery-summary-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:20px}.mastery-score strong{display:block;font-size:60px;color:var(--primary)}.mastery-score p{color:var(--muted);margin-top:-7px}.trend-positive{font-size:11px;font-weight:700;color:var(--success)}.line-chart{margin-top:15px}.line-chart svg{width:100%;height:auto;overflow:visible}.line-chart .grid{stroke:#edf0f2;stroke-width:1}.line-chart .area{fill:rgba(0,96,108,.08)}.line-chart .line{fill:none;stroke:var(--primary);stroke-width:4}.line-chart circle{fill:var(--accent);stroke:var(--primary);stroke-width:3}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.attempt-list{margin-top:12px}.attempt-row{display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.attempt-number{width:30px;height:30px;border-radius:50%;background:var(--primary-soft);display:grid;place-items:center;font-weight:700;color:var(--primary);font-size:10px}.attempt-row>div strong,.attempt-row>div span{display:block}.attempt-row>div strong{font-size:11px}.attempt-row>div span{font-size:9px;color:var(--muted)}.attempt-score{font-size:15px}.topic-bars{display:grid;gap:16px;margin:20px 0}
.xp-banner{background:linear-gradient(135deg,var(--primary),#087884);color:white;border-radius:24px;padding:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.xp-banner h3{margin:3px 0 16px}.xp-banner .progress-track{background:rgba(255,255,255,.18);min-width:380px}.xp-banner .progress-track span{background:var(--accent)}.xp-banner>strong{font-size:38px}.xp-banner small{font-size:13px}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.badge-card{background:white;border:1px solid var(--border);border-radius:20px;padding:20px;display:grid;grid-template-columns:54px 1fr;gap:14px;position:relative}.badge-card.locked{filter:grayscale(1);opacity:.58}.badge-symbol{width:54px;height:54px;border-radius:16px;background:var(--accent-soft);display:grid;place-items:center;font-size:25px}.badge-card h3{font-size:14px;margin:3px 0}.badge-card p{font-size:10px;color:var(--muted);margin:0}.badge-card>.status{position:absolute;right:14px;top:14px}
.teacher-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.priority-panel{background:linear-gradient(145deg,#fff,#fff7f8)}.priority-number{display:flex;align-items:flex-end;gap:10px;margin:22px 0}.priority-number strong{font-size:58px;line-height:1;color:var(--danger)}.priority-number span{font-size:11px;color:var(--muted);padding-bottom:9px}.bar-chart{height:240px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;padding-top:22px}.bar-chart>div{height:100%;flex:1;display:grid;grid-template-rows:16px 1fr 18px;text-align:center;gap:5px;font-size:9px;color:var(--muted)}.bar-chart>div>div{height:100%;background:#eef2f3;border-radius:9px 9px 4px 4px;display:flex;align-items:flex-end;overflow:hidden}.bar-chart i{width:100%;background:linear-gradient(var(--accent),#92b826);border-radius:8px 8px 0 0}.bar-chart strong{color:var(--ink);font-size:10px}.student-list{margin-top:12px}.student-row{display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.student-row>div strong,.student-row>div span{display:block}.student-row>div strong{font-size:11px}.student-row>div span{font-size:9px;color:var(--muted)}.risk-score{font-size:13px;color:var(--danger)}.suggestion-list{display:grid;gap:12px;margin-top:18px}.suggestion-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;background:var(--bg);border-radius:13px;padding:12px}.suggestion-list>div>span{width:26px;height:26px;background:var(--accent);border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:10px;color:var(--primary)}.suggestion-list p{font-size:10px;color:var(--muted);margin:0}.suggestion-list strong{color:var(--ink)}
.table-panel{padding:0;overflow:hidden}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:14px 17px;border-bottom:1px solid var(--border);font-size:10px}th{background:#f8fafb;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}tbody tr:hover{background:#fbfcfc}.table-user{display:flex;align-items:center;gap:8px}.horizontal-bars{display:grid;gap:14px;margin-top:20px}.horizontal-bar-row{display:grid;grid-template-columns:85px 1fr 40px auto;align-items:center;gap:10px;font-size:10px}.horizontal-bar-row .progress-track>i{background:linear-gradient(90deg,var(--primary),#41afb3)}.question-analysis{display:grid;gap:6px;margin-top:14px}.question-analysis>div{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:12px;background:var(--bg);border-radius:13px}.rank{width:27px;height:27px;border-radius:8px;background:white;display:grid;place-items:center;font-weight:700;font-size:10px}.question-analysis p{margin:0}.question-analysis p strong,.question-analysis p small{display:block}.question-analysis p strong{font-size:10px}.question-analysis p small{font-size:9px;color:var(--muted)}
.child-summary{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(135deg,var(--primary),#087884);color:white;border-radius:24px;padding:25px;margin-bottom:20px}.child-profile{display:flex;align-items:center;gap:14px}.child-profile h3{margin:2px 0;font-size:21px}.child-profile p{margin:0;font-size:10px;opacity:.7}.child-mastery{padding-left:30px;border-left:1px solid rgba(255,255,255,.22)}.child-mastery>span,.child-mastery>strong{display:block}.child-mastery>span{font-size:10px;opacity:.7}.child-mastery>strong{font-size:35px}.child-summary .progress-track{background:rgba(255,255,255,.18)}.child-summary .progress-track span{background:var(--accent)}.parent-summary-list{display:grid;gap:10px;margin-top:16px}.parent-summary-list>div{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:12px;background:var(--bg);border-radius:12px;color:var(--primary)}.parent-summary-list p{margin:0}.parent-summary-list strong,.parent-summary-list span{display:block}.parent-summary-list strong{font-size:11px;color:var(--ink)}.parent-summary-list span{font-size:9px;color:var(--muted)}.teacher-note{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.teacher-note strong{font-size:10px}.teacher-note p{font-size:10px;color:var(--muted);margin:4px 0;font-style:italic}
.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.quick-action-grid a{display:flex;gap:10px;padding:14px;border-radius:13px;background:var(--bg);color:var(--primary)}.quick-action-grid strong,.quick-action-grid small{display:block}.quick-action-grid strong{font-size:10px;color:var(--ink)}.quick-action-grid small{font-size:8px;color:var(--muted)}
.upgrade-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.upload-dropzone{min-height:340px;border:2px dashed #bfd2d5;border-radius:18px;background:#f8fbfb;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.upload-big{width:64px;height:64px;border-radius:18px;background:var(--accent);color:var(--primary);display:grid;place-items:center}.upload-dropzone h3{margin:14px 0 2px}.upload-dropzone p{color:var(--muted);font-size:11px}.upload-dropzone>span:last-child{margin-top:12px;font-size:9px;color:var(--muted)}.upgrade-note{display:flex;gap:10px;padding:14px;background:var(--warning-soft);color:var(--warning);border-radius:13px;margin-top:15px}.upgrade-note p{font-size:10px;margin:0}.upgrade-steps{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}.upgrade-steps li{display:flex;align-items:center;gap:11px}.upgrade-steps li>span{width:34px;height:34px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:10px}.upgrade-steps strong,.upgrade-steps small{display:block}.upgrade-steps strong{font-size:11px}.upgrade-steps small{font-size:9px;color:var(--muted)}.precheck-result{margin-top:14px;padding:13px;background:var(--success-soft);border-radius:12px}.precheck-result p{font-size:10px;color:var(--success);margin:7px 0 0}
.profile-layout{display:grid;grid-template-columns:300px 1fr;gap:20px}.profile-card{text-align:center;display:grid;justify-items:center;align-content:start;gap:6px;padding:35px}.profile-card h2{margin:8px 0 0}.profile-card p{margin:0;color:var(--muted)}.profile-details dl{margin:20px 0}.profile-details dl>div{display:grid;grid-template-columns:180px 1fr;padding:14px 0;border-bottom:1px solid var(--border)}dt{font-size:10px;color:var(--muted)}dd{margin:0;font-size:11px;font-weight:600}.empty-state{max-width:600px;margin:70px auto;text-align:center;display:grid;justify-items:center}.empty-icon{width:70px;height:70px;border-radius:20px;background:var(--accent);display:grid;place-items:center;color:var(--primary)}.empty-state h2{margin:8px 0}.empty-state p{color:var(--muted);max-width:450px}
.auth-body{background:white}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.auth-brand-panel{background:var(--primary);color:white;padding:40px 50px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(226,255,84,.06);right:-180px;top:-180px}.auth-brand small{max-width:300px}.auth-copy{margin:auto 0 25px;position:relative;z-index:1}.auth-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);padding:7px 10px;border-radius:999px;color:var(--accent);font-size:10px;font-weight:600}.auth-copy h1{font-size:47px;line-height:1.15;margin:18px 0}.auth-copy h1 em{font-style:normal;color:var(--accent)}.auth-copy p{color:rgba(255,255,255,.7);max-width:560px}.auth-preview{position:relative;z-index:1;margin:10px 0 auto}.mini-window{width:78%;max-width:560px;background:#f6f8f8;border-radius:18px;padding:10px;transform:perspective(1000px) rotateY(-8deg) rotateX(3deg);box-shadow:0 30px 70px rgba(0,0,0,.25)}.mini-top{display:flex;gap:5px;padding:4px}.mini-top span{width:6px;height:6px;background:#d0d5dd;border-radius:50%}.mini-grid{display:grid;grid-template-columns:80px 1fr;height:245px;gap:8px}.mini-side{background:#003840;border-radius:8px}.mini-main{background:#f4f6f7;border-radius:8px;padding:12px}.mini-hero{height:105px;background:var(--primary);border-radius:12px;color:white;padding:14px;position:relative}.mini-hero small,.mini-hero strong{display:block}.mini-hero strong{font-size:28px}.mini-hero i{position:absolute;right:15px;top:20px;width:70px;height:70px;border-radius:50%;border:8px solid var(--accent);border-left-color:rgba(255,255,255,.1)}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.mini-cards span{height:40px;background:white;border-radius:8px}.mini-lines{display:grid;gap:6px;margin-top:10px}.mini-lines i{height:8px;background:white;border-radius:5px}.auth-brand-panel footer{display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-size:9px;position:relative;z-index:1}.auth-form-panel{display:grid;place-items:center;padding:50px}.auth-form-wrap{width:100%;max-width:430px}.auth-form-wrap h2{font-size:30px;margin:5px 0}.auth-form-wrap>p{color:var(--muted);margin-top:0}.auth-form{display:grid;gap:17px;margin-top:30px}.auth-form label{font-size:11px;font-weight:600;color:var(--text)}.auth-form label>span{display:flex;justify-content:space-between}.auth-form label a{color:var(--primary)}.auth-form input{width:100%;border:1px solid var(--border);border-radius:13px;padding:13px 14px;margin-top:7px;outline:0}.auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:8px;bottom:7px;border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:600;padding:7px}.form-alert{display:flex;align-items:center;gap:8px;background:var(--danger-soft);color:var(--danger);padding:11px 12px;border-radius:12px;font-size:10px;margin-top:18px}.demo-divider{height:1px;background:var(--border);margin:30px 0 22px;text-align:center}.demo-divider span{position:relative;top:-10px;background:white;padding:0 10px;color:var(--muted);font-size:9px}.demo-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-roles button{border:1px solid var(--border);background:white;border-radius:13px;padding:10px;display:flex;gap:9px;align-items:center;text-align:left}.demo-roles button:hover{border-color:var(--primary);background:var(--primary-soft)}.demo-roles strong,.demo-roles small{display:block}.demo-roles strong{font-size:10px}.demo-roles small{font-size:8px;color:var(--muted)}.demo-password{text-align:center;font-size:9px!important;margin-top:18px!important}.demo-password code{background:var(--accent-soft);color:var(--primary);padding:4px 6px;border-radius:6px}.mobile-auth-logo{display:none}
@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.subject-grid{grid-template-columns:repeat(2,1fr)}.subject-grid.large{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.teacher-hero-grid{grid-template-columns:1fr}.auth-copy h1{font-size:38px}.video-placeholder{height:320px}}
@media(max-width:900px){:root{--sidebar:250px}.mobile-only{display:grid}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:40;opacity:0;pointer-events:none;transition:.2s}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.main-content{margin-left:0}.topbar{padding:0 20px;height:76px}.topbar-title{margin-right:auto;margin-left:12px}.page-content{padding:24px 20px 105px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:35;left:12px;right:12px;bottom:10px;padding:7px;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 35px rgba(16,24,40,.15);backdrop-filter:blur(14px)}.bottom-link{border:0;background:transparent;color:var(--muted);display:grid;justify-items:center;gap:2px;font-size:8px;padding:5px}.bottom-link.active{color:var(--primary)}.bottom-link.active svg{stroke-width:2.5}.hero-grid,.mastery-summary-grid,.lesson-layout,.upgrade-layout,.profile-layout{grid-template-columns:1fr}.lesson-outline{position:static}.lesson-outline .step-list{grid-template-columns:repeat(4,1fr);overflow:auto}.step-list li{min-width:150px}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{padding:35px 22px}.mobile-auth-logo{display:grid;width:52px;height:52px;border-radius:16px;background:var(--accent);place-items:center;color:var(--primary);font-weight:800;font-size:25px;margin-bottom:30px}}
@media(max-width:650px){body{font-size:14px}.topbar-title .eyebrow{display:none}.topbar-title h1{font-size:18px}.topbar-actions .notification-button{display:none}.welcome-row{display:block}.welcome-row .button,.welcome-row .button-row,.welcome-row>.status{margin-top:16px}.welcome-row h2{font-size:24px}.hero-grid{gap:14px}.mastery-hero{padding:22px;min-height:230px}.hero-copy>strong{font-size:54px}.ring{width:112px;height:112px}.ring:after{inset:10px}.ring strong{font-size:22px}.continue-card{padding:20px}.continue-actions{align-items:flex-start;flex-direction:column}.metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:13px;gap:9px}.metric-icon{width:38px;height:38px}.metric-card strong{font-size:16px}.metric-card small{font-size:8px}.subject-grid,.subject-grid.large{grid-template-columns:1fr}.dashboard-columns{gap:14px}.panel{padding:17px}.recommendation-card{padding:14px}.activity-row{grid-template-columns:36px 1fr}.activity-row time{display:none}.lesson-header{display:block}.lesson-meta{margin-top:15px}.lesson-header h2{font-size:25px}.lesson-outline .step-list{display:flex}.video-placeholder{height:235px}.video-details,.lesson-next{align-items:flex-start;flex-direction:column}.resource-grid,.concept-grid{grid-template-columns:1fr}.quiz-header{display:block}.quiz-meta{margin-top:10px}.quiz-card{padding:18px}.quiz-question h3{font-size:18px}.choice{grid-template-columns:18px 30px 1fr;padding:10px}.quiz-actions{display:grid;grid-template-columns:1fr 1fr}.quiz-actions button:last-child{grid-column:1/-1}.quiz-result{grid-template-columns:1fr;justify-items:center;text-align:center}.badge-grid{grid-template-columns:1fr}.xp-banner{display:block}.xp-banner .progress-track{min-width:0}.xp-banner>strong{display:block;margin-top:18px}.child-summary{grid-template-columns:1fr;gap:20px}.child-mastery{padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.22)}.quick-action-grid{grid-template-columns:1fr}.horizontal-bar-row{grid-template-columns:70px 1fr 35px}.horizontal-bar-row em{display:none}.profile-details dl>div{grid-template-columns:1fr;gap:4px}.demo-roles{grid-template-columns:1fr}.auth-form-wrap h2{font-size:26px}.page-content{padding-left:14px;padding-right:14px}.topbar{padding:0 14px}.subject-stats{gap:5px}.lesson-meta span{font-size:9px}.table-panel{margin-left:-3px;margin-right:-3px}}
@media(max-width:430px){.metrics-grid{grid-template-columns:1fr}.mastery-hero{display:block}.ring{position:absolute;right:17px;top:28px;width:100px;height:100px}.hero-copy p{max-width:200px}.hero-copy .button{margin-top:20px}.bottom-nav{left:7px;right:7px;bottom:7px}.topbar-actions .avatar{width:37px;height:37px}.subject-card{min-height:190px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* LUMEN 0.2.0 persistence and management components */
.page-alert,.demo-mode-bar,.setup-banner,.connection-status{display:flex;align-items:flex-start;gap:12px;border-radius:14px;margin-bottom:18px;padding:14px 16px}.page-alert.success{background:#e8f7f0;color:#116543;border:1px solid #bde8d4}.page-alert.danger{background:#fff0f1;color:#9f2635;border:1px solid #f4c5cb}.demo-mode-bar{background:#fff8e8;color:#7a4b00;border:1px solid #f0d59a}.demo-mode-bar a{font-weight:700;color:inherit;text-decoration:underline}.setup-banner{background:#f0f8f8;color:var(--primary);border:1px solid #c9e2e4;margin-top:18px}.setup-banner p{margin:4px 0 6px;color:var(--text)}.setup-banner a{font-weight:700;display:inline-flex;align-items:center;gap:5px}.connection-status{display:inline-flex;padding:8px 12px;margin-top:16px;background:#e8f7f0;color:#116543;border:1px solid #bde8d4;font-size:12px;font-weight:700}.connection-status span{width:8px;height:8px;border-radius:50%;background:#16845b;margin-top:4px}.install-shell{min-height:100vh;padding:40px 18px;display:grid;place-items:center;background:linear-gradient(145deg,#eff7f7,#f7f9f4)}.install-card{width:min(980px,100%);padding:34px}.install-brand{margin-bottom:28px}.install-heading{max-width:720px;margin-bottom:24px}.install-heading h1,.install-success h1{font-size:34px;margin:7px 0 10px;color:var(--ink)}.install-heading p,.install-success p{color:var(--muted)}.install-form fieldset{border:1px solid var(--border);border-radius:16px;padding:20px;margin:0 0 18px}.install-form legend{font-weight:700;color:var(--ink);padding:0 8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:1/-1}.install-form label,.stack-form label{display:grid;gap:7px;color:var(--text);font-size:12px;font-weight:600}.install-form input,.stack-form input,.stack-form textarea,.stack-form select,.inline-form select{width:100%;border:1px solid var(--border);background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--ink);outline:none}.install-form input:focus,.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,72,82,.1)}.check-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px!important;background:#f7faf9;border:1px solid var(--border);padding:14px;border-radius:14px;margin-bottom:18px}.check-row input{width:auto;margin-top:4px}.check-row span{display:grid;gap:3px}.check-row small{color:var(--muted);font-weight:400}.install-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.install-actions>span,.muted-copy{color:var(--muted);font-size:12px}.install-success{text-align:center;padding:36px 10px}.success-orb{width:72px;height:72px;border-radius:24px;background:var(--accent);color:var(--primary);display:grid;place-items:center;margin:0 auto 22px}.install-success .button{margin-top:16px}.management-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:20px;align-items:start}.stack-form{display:grid;gap:14px}.stack-form small{color:var(--muted);font-weight:400}.stack-form textarea{resize:vertical;min-height:88px}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th,.data-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbfb}.data-table td{font-size:12px;color:var(--text)}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);margin-top:3px}.table-scroll{overflow:auto;margin:0 -4px}.inline-form{margin:0}.inline-form select{padding:7px 9px;min-width:100px}.student-fields{display:grid;gap:14px;padding:14px;border-radius:13px;background:#f7faf9;border:1px solid var(--border)}.choice-editor{display:grid;gap:9px}.choice-editor label{grid-template-columns:34px 1fr;align-items:center}.choice-editor label>span{width:32px;height:32px;border-radius:9px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.resource-hero-icon{width:76px;height:76px;border-radius:24px;background:rgba(226,255,84,.92);color:var(--primary);display:grid;place-items:center}.persisted-result{display:grid!important}.empty-state.panel{min-height:260px}.form-alert span{display:block}.lesson-main form{margin:0}
@media(max-width:1050px){.management-layout{grid-template-columns:1fr}.management-layout>.panel:first-child{order:0}.table-panel{order:1}}
@media(max-width:650px){.install-shell{padding:12px}.install-card{padding:20px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.install-actions{align-items:stretch;flex-direction:column}.install-heading h1,.install-success h1{font-size:27px}.management-layout{gap:14px}.page-alert,.demo-mode-bar,.setup-banner{padding:12px}.persisted-result{justify-items:center;text-align:center}}
.health-list{display:grid;gap:10px;margin:22px 0}.health-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--border);border-radius:13px}.health-row small{display:block;color:var(--muted);margin-top:3px}.health-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.health-icon.ok{background:#e8f7f0;color:#16845b}.health-icon.fail{background:#fff0f1;color:#c83e4d}@media(max-width:650px){.health-row{grid-template-columns:38px 1fr}.health-row>.status{grid-column:2;justify-self:start}}
.triple-management{grid-template-columns:minmax(260px,.85fr) minmax(260px,.85fr) minmax(0,1.3fr)}.compact-check{margin:0!important;padding:10px!important;align-self:end}.compact-check input{width:auto!important}.section-block+.section-block{margin-top:26px}@media(max-width:1250px){.triple-management{grid-template-columns:1fr 1fr}.triple-management>.table-panel{grid-column:1/-1}}@media(max-width:760px){.triple-management{grid-template-columns:1fr}.triple-management>.table-panel{grid-column:auto}}
