:root {
    --rg-navy: #002857;
    --rg-blue: #1e88e5;
    --rg-green: #2e7032;
    --rg-orange: #ff8c00;
    --rg-grey: #f5f7fa;
}

body {
    background: var(--rg-grey);
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
}

.topbar {
    background: var(--rg-navy);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

.admin-shell {
    display: flex;
    min-height: calc(100vh - 56px);
}

.admin-sidebar {
    width: 250px;
    flex-shrink: 0;
    background: #fff;
    border-right: 1px solid #e2e6ec;
    padding: 1rem 0;
}

.admin-sidebar .nav-heading {
    padding: .75rem 1.25rem .25rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #90a0b7;
}

.admin-sidebar .nav-link {
    color: #37455a;
    padding: .55rem 1.25rem;
    border-left: 3px solid transparent;
    font-size: .92rem;
}

.admin-sidebar .nav-link i {
    width: 20px;
    text-align: center;
    margin-right: .5rem;
    color: #90a0b7;
}

.admin-sidebar .nav-link:hover {
    background: var(--rg-grey);
}

.admin-sidebar .nav-link.active {
    background: #eaf1fb;
    border-left-color: var(--rg-blue);
    color: var(--rg-navy);
    font-weight: 600;
}

.admin-sidebar .nav-link.active i {
    color: var(--rg-blue);
}

.admin-content {
    flex: 1;
    min-width: 0;
}

.stat-card {
    border: none;
    border-radius: .6rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}

.stat-card .stat-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--rg-navy);
}

.stat-card .stat-icon {
    width: 46px;
    height: 46px;
    border-radius: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #fff;
}

.card-table {
    border: none;
    border-radius: .6rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}

.badge-status-draft { background: #adb5bd; }
.badge-status-published { background: var(--rg-green); }
.badge-status-cancelled { background: #b02a37; }
.badge-status-submitted { background: #6c757d; }
.badge-status-under_review { background: #0d6efd; }
.badge-status-assigned { background: #6610f2; }
.badge-status-in_progress { background: var(--rg-orange); }
.badge-status-resolved { background: var(--rg-green); }

.thumb-preview {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: .35rem;
}

.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--rg-navy), #10386b);
}

.login-card {
    width: 100%;
    max-width: 380px;
    border: none;
    border-radius: .75rem;
}

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