/* ── Base ── */
:root {
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
}

body {
    background: #f1f5f9;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

[data-bs-theme="dark"] body,
[data-bs-theme="dark"] {
    background: #0f172a;
}

/* ── Navbar ── */
.navbar {
    background: white;
    box-shadow: 0 1px 3px rgba(0,0,0,.08);
    padding: .5rem 1rem;
}

[data-bs-theme="dark"] .navbar {
    background: #1e293b;
    box-shadow: 0 1px 3px rgba(0,0,0,.3);
}

.navbar-brand {
    color: var(--primary) !important;
    font-size: 1.15rem;
}

.nav-link {
    font-size: .875rem;
    font-weight: 500;
    color: #64748b !important;
    border-radius: 6px;
    padding: .4rem .75rem !important;
    transition: all .15s;
}

.nav-link:hover, .nav-link.active {
    color: var(--primary) !important;
    background: rgba(37,99,235,.08);
}

/* ── Cards ── */
.card {
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    transition: box-shadow .2s;
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

[data-bs-theme="dark"] .card {
    background: #1e293b;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}

/* ── Stat Cards ── */
.stat-card {
    overflow: hidden;
}

.stat-icon {
    font-size: 1.75rem;
    margin-bottom: .25rem;
    opacity: .85;
}

.stat-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1e293b;
}

[data-bs-theme="dark"] .stat-value {
    color: #e2e8f0;
}

.stat-label {
    font-size: .8rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-weight: 600;
}

/* ── Status Buttons ── */
.status-btn-draft {
    background: #e2e8f0;
    color: #475569;
    border: none;
    font-size: .8rem;
    border-radius: 20px;
    padding: .25rem .75rem;
}

.status-btn-sent {
    background: #dbeafe;
    color: #1d4ed8;
    border: none;
    font-size: .8rem;
    border-radius: 20px;
    padding: .25rem .75rem;
}

.status-btn-accepted {
    background: #dcfce7;
    color: #16a34a;
    border: none;
    font-size: .8rem;
    border-radius: 20px;
    padding: .25rem .75rem;
}

.status-btn-rejected {
    background: #fee2e2;
    color: #dc2626;
    border: none;
    font-size: .8rem;
    border-radius: 20px;
    padding: .25rem .75rem;
}

/* ── Table ── */
.table {
    font-size: .875rem;
}

.table thead th {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #94a3b8;
    font-weight: 600;
    border-bottom: 2px solid #e2e8f0;
}

[data-bs-theme="dark"] .table thead th {
    border-bottom-color: #334155;
}

.table tbody tr:hover {
    background: rgba(37,99,235,.03);
}

/* ── Client Cards ── */
.client-card {
    border-left: 3px solid transparent;
    transition: all .2s;
}

.client-card:hover {
    border-left-color: var(--primary);
}

/* ── Buttons ── */
.btn-primary {
    background: var(--primary);
    border-color: var(--primary);
}

.btn-primary:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
}

/* ── Toast ── */
.toast {
    border-radius: 10px;
}

/* ── Form ── */
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 .2rem rgba(37,99,235,.15);
}

/* ── Item rows ── */
.item-row {
    border-radius: 10px;
    transition: all .15s;
}

.item-row:hover {
    background: #e2e8f0 !important;
}

[data-bs-theme="dark"] .item-row {
    background: #334155 !important;
}

[data-bs-theme="dark"] .item-row:hover {
    background: #475569 !important;
}

/* ── Misc ── */
.border-3 {
    border-width: 3px !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .stat-value {
        font-size: 1.5rem;
    }
    main.container-fluid {
        padding: 1rem !important;
    }
}
