:root { --admin-primary: #1B5E3A; }

body { font-family: 'Segoe UI', Inter, sans-serif; background: #f4f6f8; }

/* ===== LOGIN ===== */
.admin-login-body {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1B5E3A, #0d2f1c);
}
.login-wrapper { width: 100%; max-width: 400px; padding: 1rem; }
.login-card { background: #fff; border-radius: 8px; padding: 2.5rem; box-shadow: 0 10px 40px rgba(0,0,0,.2); }

/* ===== LAYOUT ===== */
.admin-wrapper { display: flex; min-height: 100vh; }

.admin-sidebar {
    width: 260px;
    background: #14231b;
    color: #fff;
    flex-shrink: 0;
    height: 100vh;
    position: sticky;
    top: 0;
    overflow-y: auto;
}
.sidebar-brand {
    display: flex; align-items: center; gap: .6rem;
    padding: 1.25rem 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: #fff; font-weight: 600;
}
.sidebar-nav { padding: .75rem 0; }
.sidebar-nav a {
    display: flex; align-items: center; gap: .6rem;
    padding: .6rem 1.25rem;
    color: rgba(255,255,255,.75);
    font-size: .9rem;
    text-decoration: none;
}
.sidebar-nav a:hover, .sidebar-nav a.active {
    background: rgba(255,255,255,.06);
    color: #fff;
    border-left: 3px solid var(--admin-primary);
}
.sidebar-heading {
    padding: 1rem 1.25rem .3rem;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(255,255,255,.4);
}

.admin-content { flex: 1; min-width: 0; }
.admin-topbar {
    background: #fff;
    padding: 1rem 1.5rem;
    display: flex; align-items: center; gap: 1rem;
    border-bottom: 1px solid #e5e7eb;
    position: sticky; top: 0; z-index: 10;
}
.admin-topbar .topbar-user { margin-left: auto; }
.admin-main { padding: 1.5rem; }

.admin-panel {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1.25rem;
}

.stat-card {
    display: flex; align-items: center; gap: .9rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: inherit;
    text-decoration: none;
}
.stat-card i { font-size: 1.6rem; color: var(--admin-primary); }
.stat-value { font-size: 1.4rem; font-weight: 700; }
.stat-label { font-size: .8rem; color: #6b7280; }

.table-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; }

@media (max-width: 991px) {
    .admin-sidebar {
        position: fixed; left: -260px; top: 0; z-index: 1050;
        transition: left .2s ease;
    }
    .admin-sidebar.show { left: 0; }
}
