:root{
  --accent:#A8862D;
  --black:#111;
  --grey-900:#1a1a1a;
  --grey-100:#eaeaea;
  --grey-50:#f5f5f5;
  --white:#fff;
  --danger:#B3261E;
  --font:'Montserrat',sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0;
  font-family:var(--font);
  background:var(--grey-50);
  color:var(--black);
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--black); }
.admin-shell{ display:flex; min-height:100vh; }

.admin-sidebar{
  width:240px; flex:none; background:#0A0A0A; color:#fff;
  display:flex; flex-direction:column; padding:24px 0;
}
.admin-brand{ padding:0 24px 24px; border-bottom:1px solid #222; margin-bottom:16px; }
.admin-brand strong{ display:block; font-size:15px; letter-spacing:0.5px; }
.admin-brand span{ display:block; font-size:11px; color:#888; margin-top:4px; letter-spacing:0.5px; }

.admin-nav{ display:flex; flex-direction:column; gap:2px; flex:1; }
.admin-nav a{
  padding:12px 24px; font-size:13px; font-weight:600; color:#ccc;
  text-decoration:none; letter-spacing:0.3px; border-left:3px solid transparent;
}
.admin-nav a:hover{ background:#161616; color:#fff; }
.admin-nav a.active{ color:#fff; border-left-color:var(--accent); background:#161616; }

.admin-logout{ padding:16px 24px 0; }
.admin-logout a{ font-size:12px; color:#999; text-decoration:none; }
.admin-logout a:hover{ color:#fff; }

.admin-main{ flex:1; padding:36px 44px; max-width:1080px; }
.admin-header{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; flex-wrap:wrap; }
.admin-header h1{ margin:0; font-size:24px; font-weight:800; letter-spacing:-0.4px; }
.admin-header p.subtitle{ margin:4px 0 0; font-size:13.5px; color:#666; }

.btn{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--black); color:#fff; border:none;
  padding:11px 20px; font-size:12.5px; font-weight:700; letter-spacing:0.6px;
  text-transform:uppercase; text-decoration:none; cursor:pointer; font-family:var(--font);
  transition:background .2s;
}
.btn:hover{ background:var(--accent); color:#fff; }
.btn-outline{ background:transparent; color:var(--black); border:1.5px solid var(--black); }
.btn-outline:hover{ background:var(--black); color:#fff; }
.btn-danger{ background:var(--danger); }
.btn-danger:hover{ background:#8f1e18; }
.btn-sm{ padding:7px 14px; font-size:11px; }

.card{ background:#fff; border:1px solid var(--grey-100); padding:28px; margin-bottom:24px; }

.flash{ padding:14px 18px; margin-bottom:22px; font-size:13.5px; font-weight:600; }
.flash-success{ background:#EAF6EC; color:#1E6B33; border:1px solid #BEE3C4; }
.flash-error{ background:#FBEAEA; color:#a32b23; border:1px solid #f1c3c0; }

table{ width:100%; border-collapse:collapse; background:#fff; }
th, td{ text-align:left; padding:13px 14px; font-size:13.5px; border-bottom:1px solid var(--grey-100); vertical-align:middle; }
th{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#888; font-weight:700; }
tr:last-child td{ border-bottom:none; }
td.actions{ display:flex; gap:8px; white-space:nowrap; }
img.thumb{ width:64px; height:44px; object-fit:cover; background:#eee; display:block; }

.empty-state{ padding:40px; text-align:center; color:#888; font-size:14px; }

.form-grid{ display:grid; gap:18px; max-width:640px; }
.form-row label{ display:block; font-size:11.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:#666; margin-bottom:8px; }
.form-row input[type=text], .form-row input[type=email], .form-row input[type=password], .form-row input[type=number], .form-row textarea, .form-row select{
  width:100%; padding:12px 14px; font-size:14px; font-family:var(--font);
  border:1px solid #ddd; background:#fff; outline:none;
}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{ border-color:var(--black); }
.form-row textarea{ resize:vertical; }
.form-row .hint{ font-size:12px; color:#888; margin-top:6px; }
.form-row input[type=checkbox]{ width:16px; height:16px; margin-right:8px; vertical-align:-3px; }
.form-row input[type=range]{ width:100%; }
.form-actions{ display:flex; gap:12px; margin-top:6px; }

.current-image{ margin-bottom:10px; }
.current-image img{ max-width:220px; display:block; border:1px solid var(--grey-100); }

.login-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:#0A0A0A;
}
.login-card{ background:#fff; padding:44px 40px; width:100%; max-width:380px; }
.login-card h1{ margin:0 0 6px; font-size:20px; font-weight:800; }
.login-card p{ margin:0 0 28px; font-size:13px; color:#777; }
.login-card .btn{ width:100%; justify-content:center; margin-top:8px; }

.dash-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.dash-card{ background:#fff; border:1px solid var(--grey-100); padding:24px; text-decoration:none; color:var(--black); transition:border-color .2s, transform .2s; display:block; }
.dash-card:hover{ border-color:var(--black); transform:translateY(-2px); }
.dash-card .num{ font-size:32px; font-weight:800; }
.dash-card .label{ font-size:13px; color:#666; margin-top:4px; }
