/* =====================================================
   G3 Admin — Dashboard CSS
   ===================================================== */
:root {
    --ink: #1f2937;
    --line: #e5e7eb;
    --muted: #6b7280;
    --gold: #c9a96e;
}
* { box-sizing: border-box; }
body.admin-body { font-family: 'Inter', sans-serif; background: #f3f4f6; color: var(--ink); margin: 0; }
.admin-shell { display: flex; min-height: 100vh; }
.admin-sidebar { width: 240px; background: linear-gradient(180deg, #1f2937 0%, #111827 100%); color: #fff; padding: 20px 0; position: fixed; top: 0; bottom: 0; left: -260px; z-index: 1040; transition: left 0.3s; overflow-y: auto; }
.admin-sidebar.show { left: 0; }
@media (min-width: 992px) { .admin-sidebar { left: 0; } }
.admin-brand { padding: 0 20px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: space-between; align-items: center; }
.admin-brand a { color: #fff; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 700; text-decoration: none; }
.admin-brand i { color: var(--gold); margin-right: 6px; }
.admin-nav { list-style: none; padding: 12px 0; margin: 0; }
.admin-nav li.nav-title { padding: 14px 20px 6px; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.4); }
.admin-nav li a, .admin-nav li button.logout-btn { display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: rgba(255,255,255,0.85); text-decoration: none; font-size: 0.92rem; width: 100%; text-align: left; background: none; border: none; }
.admin-nav li a:hover, .admin-nav li a.active { background: rgba(255,255,255,0.06); color: var(--gold); border-left: 3px solid var(--gold); }
.admin-nav li i { width: 18px; }
.admin-nav form { margin: 0; }
.admin-main { flex: 1; margin-left: 0; }
@media (min-width: 992px) { .admin-main { margin-left: 240px; } }
.admin-topbar { background: #fff; padding: 14px 24px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 100; }
.admin-title { font-size: 1.1rem; margin: 0; font-weight: 600; }
.admin-content { padding: 24px; }
.admin-stat { background: #fff; border-radius: 10px; padding: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); position: relative; overflow: hidden; color: var(--ink); }
.admin-stat.stat-1 { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; }
.admin-stat.stat-2 { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: #fff; }
.admin-stat.stat-3 { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); color: #fff; }
.admin-stat.stat-4 { background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); color: #fff; }
.admin-stat.stat-5, .admin-stat.stat-6, .admin-stat.stat-7, .admin-stat.stat-8 { background: #fff; }
.admin-stat .stat-num { font-size: 1.6rem; font-weight: 700; }
.admin-stat .stat-label { font-size: 0.85rem; opacity: 0.9; }
.admin-stat .stat-icon { position: absolute; right: 14px; bottom: 14px; font-size: 2.2rem; opacity: 0.2; }
.card { border: none; border-radius: 10px; }
.card-header { background: #fff; border-bottom: 1px solid var(--line); }
.table > :not(caption) > * > * { padding: 12px; }
code { background: var(--bg); padding: 2px 6px; border-radius: 4px; color: #b45309; }
