:root {
    --adm-navy: #0b1b2b;
    --adm-bronze: #c8963e;
    --adm-bg: #f2f4f7;
}
body { background: var(--adm-bg); font-family: 'Segoe UI', system-ui, sans-serif; }
.admin-shell { display: flex; min-height: 100vh; }
.admin-sidebar {
    width: 250px; flex: 0 0 250px;
    background: var(--adm-navy);
    color: #f4f1ea;
    padding: 1.4rem 1rem;
    display: flex; flex-direction: column;
    position: sticky; top: 0; height: 100vh;
}
.admin-brand { padding: .4rem .6rem 1.2rem; letter-spacing: .1em; }
.admin-nav a {
    display: flex; align-items: center; gap: .7rem;
    color: rgba(244,241,234,.75);
    padding: .65rem .8rem; margin-bottom: .2rem;
    text-decoration: none; font-size: .92rem; border-radius: .35rem;
}
.admin-nav a i { color: var(--adm-bronze); }
.admin-nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-nav a.active { background: rgba(200,150,62,.18); color: #fff; }
.admin-main { flex: 1; min-width: 0; }
.admin-topbar {
    background: var(--adm-navy); color: #fff;
    padding: .7rem 1rem;
}
.admin-content { padding: 1.6rem; }
.admin-card {
    background: #fff; border: 1px solid #e4e8ee; border-radius: .5rem;
    padding: 1.4rem;
}
.stat-card {
    background: #fff; border: 1px solid #e4e8ee; border-radius: .5rem;
    padding: 1.2rem 1.3rem; height: 100%;
}
.stat-card .stat-num { font-size: 1.9rem; font-weight: 700; color: var(--adm-navy); }
.stat-card .stat-label { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: #6b7a89; }
.stat-card .stat-icon {
    width: 42px; height: 42px; display: grid; place-items: center;
    background: rgba(200,150,62,.15); color: var(--adm-bronze);
    border-radius: .4rem; font-size: 1.2rem;
}
.table thead th {
    font-size: .75rem; text-transform: uppercase; letter-spacing: .08em;
    color: #6b7a89; border-bottom-width: 1px;
}
.badge-status { font-size: .72rem; letter-spacing: .05em; }
.admin-login-body {
    min-height: 100vh; display: grid; place-items: center;
    background: linear-gradient(135deg, #132c46, #081221);
    padding: 1rem;
}
.login-card {
    width: 100%; max-width: 420px;
    background: #fff; border-radius: .6rem; padding: 2.2rem;
    box-shadow: 0 24px 60px rgba(0,0,0,.4);
}
@media (max-width: 991.98px) {
    .admin-sidebar { position: fixed; z-index: 1040; height: auto; max-height: 100vh; overflow: auto; }
}
