:root{color:#17212f;background:#f8fafc;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}body{background:#f8fafc;min-height:100vh;margin:0}h1,h2,h3,p{margin:0}#root{min-height:100vh}.app-shell{color:#0f172a;max-width:460px;margin:0 auto;padding:14px 14px 80px}.app-shell-landing{max-width:980px}.login-card,.card{background:#fff;border:1px solid #dbe5f3;border-radius:20px;margin-bottom:12px;padding:16px;box-shadow:0 16px 32px #0f172a14}.landing-card{background:#fff;border:1px solid #dbe5f3;border-radius:24px;padding:20px;box-shadow:0 20px 34px #0f172a14}.landing-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.landing-brand{align-items:center;gap:10px;display:flex}.landing-brand-icon{place-items:center;display:grid}.landing-brand-icon img{border-radius:13px;width:44px;height:44px;display:block;box-shadow:0 5px 12px #003f4c33}.landing-brand-text{color:#0f172a;margin:0;font-size:1.45rem;font-weight:700}.landing-header button{white-space:nowrap}.landing-hero{background:linear-gradient(165deg,#f8fbff 0%,#eef4ff 100%);border:1px solid #dbe5f3;border-radius:18px;padding:18px}.landing-hero h1{margin:8px 0;font-size:clamp(1.45rem,2.6vw,2.05rem);line-height:1.2}.landing-hero-image{aspect-ratio:16/9;object-fit:cover;border:1px solid #dbe5f3;border-radius:14px;width:100%;margin-top:12px;display:block}.landing-quote{color:#475569;margin:14px 0 0;font-size:.97rem;font-style:italic;line-height:1.5}.landing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.landing-feature-card{background:#f8fafc;border:1px solid #dbe5f3;border-radius:14px;padding:12px}.landing-feature-card h3{margin:0 0 10px}.landing-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.landing-list li{flex-direction:column;gap:4px;display:flex}.landing-point-title{align-items:center;gap:8px;display:flex}.landing-point-icon{font-size:.95rem;line-height:1}@media (width<=780px){.landing-grid{grid-template-columns:1fr}}.auth-card{max-width:none;margin:0}.auth-hero{flex-direction:column;gap:8px;display:flex}.topbar{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.topbar-identity{align-items:flex-start;gap:10px;min-width:0;display:flex}.topbar-app-icon{border-radius:12px;flex:0 0 42px;width:42px;height:42px;display:block;box-shadow:0 5px 12px #003f4c2e}.stack,.stack-right{flex-direction:column;gap:8px;display:flex}.toggle{color:#475569;align-items:center;gap:8px;font-size:.9rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0;font-size:.73rem;font-weight:700}.muted{color:#64748b}input,select,button{font:inherit;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px}button{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}button.secondary{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.hero{background:linear-gradient(165deg,#f8fbff 0%,#eef4ff 100%);border-width:2px;position:relative}.hero-green{background:linear-gradient(165deg,#f0fdf4 0%,#ecfeff 100%);border-color:#86efac}.hero-yellow{background:linear-gradient(165deg,#fff7ed 0%,#fefce8 100%);border-color:#fcd34d}.hero-red{background:linear-gradient(165deg,#fff1f2 0%,#fff7ed 100%);border-color:#fca5a5}.hero-slate{background:linear-gradient(165deg,#f8fafc 0%,#f1f5f9 100%);border-color:#cbd5e1}.tab-bar{background:#e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px;padding:6px;display:flex}.account-actions{margin-top:10px}.account-meta-card{background:#f8fafc;border:1px solid #dbe5f3;border-radius:14px;margin-top:12px;padding:12px}.tab-button{color:#475569;text-align:center;background:0 0;border:none;border-radius:10px;flex:1 1 0;min-width:0;padding:10px 6px;font-size:.88rem;font-weight:700}.tab-button.active{color:#0f172a;background:#fff;box-shadow:0 4px 12px #0f172a14}.icon-button{color:#334155;background:#ffffffe0;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:40px;height:40px;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:12px;right:12px}.testing-banner{background:linear-gradient(155deg,#faf5ff 0%,#f3e8ff 100%);border:2px solid #a855f7}.testing-signup-panel{background:linear-gradient(160deg,#faf5ff 0%,#f8fafc 100%);border:1px solid #d8b4fe;border-radius:16px;margin-top:12px;padding:14px}.auth-switch-text{color:#475569;margin:12px 0 0;font-size:.92rem}.text-link{color:#1d4ed8;background:0 0;border:none;padding:0;font-weight:700}.signup-success-card{background:linear-gradient(165deg,#eff6ff 0%,#f8fafc 100%);border:1px solid #bfdbfe;border-radius:14px;padding:14px}.testing-admin-form{margin-top:10px}.student-profile-strip{color:#334155;background:#f8fafc;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;padding:10px;font-size:.82rem;display:grid}.chips,.wrap{flex-wrap:wrap;gap:8px;display:flex}.chip{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:700}.chip.green{color:#166534;background:#dcfce7}.chip.yellow{color:#92400e;background:#fef3c7}.chip.red{color:#991b1b;background:#fee2e2}.chip.slate{color:#334155;background:#e2e8f0}.summary-grid,.assignment{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.assignment{grid-template-columns:repeat(2,minmax(0,1fr))}.assigned-result-card{background:linear-gradient(165deg,#f8fbff 0%,#eefbf3 100%)}.action-priority-card,.guarantee-card{background:#fff;border:1px solid #dbe5f3;border-radius:14px;margin-top:12px;padding:12px}.hero-actions{margin-top:12px}.action-priority-card h4{margin:6px 0;font-size:1.15rem}.tile,.assignment div{background:#f8fafc;border-radius:12px;padding:10px}.tile span,.assignment span{color:#64748b;font-size:.75rem;display:block}.tile strong,.assignment strong{font-size:1.15rem}.tile.green{background:#ecfdf5}.tile.yellow{background:#fffbeb}.tile.red{background:#fff1f2}.zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.zone-card{background:#fbfdff;border:1px solid #dbe5f3;border-radius:14px;padding:10px}.zone-card.selected{background:#eff6ff;border-width:2px;border-color:#2563eb}.zone-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.bar{background:#e2e8f0;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.bar span{height:100%;display:block}.bar .green{background:#22c55e}.bar .yellow{background:#f59e0b}.bar .red{background:#ef4444}.qr-wrap{background:#f8fafc;border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin-top:12px;padding:12px;display:flex}.qr-wrap img{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:180px;height:180px}.table-wrap{overflow-x:auto}.utilization-chart-card{background:linear-gradient(#f8fbff 0%,#eef4ff 100%);border:1px solid #dbe5f3;border-radius:16px;margin:10px 0 14px;padding:12px}.utilization-chart{align-items:flex-end;gap:8px;height:220px;padding-bottom:8px;display:flex;overflow-x:auto}.utilization-bar-column{flex-direction:column;flex:1 0 38px;align-items:center;gap:4px;min-width:38px;display:flex}.utilization-bar-area{align-items:flex-end;width:100%;height:170px;display:flex}.utilization-bar{background:linear-gradient(#3b82f6 0%,#1d4ed8 100%);border:1px solid #1d4ed859;border-radius:10px 10px 6px 6px;width:100%;box-shadow:0 8px 16px #2563eb40}.utilization-value{color:#1e3a8a;white-space:nowrap;font-size:.67rem;font-weight:700;line-height:1}.utilization-label{color:#475569;white-space:nowrap;font-size:.68rem}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:6px 4px}td .chip{text-transform:capitalize}.message{color:#1e3a8a;font-size:.9rem}.message.error{color:#b91c1c}.debug-panel{z-index:999;color:#e2e8f0;background:#0f172af5;border:2px dashed #f97316;border-radius:12px;width:min(360px,100vw - 24px);position:fixed;bottom:12px;right:12px;box-shadow:0 16px 30px #0f172a61}.debug-panel.collapsed{width:auto}.debug-panel-header{justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.debug-panel-actions{gap:6px;display:flex}.debug-badge{letter-spacing:.08em;text-transform:uppercase;color:#fdba74;margin:0;font-size:.75rem;font-weight:800}.debug-panel .secondary{padding:6px 8px;font-size:.72rem}.debug-panel-body{border-top:1px solid #94a3b859;padding:8px}.debug-panel dl{gap:5px;margin:0;display:grid}.debug-panel dt{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.debug-panel dd{color:#f8fafc;word-break:break-word;margin:1px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.74rem}.debug-time-controls{gap:6px;margin-top:6px;display:grid}.debug-time-controls input{color:#f8fafc;background:#0f172ae0;border-color:#475569;width:100%;padding:7px 8px;font-size:.72rem}.debug-time-buttons{gap:6px;display:flex}.debug-time-buttons .secondary{flex:1}.debug-log-label{color:#fdba74;text-transform:uppercase;margin:10px 0 6px;font-size:.75rem;font-weight:700}.debug-log-stream{background:#02061799;border:1px solid #94a3b866;border-radius:8px;max-height:120px;padding:6px;overflow-y:auto}.debug-log-stream p{color:#cbd5e1;margin:0 0 4px;font-size:.72rem}.debug-log-stream p:last-child{margin-bottom:0}@media (width<=760px){.landing-grid{grid-template-columns:1fr}.debug-panel{width:min(300px,100vw - 16px);bottom:8px;right:8px}.debug-badge{font-size:.68rem}.debug-panel .secondary{padding:5px 7px;font-size:.66rem}.debug-panel dt{font-size:.62rem}.debug-panel dd,.debug-log-label{font-size:.68rem}.debug-log-stream p{font-size:.66rem}}@media (width>=860px){.app-shell{max-width:960px}.student-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-layout .card:first-child,.student-layout .admin-user-list-card{grid-column:1/-1}}
