:root{
  --bg:#0b0c0f; --surface:#14161b; --surface-2:#1b1e25; --line:#262a33;
  --ink:#ece9e1; --ink-dim:#9ba0ab; --ink-faint:#666b76;
  --brass:#c9a227; --brass-dim:#8f7420;
  --slate:#3e6e67; --slate-bright:#5b988f;
  --rust:#b5533c; --radius:3px;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;}
a{color:var(--slate-bright);text-decoration:none;}
a:hover{color:var(--ink);}
code,.mono{font-family:'JetBrains Mono',monospace;}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;color:var(--ink);letter-spacing:-0.01em;}

.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;}
@media(max-width:860px){.shell{grid-template-columns:1fr;}.sidebar{position:static;height:auto;}}
.sidebar{border-right:1px solid var(--line);background:var(--surface);padding:28px 0 60px;position:sticky;top:0;height:100vh;overflow-y:auto;}
.brand{padding:0 24px 20px;border-bottom:1px solid var(--line);margin-bottom:16px;}
.brand .mark, a.mark{font-family:'Fraunces',serif;font-size:20px;color:var(--brass);}
.sub{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;}
.navgroup{padding:2px 14px;margin-bottom:14px;}
.navgroup a{display:block;padding:7px 10px;border-radius:var(--radius);color:var(--ink-dim);font-size:13px;}
.navgroup a:hover{color:var(--ink);background:var(--surface-2);}
.navgroup .num{color:var(--brass-dim);margin-right:8px;}

main{padding:52px 56px 100px;max-width:900px;}
@media(max-width:700px){main{padding:28px 18px 60px;}}

.hero-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--brass);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}
.title{font-size:34px;margin:0 0 14px;}
.lede{font-size:16px;color:var(--ink-dim);max-width:60ch;}

.breadcrumbs{font-size:12.5px;color:var(--ink-faint);margin-bottom:18px;}
.breadcrumbs a{color:var(--ink-faint);}

.block{margin-top:44px;}
.block-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate-bright);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}

.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media(max-width:700px){.grid3{grid-template-columns:1fr;}}

.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;}
.card h4{font-size:14px;margin:0;color:var(--ink);}
.card .tag{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--brass-dim);text-transform:uppercase;margin-bottom:6px;}

table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13.5px;}
th{text-align:left;color:var(--ink-faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:9px 12px;border-bottom:1px solid var(--line);}
td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink-dim);}
td strong{color:var(--ink);}

.doc-list{list-style:none;padding:0;}
.doc-list li{padding:12px 0;border-bottom:1px solid var(--line);}
.doc-list a{color:var(--ink);font-weight:600;}
.doc-desc{display:block;color:var(--ink-dim);font-size:13px;margin-top:3px;}

.meta-row{margin:14px 0 24px;}
.badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;padding:3px 9px;border-radius:2px;border:1px solid var(--line);color:var(--ink-faint);margin-right:6px;}
.badge.status-published{border-color:var(--slate);color:var(--slate-bright);}
.badge.status-draft{border-color:var(--line);}
.badge.status-review{border-color:var(--brass-dim);color:var(--brass);}
.badge.status-archived{border-color:var(--rust);color:var(--rust);}

.doc-body p, .doc-body li{color:var(--ink-dim);max-width:68ch;}
.doc-body h1,.doc-body h2,.doc-body h3{margin-top:28px;}

.note{border-left:2px solid var(--slate);background:var(--surface);padding:12px 16px;font-size:13.5px;color:var(--ink-dim);margin:16px 0;}
.note.warn{border-left-color:var(--rust);color:var(--rust);}

footer{border-top:1px solid var(--line);margin-top:70px;padding-top:20px;color:var(--ink-faint);font-size:12px;}

.search-form{display:flex;gap:8px;margin-bottom:20px;}
.search-form input{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;color:var(--ink);font-family:'Inter',sans-serif;}
.search-form button{background:var(--brass);border:none;border-radius:var(--radius);padding:10px 18px;color:#0b0c0f;font-weight:600;cursor:pointer;}

/* Admin forms */
.doc-form{display:flex;flex-direction:column;gap:16px;max-width:700px;}
.doc-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;}
.doc-form input, .doc-form select, .doc-form textarea{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:10px 12px;color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;text-transform:none;letter-spacing:normal;
}
.doc-form textarea{font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.6;}
.doc-form button{background:var(--brass);border:none;border-radius:var(--radius);padding:12px 20px;color:#0b0c0f;font-weight:600;cursor:pointer;width:fit-content;}

.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:36px;width:320px;display:flex;flex-direction:column;gap:14px;}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-faint);text-transform:uppercase;}
.login-card input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px;color:var(--ink);}
.login-card button{background:var(--brass);border:none;border-radius:var(--radius);padding:12px;color:#0b0c0f;font-weight:600;cursor:pointer;margin-top:8px;}
