:root{--bg: #0b1220;--surface: #131c2e;--surface-2: #1c2740;--text: #f4f6fb;--text-dim: #9aa7bd;--accent: #5fb3ff;--ok: #35c98d;--warn: #ffb84d;--border: #2a3550;font-size:20px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif}.loading,.fatal-error{height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-dim)}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:3rem 4rem;text-align:center;display:flex;flex-direction:column;gap:1rem}.login-card h1{margin:0;font-size:2rem}.login-card p{margin:0;color:var(--text-dim)}.login-input{font-size:3rem;letter-spacing:.6rem;text-align:center;width:10rem;padding:.5rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);align-self:center}.login-error{color:var(--warn)}.login-card button,.director-actions button{font-size:1.2rem;padding:.6rem 1.4rem;border-radius:8px;border:none;background:var(--accent);color:#06121f;cursor:pointer;font-weight:600}.login-card button:disabled,.director-actions button:disabled{opacity:.5;cursor:default}.stage{height:100vh;display:flex;flex-direction:column;padding:2rem 3rem;gap:1.5rem;overflow:hidden}.event-banner{font-size:1.4rem;color:var(--accent);display:flex;align-items:center;gap:.6rem;min-height:2rem}.event-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #5fb3ff33}.stage-content{flex:1;overflow:auto}.briefing{display:flex;flex-direction:column;gap:1.4rem;height:100%}.briefing h1{margin:0;font-size:2.4rem;line-height:1.15;text-wrap:balance}.briefing p{margin:0}.briefing-intro{display:flex;flex-direction:column;gap:.8rem;max-width:44rem}.briefing-asks{display:flex;flex-direction:column;gap:.8rem}.briefing-lead{font-size:1.4rem;line-height:1.5;text-wrap:pretty}.briefing-para{font-size:1.2rem;line-height:1.55;text-wrap:pretty}.briefing-label{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.briefing-steps{list-style:none;counter-reset:askel;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));align-items:stretch;gap:1rem}.briefing-steps li{counter-increment:askel;display:grid;grid-template-columns:2.1rem 1fr;gap:1rem;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.3rem;font-size:1.2rem;line-height:1.5;text-wrap:pretty}.briefing-steps li:before{content:counter(askel);display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#5fb3ff24;color:var(--accent);font-size:1.05rem;font-weight:600}.briefing-footer{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;gap:2rem}.briefing-notes{display:flex;flex-direction:column;gap:.4rem;min-width:0;max-width:62rem}.briefing-note{font-size:1.05rem;line-height:1.5;color:var(--text-dim);text-wrap:pretty}.briefing-hint{color:var(--accent);font-size:1.1rem;white-space:nowrap}@media (max-height: 900px){.briefing{gap:1rem}.briefing h1{font-size:2rem}.briefing-lead{font-size:1.2rem}.briefing-para{font-size:1.1rem}.briefing-steps{gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.briefing-steps li{padding:.8rem 1rem;font-size:1.05rem;gap:.7rem;grid-template-columns:1.8rem 1fr}.briefing-steps li:before{width:1.8rem;height:1.8rem;font-size:.95rem}.briefing-note{font-size:.95rem}.briefing-hint{font-size:1rem}.briefing-footer{padding-top:.8rem}}@media (max-height: 820px){.briefing{gap:.8rem}.briefing h1{font-size:1.7rem}.briefing-lead{font-size:1.05rem}.briefing-para{font-size:1rem}.briefing-steps li{padding:.7rem .9rem;font-size:.95rem}.briefing-note,.briefing-hint{font-size:.9rem}}.entity-table{width:100%;border-collapse:collapse;font-size:1.15rem}.entity-table th{text-align:left;color:var(--text-dim);font-weight:500;padding:.6rem 1rem;border-bottom:1px solid var(--border)}.entity-table td{padding:.8rem 1rem;border-bottom:1px solid var(--border)}.entity-table tr.row-attention td:first-child{box-shadow:inset 4px 0 0 var(--warn)}.entity-table tr.highlight{animation:flash 1.5s ease-out 2;background:#5fb3ff1f}@keyframes flash{0%{background:#5fb3ff59}to{background:#5fb3ff14}}.sub-heading{margin-top:2rem;color:var(--text-dim);font-weight:500}.empty{color:var(--text-dim);font-size:1.2rem}.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.9rem;background:var(--surface-2);color:var(--text-dim)}.badge-ok{background:#35c98d2e;color:var(--ok)}.badge-warn{background:#ffb84d2e;color:var(--warn)}.stars{letter-spacing:.1rem;color:var(--warn)}.panel-toggle{position:fixed;bottom:1rem;right:1rem;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:1.1rem;cursor:pointer;opacity:.35}.panel-toggle:hover{opacity:1}.director-panel{position:fixed;bottom:4rem;right:1rem;width:20rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.2rem;font-size:1rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 10px 30px #0006}.director-header{display:flex;justify-content:space-between;align-items:center}.director-code{color:var(--text-dim);margin:0;font-size:.9rem}.director-field{display:flex;flex-direction:column;gap:.3rem;color:var(--text-dim)}.director-field select{font-size:1rem;padding:.4rem;border-radius:6px;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.director-actions{display:flex;gap:.6rem}.director-actions button{flex:1;font-size:1rem;padding:.5rem}.director-message{color:var(--text-dim);font-size:.9rem;margin:0}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.9rem;padding:0}.logout-button{position:fixed;bottom:1.2rem;right:22rem}.policy-list{display:flex;flex-direction:column;gap:1.2rem;max-width:70rem}.policy-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.5rem}.policy-card header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.policy-card h2{margin:0;font-size:1.5rem}.policy-card p{font-size:1.2rem;line-height:1.55;margin:.6rem 0 0}.policy-updated{color:var(--text-dim);font-size:1rem;white-space:nowrap}.policy-tags{color:var(--text-dim);font-size:1rem}.policy-card.highlight{animation:flash 1.5s ease-out 2;border-color:var(--accent)}.usage-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:1rem 3.5rem 0 0;border-top:1px solid var(--border);font-size:1.05rem}.usage-meter-closed{display:flex;justify-content:flex-end}.usage-tech{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}.usage-costs{display:flex;align-items:flex-end;gap:2.5rem;flex-shrink:0}.usage-cost{display:flex;flex-direction:column;gap:.1rem}.usage-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.usage-sum{font-size:1.7rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.usage-techrow{display:flex;align-items:center;gap:1rem;min-width:0;flex-wrap:wrap}.usage-nowrap{white-space:nowrap}.usage-model{color:var(--accent)}.usage-dim{color:var(--text-dim)}.usage-live{color:var(--accent)}.usage-unverified{color:var(--warn)}.usage-star{grid-column:2;justify-self:end;font-size:.9rem;margin-top:.35rem}.usage-toggle{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);padding:.2rem .9rem;font-size:.9rem;cursor:pointer}.usage-toggle:hover{color:var(--text);border-color:var(--accent)}.director-hint{margin:.6rem 0 0;color:var(--text-dim);font-size:.9rem}.entity-table th.num,.entity-table td.num{text-align:right;font-variant-numeric:tabular-nums}.sub-line{display:block;margin-top:.2rem;font-size:.8rem;line-height:1.35;color:var(--text-dim)}.sub-line-warn{color:var(--warn)}.entity-table td .badge+.badge{margin-left:.35rem}.entity-table td:last-child{max-width:34rem}
