/* =========================================================
   ADMIN PANEL — same token system as public site (imported)
   ========================================================= */
body.admin-body{
  background: var(--bg);
  font-family: var(--font-body);
  color: var(--ink);
}

/* ---------- Sidebar ---------- */
.admin-sidebar{
  width: 260px;
  background: var(--navy-dark);
  min-height: 100vh;
  position: fixed;
  top:0; left:0; bottom:0;
  z-index: 1040;
  transition: transform .25s ease;
  display:flex; flex-direction:column;
}
.admin-sidebar .brand{
  padding: 22px 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  display:flex; align-items:center; gap:10px;
}
.admin-sidebar .brand img{ height:36px; }
.admin-sidebar .brand span{ color:#fff; font-family: var(--font-display); font-weight:700; font-size:1rem; }
.admin-sidebar .brand small{ display:block; color:#9db6c8; font-size:.68rem; }

.admin-nav{ padding: 14px 12px; flex:1; overflow-y:auto; }
.admin-nav .nav-section-label{
  color:#7593a8; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700;
  padding: 14px 12px 6px;
}
.admin-nav a{
  display:flex; align-items:center; gap:12px;
  color:#c6d6e2; padding:11px 14px; border-radius:10px; font-size:.9rem; font-weight:500;
  margin-bottom:3px;
}
.admin-nav a i{ font-size:1.05rem; width:20px; text-align:center; }
.admin-nav a:hover{ background: rgba(255,255,255,.06); color:#fff; }
.admin-nav a.active{ background: var(--saffron); color: var(--navy-dark); font-weight:700; }

.admin-sidebar-footer{
  padding:16px 20px; border-top:1px solid rgba(255,255,255,.08);
}
.admin-sidebar-footer a{ color:#f3a6a6; font-size:.85rem; }

/* ---------- Main content shell ---------- */
.admin-main{ margin-left:260px; min-height:100vh; }
.admin-topbar{
  background: var(--surface); border-bottom:1px solid var(--border);
  padding: 14px 28px; display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:1020;
}
.admin-topbar h4{ margin:0; font-size:1.1rem; }
.admin-content{ padding: 28px; }
.sidebar-toggle-btn{ display:none; border:0; background:transparent; font-size:1.4rem; color:var(--navy); }

@media (max-width: 991px){
  .admin-sidebar{ transform: translateX(-100%); }
  .admin-sidebar.show{ transform: translateX(0); }
  .admin-main{ margin-left:0; }
  .sidebar-toggle-btn{ display:inline-block; }
}

/* ---------- Stat cards ---------- */
.stat-card{
  background: var(--surface); border:1px solid var(--border); border-radius: var(--radius-md);
  padding: 22px; display:flex; align-items:center; gap:16px;
}
.stat-card .icon{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; flex-shrink:0;
}
.stat-card h3{ font-size:1.6rem; margin:0; font-family: var(--font-mono); color:var(--navy-dark); }
.stat-card p{ margin:0; font-size:.82rem; color:var(--muted); }

/* ---------- Cards / panels ---------- */
.admin-panel{
  background: var(--surface); border:1px solid var(--border); border-radius: var(--radius-md);
  padding: 22px;
}
.admin-panel h5{ font-size:1rem; }

/* ---------- Tables ---------- */
.admin-table thead th{
  font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color: var(--muted);
  border-bottom:2px solid var(--border); padding:10px 12px; font-weight:700;
}
.admin-table tbody td{ padding:12px; font-size:.88rem; vertical-align:middle; border-bottom:1px solid var(--border); }
.admin-table tbody tr:hover{ background: var(--navy-tint); }
.thumb-sm{ width:52px; height:52px; border-radius:8px; object-fit:cover; }

/* ---------- Login page ---------- */
.admin-login-wrap{
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 55%, var(--teal) 130%);
  padding:20px;
  position:relative; overflow:hidden;
}
.admin-login-wrap::before{
  content:''; position:absolute; width:420px; height:420px; border-radius:50%;
  border:40px solid rgba(242,167,59,.08); top:-140px; right:-140px;
}
.admin-login-wrap::after{
  content:''; position:absolute; width:300px; height:300px; border-radius:50%;
  border:30px solid rgba(255,255,255,.06); bottom:-100px; left:-100px;
}
.admin-login-card{
  background: var(--surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
  width:100%; max-width:960px; overflow:hidden; position:relative; z-index:2;
}
.admin-login-side{
  background: var(--navy-dark);
  color:#fff; padding:48px; display:flex; flex-direction:column; justify-content:center;
  position:relative;
}
.admin-login-side .seal-ring{
  width:70px; height:70px; border-radius:50%; border:2px dashed var(--saffron);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  font-family: var(--font-mono); font-weight:700; color: var(--saffron); font-size:1.3rem;
}
.admin-login-form{ padding:48px; }
.form-floating>label{ color:var(--muted); }
