:root {
    --gfs-bg: #f3f6f4;
    --gfs-sidebar: #12352f;
    --gfs-sidebar-2: #1b4d44;
    --gfs-accent: #2f8f6b;
    --gfs-text: #1c2b27;
}

html,
body {
    height: 100%;
}

body.admin-body {
    background: var(--gfs-bg);
    color: var(--gfs-text);
    font-family: "Tajawal", "Segoe UI", Tahoma, sans-serif;
}

.admin-shell {
    min-height: 100vh;
}

.admin-sidebar {
    width: 250px;
    background: linear-gradient(180deg, var(--gfs-sidebar), var(--gfs-sidebar-2));
    color: #fff;
    min-height: 100vh;
}

.admin-brand {
    padding: 1.25rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-brand small {
    display: block;
    opacity: 0.7;
}

.admin-nav .nav-link {
    color: rgba(255, 255, 255, 0.78);
    padding: 0.7rem 1.1rem;
    border-radius: 0;
}

.admin-nav .nav-link:hover,
.admin-nav .nav-link.active {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.admin-main {
    flex: 1;
}

.admin-header {
    background: #fff;
    border-bottom: 1px solid #e4ebe7;
}

.stat-card {
    border: 0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(18, 53, 47, 0.06);
}

.login-wrap {
    min-height: 100vh;
    background: linear-gradient(135deg, #12352f, #2f8f6b);
}

.login-card {
    border: 0;
    border-radius: 16px;
}

.table thead th {
    background: #eef4f1;
    font-weight: 600;
}

.badge-status-draft { background: #6c757d; }
.badge-status-confirmed { background: #0d6efd; }
.badge-status-notifying { background: #6f42c1; }
.badge-status-open { background: #198754; }
.badge-status-closed { background: #212529; }
.badge-status-received { background: #198754; }
.badge-status-pending { background: #fd7e14; }
.badge-status-notified { background: #0d6efd; }
.badge-status-no_show { background: #dc3545; }

@media print {
    .no-print { display: none !important; }
    .admin-sidebar,
    .admin-header { display: none !important; }
}