:root{--bg:#07080D;--shell:#0D101A;--card:#141927;--inset:#0C0F19;--ink:#F4F6FB;--dim:#8B93A7;--faint:#5A617A;
  --hair:rgba(226,230,246,.07);--hair2:rgba(226,230,246,.12);--blue:#2962FF;--blue2:#5B8CFF;--blueink:#8FA8FF;--green:#34D07C;--amber:#E7C94A;--red:#FF5D73}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 'Bahnschrift','Segoe UI Variable Display','Segoe UI',system-ui,sans-serif}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(600px 400px at 18% -10%,rgba(41,98,255,.18),transparent 60%),radial-gradient(700px 500px at 95% 8%,rgba(41,98,255,.12),transparent 60%)}
a{color:var(--blueink);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:18px 16px 60px}
header.top{display:flex;align-items:center;gap:14px;padding:10px 0 18px;border-bottom:1px solid var(--hair);margin-bottom:18px;flex-wrap:wrap}
header.top .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}
header.top .brand img{height:26px}
header.top .eyebrow{font-size:11px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--blueink)}
header.top .who{margin-left:auto;color:var(--dim);font-size:13px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--blueink);margin:0 0 6px}
h1{font-size:26px;margin:0 0 4px}h2{font-size:17px;margin:26px 0 10px}h3{font-size:14px;margin:14px 0 6px;color:var(--dim)}
.card{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:16px 18px;margin:12px 0}
.grid{display:grid;gap:12px}.grid.c2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chip{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--inset);color:var(--dim);border:1px solid var(--hair2)}
.chip.draft{color:var(--dim)}.chip.in_review{color:var(--blueink);border-color:var(--blue)}.chip.submitted{color:var(--amber);border-color:var(--amber)}
.chip.approved{color:var(--green);border-color:var(--green)}.chip.filed{color:var(--green);background:rgba(52,208,124,.12)}
.chip.live{color:var(--green);border-color:var(--green)}.chip.tech{color:var(--blueink)}.chip.sri{color:var(--dim)}
button,.btn{font:inherit;font-size:13px;font-weight:600;border:0;border-radius:10px;padding:8px 14px;cursor:pointer;background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(41,98,255,.35)}
button.ghost,.btn.ghost{background:var(--inset);color:var(--ink);box-shadow:none;border:1px solid var(--hair2)}
button.warn{background:#3a1620;color:#ffd9df;box-shadow:none}button.ok{background:var(--green);color:#06130c;box-shadow:none}
button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
input,textarea,select{font:inherit;font-size:13.5px;background:var(--inset);color:var(--ink);border:1px solid var(--hair2);border-radius:10px;padding:7px 10px;width:100%}
textarea{min-height:72px;font-family:Consolas,'Cascadia Mono',monospace;font-size:12.5px}
label{display:block;font-size:12px;color:var(--dim);margin:8px 0 3px}
table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--hair);vertical-align:top}th{color:var(--dim);font-weight:600;font-size:12px}
tr.link:hover td{background:rgba(41,98,255,.08);cursor:pointer}
.muted{color:var(--dim)}.small{font-size:12.5px}.mono{font-family:Consolas,'Cascadia Mono',monospace;font-size:12px}
.banner{border-radius:12px;padding:10px 14px;margin:10px 0;font-size:13.5px;border:1px solid var(--hair2);background:var(--inset)}
.banner.warn{border-color:var(--amber);color:#F6E6A6}.banner.ok{border-color:var(--green);color:#BFF2D5}.banner.err{border-color:var(--red);color:#FFD2D8}
.msgs{max-height:480px;overflow:auto;border:1px solid var(--hair);border-radius:12px;padding:6px 10px;background:var(--inset)}
.msg{padding:7px 0;border-bottom:1px solid var(--hair);font-size:13.5px}.msg .who{font-weight:600}.msg .ts{color:var(--faint);font-size:11.5px;margin-left:6px}
.msg pre{white-space:pre-wrap;margin:3px 0 0;font:inherit}
.sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.ph{background:var(--inset);border:1px solid var(--hair);border-radius:12px;padding:8px;font-size:12px}
.ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;margin-bottom:6px}
.ph.sel{border-color:var(--blue);box-shadow:0 0 0 2px rgba(41,98,255,.35)}
.ph input[type=text]{margin-top:5px;font-size:12px;padding:5px 7px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:4px 12px;font-size:13.5px}.kv b{color:var(--dim);font-weight:600}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 4px}.tabs a{padding:6px 12px;border-radius:999px;background:var(--inset);border:1px solid var(--hair2);font-size:13px;color:var(--ink)}
details summary{cursor:pointer;color:var(--dim);font-size:13px}
.jobs li{font-size:12.5px;color:var(--dim)}
@media (max-width:640px){.wrap{padding:12px 16px 50px}.kv{grid-template-columns:1fr}}
