:root { --admin-ink:#171711; --admin-paper:#f4f1e8; --admin-surface:#fffdf7; --admin-gold:#d3a53a; --admin-muted:#716b5e; --admin-line:rgba(23,23,17,.14); --admin-danger:#9b3b2f; --admin-success:#35694d; }
* { box-sizing:border-box; }
body.admin-body, body.admin-login-body { margin:0; color:var(--admin-ink); background:var(--admin-paper); font:400 15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--admin-gold); outline-offset:2px; }
.admin-shell { width:min(calc(100% - 2rem),1280px); margin-inline:auto; }
.admin-topbar { color:#fffdf7; background:var(--admin-ink); border-bottom:1px solid rgba(255,255,255,.12); }
.admin-topbar__inner { display:flex; min-height:4.5rem; align-items:center; justify-content:space-between; gap:1rem; }
.admin-brand { display:inline-flex; align-items:center; gap:.7rem; color:#fffdf7; font-weight:800; text-decoration:none; }
.admin-brand__mark { display:grid; width:2.3rem; aspect-ratio:1; place-items:center; color:var(--admin-ink); background:var(--admin-gold); border-radius:50%; font:700 1rem/1 Georgia,serif; }
.admin-user { display:flex; align-items:center; gap:.8rem; font-size:.82rem; }
.admin-user a { color:#f0ca70; }
.admin-layout { display:grid; grid-template-columns:230px minmax(0,1fr); min-height:calc(100vh - 4.5rem); }
.admin-nav { padding:1.4rem; border-right:1px solid var(--admin-line); background:rgba(255,253,247,.48); }
.admin-nav p { margin:0 0 .65rem; color:var(--admin-muted); font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.admin-nav ul { display:grid; gap:.25rem; margin:0 0 1.6rem; padding:0; list-style:none; }
.admin-nav a { display:block; padding:.62rem .72rem; border-radius:.6rem; color:#433f35; font-weight:650; text-decoration:none; }
.admin-nav a:hover { background:rgba(211,165,58,.13); }
.admin-main { min-width:0; padding:clamp(1.4rem,4vw,3.2rem); }
.admin-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:2rem; }
.admin-heading h1 { margin:0; font:500 clamp(2rem,4vw,3.4rem)/1 Georgia,serif; letter-spacing:-.04em; }
.admin-heading p { margin:.55rem 0 0; color:var(--admin-muted); }
.admin-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.admin-button { display:inline-flex; min-height:2.7rem; align-items:center; justify-content:center; padding:.65rem .95rem; color:#fff; background:var(--admin-ink); border:1px solid var(--admin-ink); border-radius:999px; font-weight:750; text-decoration:none; cursor:pointer; }
.admin-button:hover { color:#fff; }
.admin-button--gold { color:var(--admin-ink); background:var(--admin-gold); border-color:var(--admin-gold); }
.admin-button--ghost { color:var(--admin-ink); background:transparent; border-color:var(--admin-line); }
.admin-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.admin-card { padding:1.3rem; background:var(--admin-surface); border:1px solid var(--admin-line); border-radius:1rem; box-shadow:0 12px 34px rgba(38,31,12,.05); }
.admin-card h2 { margin:0 0 .4rem; font-size:1rem; }
.admin-card strong.admin-stat { display:block; margin:.5rem 0; font:500 2.8rem/1 Georgia,serif; }
.admin-card p { margin:.35rem 0 0; color:var(--admin-muted); }
.admin-section { margin-top:2rem; }
.admin-section h2 { font:600 1.45rem/1.2 Georgia,serif; }
.admin-table-wrap { overflow:auto; background:var(--admin-surface); border:1px solid var(--admin-line); border-radius:1rem; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th,.admin-table td { padding:.8rem .9rem; border-bottom:1px solid var(--admin-line); text-align:left; vertical-align:top; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table th { color:var(--admin-muted); background:#f1ede2; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.admin-badge { display:inline-flex; padding:.24rem .52rem; border-radius:999px; background:#e9e3d5; font-size:.72rem; font-weight:800; }
.admin-badge--published { color:#24533a; background:#dceee3; }
.admin-badge--draft { color:#72570f; background:#f5e9c5; }
.admin-form { display:grid; gap:1.5rem; }
.admin-fieldset { padding:1.35rem; background:var(--admin-surface); border:1px solid var(--admin-line); border-radius:1rem; }
.admin-fieldset legend { float:none; width:auto; margin:0 0 1rem; font:600 1.25rem/1.2 Georgia,serif; }
.admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.admin-field { display:grid; gap:.4rem; }
.admin-field--wide { grid-column:1/-1; }
.admin-field label { font-size:.78rem; font-weight:800; }
.admin-field input,.admin-field select,.admin-field textarea { width:100%; min-height:2.8rem; padding:.66rem .75rem; color:var(--admin-ink); background:#fff; border:1px solid #cfc7b7; border-radius:.55rem; }
.admin-field textarea { min-height:8rem; resize:vertical; font-family:inherit; }
.admin-field textarea.admin-code { min-height:23rem; font:400 .82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; tab-size:2; }
.admin-help { color:var(--admin-muted); font-size:.75rem; }
.admin-message { margin:0 0 1.2rem; padding:.85rem 1rem; border:1px solid var(--admin-line); border-radius:.7rem; background:var(--admin-surface); }
.admin-message--error { color:#702d25; border-color:#dfb1aa; background:#fff3f1; }
.admin-message--success { color:#28553d; border-color:#a6c8b2; background:#eff8f2; }
.admin-validation { margin:0; padding-left:1.2rem; }
.admin-login-body { display:grid; min-height:100vh; place-items:center; padding:1rem; background:radial-gradient(circle at 75% 10%,rgba(211,165,58,.22),transparent 25rem),var(--admin-paper); }
.admin-login-card { width:min(100%,450px); padding:clamp(1.5rem,5vw,2.5rem); background:var(--admin-surface); border:1px solid var(--admin-line); border-radius:1.35rem; box-shadow:0 24px 70px rgba(38,31,12,.12); }
.admin-login-card h1 { margin:1.4rem 0 .45rem; font:500 2.5rem/1 Georgia,serif; letter-spacing:-.04em; }
.admin-login-card > p { color:var(--admin-muted); }
.admin-login-card .admin-button { width:100%; }
.admin-code-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.7rem; }
@media(max-width:960px){.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-nav{border-right:0;border-bottom:1px solid var(--admin-line)}.admin-nav ul{display:flex;flex-wrap:wrap}.admin-nav p{display:none}}
@media(max-width:620px){.admin-grid,.admin-form-grid{grid-template-columns:1fr}.admin-field--wide{grid-column:auto}.admin-heading{align-items:flex-start;flex-direction:column}.admin-topbar__inner{align-items:flex-start;flex-direction:column;padding:1rem 0}.admin-main{padding:1.1rem}.admin-nav{padding:1rem}}
