/* ZEN Admin - neo-brutalist look: cream paper + grid, thick ink borders, hard offset shadows, gold accent. */
:root{--bg:#fffdf6;--grid:rgba(120,100,40,.07);--card:#fff;--ink:#1b1b1b;--mute:#6b6552;--line:#1b1b1b;--soft:#e6dfc8;--acc:#c8901a;--accbg:#fff4d6;--pri:#1d4ed8;--pribg:#e8f0ff;--ok:#0f8a5f;--bad:#c62828;--badbg:#fff0f0;--warn:#b26a00;--teal:#0f8f80;--sh:3px 3px 0 var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14120d;--grid:rgba(255,220,120,.05);--card:#1d1a13;--ink:#f3ecd8;--mute:#a89f86;--line:#f3ecd8;--soft:#3a3425;--acc:#e0a93a;--accbg:#2c2410;--pri:#8fb3ff;--pribg:#16203a;--ok:#4cc27b;--bad:#ff7b7b;--badbg:#2e1616;--warn:#e0a040;--teal:#46d1bf;--sh:3px 3px 0 #000}}
:root[data-theme=dark]{--bg:#14120d;--grid:rgba(255,220,120,.05);--card:#1d1a13;--ink:#f3ecd8;--mute:#a89f86;--line:#f3ecd8;--soft:#3a3425;--acc:#e0a93a;--accbg:#2c2410;--pri:#8fb3ff;--pribg:#16203a;--ok:#4cc27b;--bad:#ff7b7b;--badbg:#2e1616;--warn:#e0a040;--teal:#46d1bf;--sh:3px 3px 0 #000}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:15px/1.45 ui-monospace,"SF Mono",Menlo,Consolas,"Courier New",monospace;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px}
header[hidden]{display:none}
header{display:block;padding:12px 14px 0;border-bottom:2px solid var(--line);background:var(--bg)}
.top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.logo{width:48px;height:48px;border:2px solid var(--acc);border-radius:4px;object-fit:cover;background:#0b1220;flex:none}
.brand{flex:1;min-width:0}
.brand strong{display:block;font-size:19px;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.brand small{display:block;color:var(--acc);font-weight:700;font-size:12px;margin-top:3px}
header nav{display:flex;gap:6px;overflow-x:auto;white-space:nowrap;padding:2px 2px 0;scrollbar-width:none}
header nav::-webkit-scrollbar{display:none}
header nav a{flex:none;padding:9px 12px 8px;color:var(--mute);text-decoration:none;font-weight:700;text-transform:uppercase;font-size:13px;border:2px solid transparent;border-bottom:0}
header nav a.on{color:var(--acc);background:var(--card);border-color:var(--line);box-shadow:inset 0 -4px 0 var(--acc)}
main{max-width:760px;margin:0 auto;padding:16px}
h1{font-size:20px;margin:4px 0 12px;text-transform:uppercase;letter-spacing:.03em}
h2{font-size:13px;margin:20px 0 8px;color:var(--acc);text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;border-bottom:2px solid var(--soft)}
.card{background:var(--card);border:2px solid var(--line);border-radius:4px;box-shadow:var(--sh);padding:12px 14px;margin-bottom:14px}
a.card{display:block;color:inherit;text-decoration:none}
a.card:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:0}
.mute{color:var(--mute);font-size:13px}.big{font-weight:700;overflow-wrap:anywhere;color:var(--teal)}
.badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:12px;font-weight:700;border:2px solid var(--soft);color:var(--mute);background:var(--card)}
.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.bad{color:var(--bad);border-color:var(--bad)}.badge.warn{color:var(--warn);border-color:var(--warn)}
input,select,button,textarea{font:inherit;color:inherit}
input,select,textarea{padding:10px 12px;border:2px solid var(--line);border-radius:4px;background:var(--card);width:100%;min-width:0;box-shadow:var(--sh)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--acc)}
textarea{font-size:13px}
button{padding:10px 14px;border:2px solid var(--line);background:var(--pribg);color:var(--pri);border-radius:4px;cursor:pointer;font-weight:700;text-transform:uppercase;font-size:13px;box-shadow:var(--sh)}
button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
button.ghost{background:var(--card);color:var(--ink)}
button.danger{background:var(--badbg);color:var(--bad);border-color:var(--bad)}
button:disabled{opacity:.5;cursor:default}
#logout{background:var(--badbg);color:var(--bad);border-color:var(--bad)}
#theme{background:var(--card);color:var(--ink);padding:9px 12px;font-size:16px;line-height:1}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.grid dt{color:var(--mute);font-size:12px;text-transform:uppercase}.grid dd{margin:0 0 6px;overflow-wrap:anywhere}
form.inline{display:flex;gap:10px;flex-wrap:wrap}form.inline input{flex:1;min-width:90px}
.login{max-width:380px;margin:10vh auto 0}.login .card{display:grid;gap:12px}
#toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);max-width:92vw;padding:10px 16px;border:2px solid var(--line);border-radius:4px;box-shadow:var(--sh);background:var(--accbg);color:var(--ink);font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s}
#toast.show{opacity:1}#toast.err{background:var(--badbg);color:var(--bad);border-color:var(--bad)}
.tabs{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.tabs button{background:var(--card);color:var(--ink)}
.tabs button.on{background:var(--accbg);color:var(--acc);border-color:var(--acc);box-shadow:3px 3px 0 var(--acc)}
.fld{display:grid;gap:4px}
form.card .grid{margin-bottom:8px}
