/* Admin layout — extends style.css tokens */
body.admin-body{ background:var(--sand); min-height:100vh; }

.admin-shell{ display:grid; grid-template-columns:240px 1fr; min-height:100vh; }

.admin-sidebar{
  background: linear-gradient(180deg, var(--pool-deep), var(--navy-ink));
  color: var(--cream); padding:26px 18px; display:flex; flex-direction:column; gap:6px;
}
.admin-brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:600; font-size:1.1rem; margin-bottom:26px; text-decoration:none; color:var(--cream); }
.admin-nav{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; flex:1; }
.admin-nav a{
  display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:var(--radius-sm);
  text-decoration:none; color:rgba(251,248,242,.8); font-size:.94rem; transition:background .15s;
}
.admin-nav a:hover{ background:rgba(255,255,255,.08); color:var(--cream); }
.admin-nav a.active{ background:var(--clay); color:var(--cream); font-weight:600; }
.admin-user-box{ font-size:.82rem; opacity:.75; border-top:1px solid rgba(255,255,255,.15); padding-top:14px; }
.logout-btn{ background:none; border:1px solid rgba(255,255,255,.3); color:var(--cream); padding:8px 12px; border-radius:var(--radius-sm); font-size:.82rem; margin-top:10px; width:100%; }
.logout-btn:hover{ background:rgba(255,255,255,.1); }

.admin-main{ padding:30px 36px; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; }
.admin-topbar h1{ font-size:1.6rem; }
.admin-topbar p{ margin:2px 0 0; color:#5a6a68; font-size:.92rem; }

.stat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; margin-bottom:28px; }
.stat-card{ background:var(--white); border-radius:var(--radius-md); padding:20px; box-shadow:var(--shadow-soft); }
.stat-card .label{ font-size:.82rem; color:#7a8a87; }
.stat-card .value{ font-family:var(--font-display); font-size:1.8rem; color:var(--navy-ink); margin-top:4px; }
.stat-card .value.clay{ color:var(--clay); }
.stat-card .value.ok{ color:var(--status-ok); }

.panel{ background:var(--white); border-radius:var(--radius-md); box-shadow:var(--shadow-soft); padding:24px; margin-bottom:24px; }
.panel-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; gap:12px; flex-wrap:wrap; }
.panel-head h2{ font-size:1.2rem; }

.toolbar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.toolbar input, .toolbar select{ padding:9px 12px; border:1.5px solid #dcd4bd; border-radius:var(--radius-sm); font-family:var(--font-body); font-size:.88rem; }
.btn-sm{ padding:8px 16px; border-radius:999px; border:none; font-weight:600; font-size:.85rem; }
.btn-teal{ background:var(--pool-mid); color:#fff; }
.btn-teal:hover{ background:var(--pool-deep); }
.btn-ghost{ background:var(--sand); color:var(--navy-ink); }
.btn-ghost:hover{ background:var(--sand-dark); }
.btn-danger{ background:#fbe6e6; color:#a34a4a; }
.btn-danger:hover{ background:#f6d0d0; }

table{ width:100%; border-collapse:collapse; font-size:.9rem; }
thead th{ text-align:left; padding:10px 12px; color:#7a8a87; font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.5px; border-bottom:2px solid var(--sand); }
tbody td{ padding:12px; border-bottom:1px solid #f0ece0; vertical-align:middle; }
tbody tr:hover{ background:#faf8f2; }
.row-actions{ display:flex; gap:8px; }
.icon-btn{ background:none; border:none; padding:6px 8px; border-radius:6px; color:#5a6a68; font-size:.9rem; }
.icon-btn:hover{ background:var(--sand); }
.icon-btn.danger:hover{ background:#fbe6e6; color:#a34a4a; }

.empty-state{ text-align:center; padding:40px 20px; color:#7a8a87; }

.role-badge{ padding:3px 10px; border-radius:999px; font-size:.76rem; font-weight:600; }
.role-admin{ background:#e4d9f3; color:#5a3d8a; }
.role-staff{ background:#dceee9; color:#1f5c40; }

.config-note{ font-size:.85rem; color:#5a6a68; background:var(--sand); padding:12px 16px; border-radius:var(--radius-sm); margin-bottom:16px; }
code{ background:#efe9d8; padding:1px 6px; border-radius:4px; font-size:.85em; }

.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background: linear-gradient(180deg, var(--pool-deep), var(--navy-ink)); padding:20px; }
.login-card{ background:var(--white); border-radius:var(--radius-lg); padding:36px; width:100%; max-width:380px; box-shadow:var(--shadow-deep); }
.login-card h1{ font-size:1.4rem; text-align:center; }
.login-card p.sub{ text-align:center; color:#7a8a87; font-size:.88rem; margin-bottom:22px; }

@media (max-width: 860px){
  .admin-shell{ grid-template-columns:1fr; }
  .admin-sidebar{ flex-direction:row; overflow-x:auto; align-items:center; }
  .admin-nav{ flex-direction:row; }
  .admin-main{ padding:20px; }
}
