/* Admin dashboard chrome — lives at assets/admin.css, referenced from /admin/ pages */
:root{
  --a-bg:#f4f1ec; --a-card:#fff; --a-line:#e6e0d4; --a-ink:#191410; --a-ink-soft:#6b6258;
  --a-red:#c6262e; --a-red-dark:#9c1c22; --a-gold:#e2a33a; --a-ok:#1f7a3a; --a-ok-bg:#e8f6ec;
  --a-err:#b3261e; --a-err-bg:#fdecea; --a-radius:14px;
}
*{ box-sizing:border-box }
body.admin-body{
  margin:0; background:var(--a-bg); color:var(--a-ink);
  font-family:'Manrope',-apple-system,'Segoe UI',sans-serif; font-size:14.5px;
}
a{ color:inherit }
h1,h2,h3{ font-family:'Fraunces',Georgia,serif; margin:0 0 .3em; }

.admin-shell{ display:flex; min-height:100vh; }
.admin-side{
  width:250px; flex-shrink:0; background:var(--a-ink); color:#fff;
  display:flex; flex-direction:column; position:sticky; top:0; height:100vh;
}
.admin-brand{ display:flex; align-items:center; gap:10px; padding:22px 20px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-brand img{ height:30px; }
.admin-brand strong{ display:block; font-size:.95rem; }
.admin-brand span{ font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--a-gold); }
.admin-nav{ flex:1; padding:14px 12px; display:flex; flex-direction:column; gap:2px; overflow-y:auto; }
.admin-nav a{
  display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:10px;
  text-decoration:none; color:rgba(255,255,255,.72); font-weight:600; font-size:.92rem;
}
.admin-nav a:hover{ background:rgba(255,255,255,.06); color:#fff; }
.admin-nav a.active{ background:var(--a-red); color:#fff; }
.admin-nav .pill{ margin-left:auto; background:var(--a-gold); color:var(--a-ink); font-size:.72rem; font-weight:800; padding:2px 8px; border-radius:100px; }
.admin-side-footer{ padding:14px 12px 20px; border-top:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; gap:2px; }
.admin-side-footer a{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; text-decoration:none; color:rgba(255,255,255,.6); font-size:.86rem; font-weight:600; }
.admin-side-footer a:hover{ background:rgba(255,255,255,.06); color:#fff; }

.admin-main{ flex:1; min-width:0; }
.admin-topbar{
  display:flex; align-items:center; gap:14px; padding:18px 30px; background:#fff;
  border-bottom:1px solid var(--a-line); position:sticky; top:0; z-index:5;
}
.admin-topbar h1{ font-size:1.25rem; margin:0; flex:1; }
.admin-user{ font-weight:700; font-size:.85rem; color:var(--a-ink-soft); }
.admin-burger{ display:none; background:none; border:0; font-size:1.3rem; cursor:pointer; }

.admin-content{ padding:28px 30px 60px; max-width:1180px; }

.admin-flash{ padding:13px 16px; border-radius:10px; margin-bottom:22px; font-weight:600; font-size:.92rem; }
.admin-flash.ok{ background:var(--a-ok-bg); color:var(--a-ok); }
.admin-flash.err{ background:var(--a-err-bg); color:var(--a-err); }

.a-card{ background:var(--a-card); border:1px solid var(--a-line); border-radius:var(--a-radius); padding:26px; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.a-card + .a-card{ margin-top:20px; }
.a-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }

.stat-card{ background:#fff; border:1px solid var(--a-line); border-radius:var(--a-radius); padding:20px 22px; }
.stat-card .num{ font-family:'Fraunces',serif; font-size:2rem; font-weight:700; }
.stat-card .lbl{ color:var(--a-ink-soft); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }

.a-btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:10px;
  border:1px solid transparent; font-weight:700; font-size:.88rem; cursor:pointer; text-decoration:none;
}
.a-btn-primary{ background:var(--a-red); color:#fff; }
.a-btn-primary:hover{ background:var(--a-red-dark); }
.a-btn-outline{ background:#fff; border-color:var(--a-line); color:var(--a-ink); }
.a-btn-outline:hover{ border-color:var(--a-ink); }
.a-btn-ghost{ background:transparent; color:var(--a-ink-soft); }
.a-btn-danger{ background:var(--a-err-bg); color:var(--a-err); }
.a-btn-danger:hover{ background:#f8d7d4; }
.a-btn-sm{ padding:7px 12px; font-size:.8rem; }

.a-field{ margin-bottom:18px; }
.a-field label{ display:block; font-weight:700; font-size:.85rem; margin-bottom:6px; }
.a-field .hint{ font-size:.78rem; color:var(--a-ink-soft); margin-top:5px; }
.a-field input[type=text], .a-field input[type=email], .a-field input[type=tel],
.a-field input[type=password], .a-field input[type=date], .a-field input[type=number],
.a-field textarea, .a-field select{
  width:100%; padding:11px 13px; border:1px solid var(--a-line); border-radius:10px;
  font-family:inherit; font-size:.92rem; background:#fbf9f5;
}
.a-field textarea{ resize:vertical; min-height:90px; }
.a-field input:focus, .a-field textarea:focus, .a-field select:focus{ outline:2px solid var(--a-red); outline-offset:1px; background:#fff; }
.a-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.a-row3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:700px){ .a-row, .a-row3{ grid-template-columns:1fr; } }
.a-check{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:.9rem; }
.a-check input{ width:17px; height:17px; }

.a-color{ display:flex; align-items:center; gap:10px; }
.a-color input[type=color]{ width:44px; height:38px; border:1px solid var(--a-line); border-radius:8px; padding:2px; background:#fff; }

.current-file{ display:flex; align-items:center; gap:10px; margin-bottom:8px; font-size:.85rem; color:var(--a-ink-soft); }
.current-file img, .current-file video{ width:56px; height:56px; object-fit:cover; border-radius:8px; border:1px solid var(--a-line); }

table.a-table{ width:100%; border-collapse:collapse; }
table.a-table th{ text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:var(--a-ink-soft); padding:10px 12px; border-bottom:2px solid var(--a-line); }
table.a-table td{ padding:12px; border-bottom:1px solid var(--a-line); vertical-align:middle; font-size:.9rem; }
table.a-table tr:hover td{ background:#faf8f4; }
.thumb{ width:44px; height:44px; border-radius:8px; object-fit:cover; background:var(--a-bg); border:1px solid var(--a-line); }
.badge-sm{ display:inline-block; padding:3px 9px; border-radius:100px; font-size:.72rem; font-weight:800; }
.badge-active{ background:#e8f6ec; color:#1f7a3a; }
.badge-inactive{ background:#f1ede4; color:#8a8074; }
.badge-featured{ background:#fdf1dc; color:#a5710b; }
.badge-new{ background:#fdeceb; color:#8a1f1f; }
.row-actions{ display:flex; gap:8px; }

.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--a-bg); padding:20px; }
.login-card{ width:100%; max-width:380px; background:#fff; border:1px solid var(--a-line); border-radius:20px; padding:36px 32px; box-shadow:0 20px 50px -20px rgba(23,18,14,.2); }
.login-card img{ height:42px; margin-bottom:18px; }
.login-card h1{ font-size:1.3rem; }
.login-card p.sub{ color:var(--a-ink-soft); margin:0 0 24px; font-size:.9rem; }

.empty-row{ text-align:center; padding:40px 20px; color:var(--a-ink-soft); }

@media (max-width: 900px){
  .admin-side{ position:fixed; left:-260px; z-index:50; transition:left .2s ease; box-shadow:0 0 40px rgba(0,0,0,.3); }
  .admin-shell.nav-open .admin-side{ left:0; }
  .admin-burger{ display:block; }
  .admin-content{ padding:20px 16px 50px; }
  .admin-topbar{ padding:14px 16px; }
}
