:root{--stock:#0c0c0d;--ink:#f3efe6;--pink:#ff6ab5;--pink-hover:#ff8fc8;--muted:#9a958c;--line:#2a2a2d;--panel:#141416;--ok:#7ddf9a;--warn:#ffcf5a;--err:#ff6a6a}
*{box-sizing:border-box}
html,body{margin:0;background:var(--stock);color:var(--ink);font-family:Barlow,system-ui,sans-serif;font-size:16px;line-height:1.45}
a{color:var(--pink)}a:hover{color:var(--pink-hover)}
h1,h2,h3,.head{font-family:"Barlow Condensed",Barlow,sans-serif;text-transform:uppercase;line-height:.92;letter-spacing:.01em;margin:0}
h1{font-size:clamp(2.2rem,5vw,3.6rem);text-shadow:2px 2px 0 var(--pink)}
h2{font-size:1.6rem;margin-bottom:.6rem}
h3{font-size:1.15rem;color:var(--muted)}
.top{display:flex;align-items:center;gap:1.4rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);flex-wrap:wrap}
.top .brand{font-family:"Barlow Condensed";text-transform:uppercase;font-size:1.5rem;font-weight:700;color:var(--ink);text-decoration:none;text-shadow:2px 2px 0 var(--pink)}
.top nav{display:flex;gap:1rem;flex-wrap:wrap}
.top nav a{color:var(--ink);text-decoration:none;text-transform:uppercase;font-family:"Barlow Condensed";font-size:1.1rem;padding:.2rem .1rem;border-bottom:2px solid transparent}
.top nav a.active,.top nav a:hover{border-color:var(--pink)}
.top .spacer{flex:1}
.wrap{max-width:1180px;margin:0 auto;padding:1.4rem 1.2rem 4rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);padding:1rem 1.1rem;overflow-x:auto}
.card.wide{grid-column:1/-1}
.kpi{display:flex;flex-direction:column;gap:.15rem}
.kpi .v{font-family:"Barlow Condensed";font-size:2rem;line-height:1}
.kpi .l{color:var(--muted);text-transform:uppercase;font-size:.8rem;letter-spacing:.06em}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th{text-align:left;color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;padding:.5rem .5rem;border-bottom:1px solid var(--line)}
td{padding:.5rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}
tr:hover td{background:#191a1c}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem}
.muted{color:var(--muted)}
.tag{display:inline-block;padding:.1rem .45rem;border:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-radius:2px}
.tag.ok{border-color:var(--ok);color:var(--ok)}.tag.warn{border-color:var(--warn);color:var(--warn)}.tag.err{border-color:var(--err);color:var(--err)}.tag.pink{border-color:var(--pink);color:var(--pink)}
.bar{height:8px;background:#222;position:relative;min-width:120px}
.bar span{position:absolute;inset:0 auto 0 0;background:var(--pink)}
.bar.warn span{background:var(--warn)}.bar.over span{background:var(--err)}
button,.btn{font-family:"Barlow Condensed";text-transform:uppercase;font-size:1rem;letter-spacing:.03em;background:var(--pink);color:#111;border:0;padding:.45rem .9rem;cursor:pointer}
button:hover,.btn:hover{background:var(--pink-hover)}
button.ghost,.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
button.ghost:hover{border-color:var(--pink)}
button.danger{background:transparent;color:var(--err);border:1px solid var(--err)}
button.sm{padding:.2rem .55rem;font-size:.85rem}
input,select,textarea{background:#0f0f11;color:var(--ink);border:1px solid var(--line);padding:.45rem .55rem;font:inherit;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink)}
input[type=checkbox]{width:auto}
textarea.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;min-height:320px;white-space:pre}
form.inline{display:inline-flex;gap:.4rem;align-items:center}
form.row{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}
label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
label.check{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink)}
.flash{padding:.7rem 1rem;margin-bottom:1rem;border-left:3px solid var(--pink);background:var(--panel)}
.flash.ok{border-color:var(--ok)}.flash.err{border-color:var(--err)}
.warnlist li{margin:.2rem 0}
.login{max-width:380px;margin:12vh auto;padding:2rem}
.login h1{margin-bottom:1rem}
details summary{cursor:pointer;color:var(--pink);text-transform:uppercase;font-family:"Barlow Condensed"}
.cell-actions{white-space:nowrap}
.rec-edit td input,.rec-edit td select{padding:.25rem .4rem;font-size:.85rem}
.drybadge{background:var(--warn);color:#111;padding:.1rem .5rem;font-size:.75rem;text-transform:uppercase}
@media (max-width:720px){.hide-sm{display:none}.wrap{padding:1rem .8rem}}
