:root{--bg: #0f1412;--bg-elev: #1a221e;--bg-soft: #24302a;--line: #2f3f36;--text: #e8f0ea;--muted: #8fa396;--accent: #3dba7a;--accent-dim: #2a8f5c;--warn: #e6b84d;--danger: #e06b5c;--call: #3dba7a;--put: #d97757;--font: "DM Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1c3a2c 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#2a2418 0%,transparent 50%),var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);border-radius:8px;padding:.5rem .85rem}button.primary{background:var(--accent-dim);border-color:var(--accent)}button.danger{background:#4a2a26;border-color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:.5rem .65rem;width:100%}.app-shell{max-width:1200px;margin:0 auto;padding:1.25rem 1rem 3rem}.brand-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.brand{font-size:1.65rem;font-weight:700;letter-spacing:-.03em}.brand span{color:var(--accent)}.tagline{color:var(--muted);font-size:.95rem}.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.tabs button.active{border-color:var(--accent);color:var(--accent)}.panel{background:color-mix(in srgb,var(--bg-elev) 92%,transparent);border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1rem}.panel h2{margin:0 0 .75rem;font-size:1.05rem;font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:800px){.grid-2{grid-template-columns:1fr}}.mono{font-family:var(--mono);font-size:.9rem}.stat-row{display:flex;flex-wrap:wrap;gap:1rem}.stat{min-width:120px}.stat .label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.stat .value{font-family:var(--mono);font-size:1.15rem;margin-top:.2rem}.positive{color:var(--call)}.negative{color:var(--put)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.45rem .35rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:.75rem;text-transform:uppercase}.alert-card{border:1px solid var(--warn);background:#2a2618;border-radius:10px;padding:.85rem;margin-bottom:.65rem}.alert-card.exit{border-color:var(--accent);background:#1a2a22}.alert-actions{display:flex;gap:.5rem;margin-top:.65rem;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;margin-bottom:.75rem}.form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted)}.banner{padding:.65rem .85rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.banner.warn{background:#3a2e14;border:1px solid var(--warn)}.banner.danger{background:#3a1e1a;border:1px solid var(--danger)}.banner.ok{background:#1a2e24;border:1px solid var(--accent)}.tick-strip{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.25rem}.tick-chip{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:.45rem .7rem;white-space:nowrap}.muted{color:var(--muted)}.gate-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.gate-card{width:min(100%,380px);background:var(--bg-elev);border:1px solid var(--line);border-radius:16px;padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:.85rem}.gate-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.gate-label input{width:100%}.gate-btn{margin-top:.35rem;width:100%}
