*{box-sizing:border-box} :root{color-scheme:dark;--bg:#090b10;--panel:#11151e;--line:#252d3b;--text:#edf2f8;--muted:#8e9aab;--accent:#8b5cf6}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#0c0f16;border-right:1px solid var(--line);padding:24px 16px;position:relative}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:17px;padding:0 10px 28px;letter-spacing:.3px}.brand b{color:#a78bfa}.brand-mark{width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#a78bfa,#6d28d9);display:grid;place-items:center;color:white;font-weight:900}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#8e83c8}.nav-label{padding:10px}.nav-item{display:block;width:100%;text-align:left;border:0;background:transparent;color:#aab5c4;padding:11px 12px;border-radius:9px;margin:3px 0;cursor:pointer;font:inherit}.nav-item:hover,.nav-item.active{background:#1a2030;color:white}.sidebar-bottom{position:absolute;bottom:20px;color:#8290a3;font-size:11px;padding:0 10px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-right:7px}.main{max-width:1500px;width:100%;padding:28px 34px;margin:0 auto}.topbar,.panel-head,.toolbar,.button-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar{margin-bottom:25px}.topbar h1{font-size:26px;margin:5px 0 0}.top-actions{display:flex;align-items:center;gap:10px}.user-chip,.tag{font-size:11px;padding:6px 9px;border-radius:99px;background:#202738;color:#c6d0df}.tag-warn{background:#332a18;color:#fcd34d}.tag-ok{background:#153322;color:#86efac}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:29px;margin:7px 0 2px}.stat-card small{font-size:11px;color:#748196}.panel{margin-top:18px}.panel h2{font-size:15px;margin:0}.panel-head{margin-bottom:14px}.muted{color:var(--muted)}.small{font-size:12px}.callout{margin:14px 0;background:#191629;border:1px solid #40356b;color:#c4b5fd;padding:12px 14px;border-radius:10px;font-size:12px}.btn{border:1px solid var(--line);background:#1b2230;color:#e8edf5;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:650;font:inherit}.btn:hover{filter:brightness(1.15)}.btn-primary{background:var(--accent);border-color:var(--accent);color:white}.btn-small{font-size:12px;padding:7px 10px}.btn-quiet{background:transparent}.btn-danger{color:#fca5a5}.btn:disabled{opacity:.4;cursor:not-allowed}.button-row{justify-content:flex-start}.button-row.end{justify-content:flex-end}.view.hidden,.hidden{display:none!important}.toolbar{margin:12px 0}.search{max-width:300px;width:100%;background:#0c111a;border:1px solid var(--line);padding:10px 12px;color:var(--text);border-radius:9px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:12px}th{color:#8794a7;font-weight:650}.table-wrap{overflow:auto}.empty{text-align:center;padding:26px;color:var(--muted)}input,select,textarea{font:inherit}input[type=checkbox]{accent-color:#8b5cf6}.dialog{width:min(500px,calc(100% - 28px));border:1px solid var(--line);border-radius:16px;background:#121722;color:var(--text);padding:22px;box-shadow:0 25px 90px #0009}.dialog::backdrop{background:#000a}.dialog form,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog label,.form-grid label{display:flex;flex-direction:column;gap:7px;color:#aab5c4;font-size:12px}.dialog input,.dialog select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;background:#0c111a;border:1px solid var(--line);border-radius:9px;padding:11px;color:var(--text)}.form-grid .full,.dialog .full{grid-column:1/-1}.form-grid h2{font-size:15px}.form-grid textarea{resize:vertical}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.flash{padding:11px 14px;border-radius:9px;margin-bottom:14px;background:#153322;border:1px solid #245c3b;color:#a7f3c0}.flash.error,.error{background:#351b20;border:1px solid #71313b;color:#fecaca;padding:11px 14px;border-radius:9px;margin-bottom:14px}.recent-row{display:flex;gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.recent-row span:nth-child(2){color:var(--muted);margin-left:auto}.setup-body{min-height:100vh;display:grid;place-items:center;padding:25px}.setup-wrap{width:min(680px,100%)}.setup-brand{padding:0 0 18px}.setup-wrap .panel{margin:0}.setup-wrap h1{margin:0 0 5px;font-size:24px}.setup-wrap .form-grid{margin-top:20px}.setup-wrap .btn{margin-top:5px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto}.nav-item{white-space:nowrap;width:auto}.main{padding:22px 16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.stats{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.form-grid,.dialog form{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* GAMA login + animated boot */
.login-body{background:radial-gradient(ellipse at 50% 10%,#21183b 0%,#0b0d14 48%,#07090e 100%)}
.login-wrap{max-width:460px}.login-wrap .setup-brand{justify-content:center;font-size:18px}.login-panel{padding:30px}.login-panel h1{font-size:25px;margin:7px 0 2px}.login-panel .form-grid{margin-top:22px}.login-submit{width:100%;display:flex;justify-content:center;gap:12px;align-items:center;padding:12px}.login-submit span{font-size:18px}.login-foot{margin-top:20px;color:#8995a8;font-size:11px;text-align:center}.boot-screen{width:min(540px,100%);text-align:center;padding:35px 28px;background:#10141e;border:1px solid #292d40;border-radius:20px;box-shadow:0 25px 100px #0009}.boot-logo{display:flex;justify-content:center;align-items:center;gap:12px;font-weight:850;letter-spacing:.4px}.boot-logo b{color:#a78bfa}.boot-orbit{width:72px;height:72px;border:1px solid #4c3a7a;border-radius:50%;margin:38px auto 22px;display:grid;place-items:center;position:relative;animation:orbitPulse 1.8s ease-in-out infinite}.boot-orbit:before,.boot-orbit:after{content:"";position:absolute;border:1px solid #342b50;border-radius:50%;inset:8px}.boot-orbit:after{inset:-8px;border-color:#27223a}.boot-orbit span{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,#c4b5fd,#7c3aed);box-shadow:0 0 28px #8b5cf6;transform:rotate(45deg)}.boot-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#ddd6fe;top:1px;left:12px;box-shadow:0 0 12px #c4b5fd}.boot-screen h1{font-size:24px;margin:0}.boot-subtitle{color:#8e9aab;font-size:12px;margin:6px 0 24px}.boot-progress{height:7px;background:#252a39;border-radius:20px;overflow:hidden}.boot-progress span{display:block;width:0;height:100%;border-radius:20px;background:linear-gradient(90deg,#6d28d9,#c4b5fd);box-shadow:0 0 16px #8b5cf6;transition:width .45s ease}.boot-percent{font-variant-numeric:tabular-nums;color:#c4b5fd;font-size:12px;text-align:right;margin-top:8px}.boot-log{text-align:left;background:#0b0e15;border:1px solid #252a39;border-radius:10px;padding:12px 14px;margin-top:18px;min-height:48px;color:#9da9bb;font:11px/1.9 ui-monospace,monospace}.boot-log div{animation:logIn .25s ease both}.boot-log i{display:inline-block;width:6px;height:6px;background:#8b5cf6;border-radius:50%;margin-right:5px;box-shadow:0 0 8px #8b5cf6}@keyframes orbitPulse{50%{transform:scale(1.07);filter:brightness(1.35)}}@keyframes logIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.login-panel{padding:22px}.boot-screen{padding:28px 18px}}

.story-link-box{background:#171a29;border:1px solid #433866;border-radius:12px;padding:16px;display:grid;gap:12px}.story-link-box p{margin:0}.story-link-box .story-toggle{display:flex;flex-direction:row;align-items:center;gap:9px}.story-link-box .story-toggle input{width:auto;accent-color:#8b5cf6}
