:root{--ink:#2c1d18;--muted:#74635a;--rose:#c87d55;--wine:#990000;--line:#e5d8ca;--bg:#f4efe7;--white:#fffdf9}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}
.admin-shell>aside{position:sticky;top:0;height:100vh;padding:28px 22px;background:#2a1b24;color:white;display:flex;flex-direction:column}
.admin-brand{font:700 25px/1 Georgia,serif;margin-bottom:38px}
.admin-brand span{color:var(--rose)}
.admin-brand small{display:block;margin-top:8px;font:700 9px Inter,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#cbb5ad}
.admin-shell nav{display:flex;flex-direction:column;gap:5px}
.admin-shell nav a{position:relative;overflow:hidden;padding:11px 13px 11px 17px;border-radius:10px;color:#dfd0d4;transition:color .25s ease,background .25s ease,transform .25s ease,padding-left .25s ease}
.admin-shell nav a:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(var(--rose),#efb08b);box-shadow:0 0 13px rgba(200,125,85,.55);transform:scaleY(0);transition:transform .25s ease}
.admin-shell nav a.active,.admin-shell nav a:hover,.admin-shell nav a:focus-visible{background:linear-gradient(90deg,#51303a,rgba(81,48,58,.5));color:white;padding-left:22px;transform:translateX(3px)}
.admin-shell nav a.active:before,.admin-shell nav a:hover:before,.admin-shell nav a:focus-visible:before{transform:scaleY(1)}
.admin-shell nav a:focus-visible{outline:2px solid rgba(200,125,85,.7);outline-offset:2px}
.logout{margin-top:auto;color:#cdbbce}
.admin-shell>main{padding:32px 40px;min-width:0}
.admin-shell main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.admin-shell h1{font:700 36px Georgia,serif;margin:3px 0}
.button{display:inline-flex;border:0;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,var(--wine),var(--rose));color:white;font-weight:800;cursor:pointer}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}
.metric,.panel{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:23px}
.metric span{display:block;color:var(--muted)}
.metric strong{display:block;font:700 38px Georgia,serif;margin-top:12px}
.panel{margin-bottom:22px}
.panel h2{font:700 25px Georgia,serif;margin:0 0 18px}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.toolbar h2{font:700 28px Georgia,serif}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;text-transform:uppercase;color:var(--muted)}
td small{display:block;color:var(--muted);margin-top:4px}
.actions{display:flex;gap:10px;justify-content:flex-end}
.actions form{margin:0}
.actions button,.actions a{border:0;background:none;color:var(--wine);font-weight:700;cursor:pointer;padding:0}
.status{padding:5px 9px;background:#f0e3d7;border-radius:99px;font-size:12px}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}
.editor-grid>aside{align-self:start;position:sticky;top:25px}
.admin-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:22px}
label{display:block;font-weight:700;margin-bottom:15px}
input,textarea,select{width:100%;padding:11px;margin-top:6px;border:1px solid #d9c9ba;border-radius:10px;font:inherit}
input[type=checkbox]{width:auto}
.content-editor{font-family:ui-monospace,monospace}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,#e7c7ae,transparent 30%),#f4efe7}
.login-card{width:min(430px,calc(100% - 30px));padding:34px;border-radius:24px;background:var(--white);box-shadow:0 25px 70px rgba(58,35,28,.16)}
.login-card h1{font:700 36px Georgia,serif}
.notice{padding:12px;border-radius:10px;margin-bottom:15px}
.error{background:#fde8ed;color:#941b3d}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}
.admin-shell>aside{position:relative;height:auto}
.admin-shell nav{flex-direction:row;flex-wrap:wrap}
.logout{margin-top:20px}
.admin-shell>main{padding:22px 15px}
.cards{grid-template-columns:repeat(2,1fr)}
.editor-grid,.admin-columns{grid-template-columns:1fr}
.editor-grid>aside{position:static}
.table-wrap{overflow:auto}
}
@media(max-width:520px){.cards{grid-template-columns:1fr}
.admin-shell main>header{align-items:flex-start}
.actions{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.admin-shell nav a,.admin-shell nav a:before{transition:none}}

