    @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap');

    :root {
        --primary:        #B18752;
        --primary-dark:   #1342b0;
        --primary-light:  #ebf0ff;
        --success:        #0e9f6e;
        --success-light:  #ecfdf5;
        --danger:         #e02424;
        --danger-light:   #fef2f2;
        --warning:        #d97706;
        --warning-light:  #fffbeb;
        --info:           #0284c7;
        --info-light:     #e0f2fe;
        --purple:         #7c3aed;
        --purple-light:   #f5f3ff;
        --surface:        #ffffff;
        --surface-2:      #f8f9fc;
        --border:         #e5e9f2;
        --text-main:      #111827;
        --text-muted:     #6b7280;
        --text-label:     #374151;
        --radius:         12px;
        --radius-sm:      8px;
        --shadow-sm:      0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
        --shadow-md:      0 4px 16px rgba(0,0,0,.08);
        --transition:     0.2s cubic-bezier(.4,0,.2,1);
    }

    *, *::before, *::after { box-sizing: border-box; }

    body {
        font-family: 'DM Sans', sans-serif;
        background: var(--surface-2);
        color: var(--text-main);
    }

    .dash-wrapper {
        max-width: 1100px;
        margin: 0 auto;
        padding: 32px 16px 64px;
    }

    /* ── Page header ── */
    .page-header {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 28px;
        padding-bottom: 24px;
        border-bottom: 2px solid var(--border);
    }
    .page-header-icon {
        width: 48px; height: 48px;
        background: var(--primary);
        border-radius: var(--radius-sm);
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }
    .page-header-icon svg { color: #fff; }
    .page-header h1 {
        font-size: 1.35rem;
        font-weight: 700;
        letter-spacing: -.02em;
        margin: 0 0 2px;
    }
    .page-header p { margin: 0; font-size: .85rem; color: var(--text-muted); }

    /* ── Section card ── */
    .section-card {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        box-shadow: var(--shadow-sm);
        margin-bottom: 24px;
        overflow: hidden;
        animation: slideUp .3s ease both;
    }
    @keyframes slideUp {
        from { opacity: 0; transform: translateY(10px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    .section-card:nth-child(1) { animation-delay: .04s; }
    .section-card:nth-child(2) { animation-delay: .08s; }
    .section-card:nth-child(3) { animation-delay: .12s; }
    .section-card:nth-child(4) { animation-delay: .16s; }

    .section-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 15px 22px;
        background: var(--surface-2);
        border-bottom: 1px solid var(--border);
    }
    .section-header svg { color: var(--primary); flex-shrink: 0; }
    .section-header h2 {
        font-size: .8rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--text-label);
        margin: 0;
    }
    .section-body { padding: 22px; }

    /* ── Filter form ── */
    .filter-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
        gap: 16px;
        align-items: end;
    }
    .filter-group { display: flex; flex-direction: column; gap: 5px; }
    .filter-label {
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .07em;
        text-transform: uppercase;
        color: var(--text-muted);
    }
    .filter-input,
    .filter-select {
        font-family: 'DM Sans', sans-serif;
        font-size: .88rem;
        color: var(--text-main);
        background: var(--surface);
        border: 1.5px solid var(--border);
        border-radius: var(--radius-sm);
        padding: 9px 12px;
        width: 100%;
        outline: none;
        appearance: none;
        -webkit-appearance: none;
        transition: border-color var(--transition), box-shadow var(--transition);
    }
    .filter-select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
        padding-right: 32px;
    }
    .filter-input:focus,
    .filter-select:focus {
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(26,86,219,.12);
    }
    .filter-input[readonly] {
        background: var(--surface-2);
        color: var(--text-muted);
        cursor: not-allowed;
    }
    .filter-actions {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }
    .btn-apply {
        flex: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: var(--primary);
        color: #fff;
        font-family: 'DM Sans', sans-serif;
        font-size: .85rem;
        font-weight: 600;
        padding: 9px 16px;
        border: none;
        border-radius: var(--radius-sm);
        cursor: pointer;
        transition: background var(--transition), transform var(--transition);
        white-space: nowrap;
    }
    .btn-primary{
        background: var(--primary);
        color: #fff;
        border: none;

    }
    .btn-apply:hover { background: var(--primary-dark); transform: translateY(-1px); }
    .btn-clear {
        flex: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: var(--surface-2);
        color: var(--text-label);
        font-family: 'DM Sans', sans-serif;
        font-size: .85rem;
        font-weight: 600;
        padding: 9px 16px;
        border: 1.5px solid var(--border);
        border-radius: var(--radius-sm);
        text-decoration: none;
        transition: background var(--transition), border-color var(--transition);
        white-space: nowrap;
    }
    .btn-clear:hover { background: #eef0f5; border-color: #c9cfe0; color: var(--text-label); }

    /* ── Active filter chips ── */
    .active-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 14px 22px;
        border-top: 1px solid var(--border);
        background: var(--surface-2);
    }
    .active-filters-label {
        font-size: .75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .06em;
        color: var(--text-muted);
        margin-right: 4px;
    }
    .filter-chip {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: var(--primary-light);
        border: 1px solid #c3d9ff;
        color: var(--primary);
        font-size: .75rem;
        font-weight: 600;
        padding: 4px 10px;
        border-radius: 999px;
    }
    .filter-chip span { color: var(--text-muted); font-weight: 400; }

    /* ── Stat cards grid ── */
    .stats-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
        gap: 16px;
        margin-bottom: 24px;
    }
    .stat-card {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        box-shadow: var(--shadow-sm);
        overflow: hidden;
        transition: transform var(--transition), box-shadow var(--transition);
        text-decoration: none;
        color: inherit;
        display: block;
        animation: slideUp .3s ease both;
    }
    .stat-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow-md);
        color: inherit;
        text-decoration: none;
    }
    .stat-card-body {
        padding: 20px 20px 14px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .stat-icon {
        width: 40px; height: 40px;
        border-radius: var(--radius-sm);
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }
    .stat-icon svg { width: 20px; height: 20px; }
    .stat-icon-blue   { background: var(--primary-light);  color: var(--primary); }
    .stat-icon-green  { background: var(--success-light);  color: var(--success); }
    .stat-icon-red    { background: var(--danger-light);   color: var(--danger);  }
    .stat-icon-amber  { background: var(--warning-light);  color: var(--warning); }
    .stat-icon-purple { background: var(--purple-light);   color: var(--purple);  }

    .stat-value {
        font-family: 'DM Mono', monospace;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: -.03em;
    }
    .stat-value-blue   { color: var(--primary); }
    .stat-value-green  { color: var(--success); }
    .stat-value-red    { color: var(--danger);  }
    .stat-value-amber  { color: var(--warning); }
    .stat-value-purple { color: var(--purple);  }

    .stat-card-footer {
        padding: 10px 20px;
        background: var(--surface-2);
        border-top: 1px solid var(--border);
        font-size: .78rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .06em;
        color: var(--text-muted);
    }

    /* ── Tables ── */
    .table-card { margin-bottom: 24px; }
    .data-table {
        width: 100%;
        border-collapse: collapse;
        font-size: .875rem;
    }
    .data-table thead th {
        font-size: .72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .07em;
        color: var(--text-muted);
        padding: 10px 16px;
        background: var(--surface-2);
        border-bottom: 2px solid var(--border);
        text-align: left;
        white-space: nowrap;
    }
    .data-table tbody tr {
        border-bottom: 1px solid var(--border);
        transition: background var(--transition);
    }
    .data-table tbody tr:last-child { border-bottom: none; }
    .data-table tbody tr:hover { background: var(--surface-2); }
    .data-table tbody td {
        padding: 11px 16px;
        color: var(--text-main);
        vertical-align: middle;
    }
    .data-table tbody td:first-child { font-weight: 500; }
    .empty-row td {
        text-align: center;
        color: var(--text-muted);
        font-style: italic;
        padding: 28px 16px !important;
    }

    .count-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: 'DM Mono', monospace;
        font-size: .8rem;
        font-weight: 600;
        background: var(--primary-light);
        color: var(--primary);
        border-radius: 999px;
        padding: 2px 10px;
        min-width: 36px;
    }

    /* ── Two-column table layout for admin ── */
    .tables-grid {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 20px;
        align-items: start;
    }
    @media (max-width: 768px) {
        .tables-grid { grid-template-columns: 1fr; }
    }

    /* ── Responsive ── */
    @media (max-width: 640px) {
        .dash-wrapper { padding: 16px 12px 48px; }
        .page-header h1 { font-size: 1.1rem; }
        .section-body { padding: 16px; }
        .stats-grid { grid-template-columns: 1fr 1fr; }
        .filter-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 380px) {
        .stats-grid { grid-template-columns: 1fr; }
        .filter-grid { grid-template-columns: 1fr; }
    }