:root { --paper:#F2F1E9; --ink:#182635; --maroon:#7A1F2B; --mustard:#CE9A2E; --teal:#1F6F63; --line:#CBCABB; --card:#FBFAF5; }
.admin-body { background:var(--paper); }
.admin-main { max-width:1100px; margin:30px auto; padding:0 20px; }
.alert { padding:12px 16px; border-radius:5px; margin-bottom:20px; font-size:14px; }
.alert-danger { background:#fce8e6; border:1px solid #d93025; color:#a51d24; }
.alert-success { background:#e6f4ea; border:1px solid #137333; color:#0d652d; }
.alert-warn { background:#fef7e0; border:1px solid var(--mustard); color:#7a5b12; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:26px; }
.stat-card { background:var(--card); border:1px solid var(--line); border-top:4px solid var(--maroon); border-radius:6px; padding:18px; text-align:center; }
.stat-num { font-family:'Newsreader',serif; font-size:28px; font-weight:700; color:var(--ink); }
.stat-label { font-size:11.5px; text-transform:uppercase; letter-spacing:.7px; color:#7d8590; font-weight:700; margin-top:4px; }
.admin-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:20px; align-items:start; }
.admin-card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:26px; box-shadow:0 4px 15px rgba(24,38,53,.07); }
.admin-card h3 { font-family:'Newsreader',serif; margin:0 0 10px; font-size:19px; }
.muted { color:#7d8590; font-size:13px; }
.admin-card code { background:#fff; border:1px solid var(--line); border-radius:3px; padding:1px 5px; font-size:11.5px; }
.form-group { margin-bottom:15px; }
.form-group label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:5px; }
.form-group input[type=text], .form-group input[type=number], .form-group input[type=password], .form-group input[type=file] {
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:4px; background:#fff; font-size:14px; font-family:inherit; }
.form-group input:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(31,111,99,.15); }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mini-table { width:100%; border-collapse:collapse; font-size:13px; background:#fff; margin-top:10px; }
.mini-table th { background:var(--ink); color:#fff; padding:9px 10px; font-size:11px; text-transform:uppercase; text-align:left; }
.mini-table td { padding:9px 10px; border-bottom:1px solid var(--line); }
.btn-danger-sm { background:#fff; border:1px solid #d93025; color:#a51d24; border-radius:4px; padding:5px 11px; font-size:12px; font-weight:600; cursor:pointer; }
.btn-danger-sm:hover { background:#d93025; color:#fff; }
.admin-login-body { background:var(--paper); min-height:100vh; }
.login-wrap { display:flex; justify-content:center; align-items:center; min-height:calc(100vh - 60px); padding:20px; }
.login-card { background:var(--card); border:1px solid var(--line); border-top:6px solid var(--maroon); border-radius:8px; padding:40px 38px; width:100%; max-width:420px; box-shadow:0 12px 40px rgba(24,38,53,.14); text-align:center; }
.login-card h2 { font-family:'Newsreader',serif; margin:14px 0 2px; }
.login-sub { font-size:13px; color:#7d8590; margin:0 0 22px; }
.login-card .form-group { text-align:left; }
.login-brand { display:flex; justify-content:center; }
.back-link { margin-top:18px; font-size:13px; }
.back-link a { color:var(--teal); text-decoration:none; font-weight:600; }
@media (max-width:900px) { .admin-grid, .stat-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .admin-grid, .stat-grid { grid-template-columns:1fr; } }