:root{
  --ink:#15130f; --paper:#f5f3ee; --paper-alt:#fff; --line:#dedac9;
  --red:#d42027; --red-dark:#a3181d; --gold:#e0972c; --gray:#6b6759;
  --font-display:'Barlow Condensed',Arial Narrow,sans-serif;
  --font-body:'Inter',-apple-system,Segoe UI,Roboto,sans-serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;
  --radius:4px;
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body); font-size:15px; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family:var(--font-display); margin:0 0 4px; }

.admin-shell{ display:flex; min-height:100vh; }

.admin-sidebar{
  width:230px; flex:0 0 auto; background:var(--ink); color:#cfccbf; padding:22px 18px; position:sticky; top:0; height:100vh;
}
.admin-sidebar .logo{ font-family:var(--font-display); font-size:26px; color:#fff; font-weight:700; margin-bottom:26px; display:flex; align-items:center; gap:10px; }
.admin-sidebar .logo span{ color:var(--gold); }
.admin-sidebar .logo img{ width:34px; height:34px; flex:0 0 auto; }
.admin-nav a{
  display:block; padding:10px 12px; border-radius:var(--radius); font-weight:600; font-size:14px; margin-bottom:4px;
}
.admin-nav a:hover, .admin-nav a.active{ background:rgba(255,255,255,.08); color:#fff; }
.admin-nav a.active{ border-left:3px solid var(--red); }
.admin-sidebar .view-site{ margin-top: 24px; display:block; font-family: var(--font-mono); font-size:12px; color: var(--gold); }

.admin-main{ flex:1; padding: 26px 34px 60px; max-width: 1100px; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom: 26px; }
.admin-topbar .who{ font-family: var(--font-mono); font-size:13px; color: var(--gray); }
.admin-topbar .who a{ color: var(--red); margin-left: 10px; }

.card{ background:var(--paper-alt); border:1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 22px; }

.stat-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; margin-bottom: 26px; }
.stat-card{ background:var(--paper-alt); border:1px solid var(--line); border-radius:var(--radius); padding:18px; }
.stat-card .num{ font-family:var(--font-display); font-size:32px; font-weight:700; }
.stat-card .label{ font-family:var(--font-mono); font-size:11px; text-transform:uppercase; color:var(--gray); letter-spacing:.05em; margin-top:4px; }

table{ width:100%; border-collapse:collapse; }
th, td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:middle; }
th{ font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--gray); }
tr:hover td{ background: #fbfaf6; }
.thumb-sm{ width:56px; height:40px; object-fit:cover; border-radius:3px; background:var(--ink); }

.status-pill{ font-family:var(--font-mono); font-size:11px; text-transform:uppercase; padding:3px 8px; border-radius:20px; }
.status-pill.published{ background:#e3f3e3; color:#1f7a30; }
.status-pill.draft{ background:#f1eee4; color:#8a7c4c; }

.actions a{ font-family:var(--font-mono); font-size:12px; margin-right:10px; }
.actions .del{ color: var(--red); }

.btn{
  display:inline-block; font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  font-size:14px; padding:10px 18px; border-radius:var(--radius); background:var(--red); color:#fff; border:none; cursor:pointer;
}
.btn:hover{ background:var(--red-dark); }
.btn.secondary{ background:var(--ink); }
.btn.small{ padding:6px 12px; font-size:12px; }

.form-row{ margin-bottom:18px; }
.form-row label{ display:block; font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--gray); margin-bottom:6px; }
.form-row input[type=text], .form-row input[type=password], .form-row select, .form-row textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); font-family:var(--font-body); font-size:14px; background:#fff;
}
.form-row textarea{ min-height: 320px; resize:vertical; font-family: var(--font-mono); line-height:1.5; }
.form-row .hint{ font-size:12px; color:var(--gray); margin-top:5px; }
.form-row input[type=file]{ padding:8px 0; }
.current-image img{ max-width:220px; border-radius:var(--radius); margin-top:8px; border:1px solid var(--line); }

.alert{ padding:12px 16px; border-radius:var(--radius); margin-bottom:18px; font-size:14px; }
.alert.error{ background:#fbe4e4; color:#a3181d; border:1px solid #f0bcbc; }
.alert.success{ background:#e3f3e3; color:#1f7a30; border:1px solid #bfe3bf; }

.login-shell{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--ink); }
.login-box{ background:var(--paper-alt); border-radius:var(--radius); padding:36px 34px; width: 360px; }
.login-box .logo{ font-family:var(--font-display); font-size:30px; font-weight:700; margin-bottom:4px; display:flex; align-items:center; justify-content:center; gap:10px; }
.login-box .logo span{ color:var(--gold); }
.login-box .logo img{ width:48px; height:48px; flex:0 0 auto; }
.login-box .sub{ font-family:var(--font-mono); font-size:12px; color:var(--gray); margin-bottom:22px; }

@media (max-width: 860px){
  .admin-shell{ flex-direction:column; }
  .admin-sidebar{ width:100%; height:auto; position:relative; }
  .admin-main{ padding: 20px; }
  .stat-grid{ grid-template-columns: 1fr 1fr; }
}
