/* Default theme reskin of Bootstrap 4 primitives (no HTML changes — class selectors only).
   Primary palette: blue #2563eb / hover #1d4ed8 / active #1e40af. Per-client overrides live in custom.css. */

/* ===== BUTTONS ===== */
.btn {
    border-radius: 10px;
    font-weight: 600;
    letter-spacing: .1px;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

    .btn:active {
        transform: translateY(1px);
    }

    .btn:focus,
    .btn.focus {
        box-shadow: 0 0 0 3px rgba(37, 99, 235, .25);
    }

.btn-sm {
    border-radius: 8px;
}

.btn-primary {
    background-color: #2563eb;
    border-color: #2563eb;
}

    .btn-primary:hover {
        background-color: #1d4ed8;
        border-color: #1d4ed8;
    }

    .btn-primary:not(:disabled):not(.disabled):active {
        background-color: #1e40af;
        border-color: #1e40af;
    }

.btn-outline-primary {
    color: #2563eb;
    border-color: #2563eb;
}

    .btn-outline-primary:hover {
        background-color: #2563eb;
        border-color: #2563eb;
        color: #fff;
    }

.btn-success {
    background-color: #10b981;
    border-color: #10b981;
}

    .btn-success:hover {
        background-color: #059669;
        border-color: #059669;
    }

.btn-danger {
    background-color: #ef4444;
    border-color: #ef4444;
}

    .btn-danger:hover {
        background-color: #dc2626;
        border-color: #dc2626;
    }

.btn-outline-danger:hover {
    background-color: #ef4444;
    border-color: #ef4444;
}

/* ===== FORM CONTROLS ===== */
.form-control,
.form-control-sm {
    border-radius: 8px;
    border-color: #d7dbe3;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    .form-control:focus,
    .form-control-sm:focus {
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
    }

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: #2563eb;
    border-color: #2563eb;
}

.custom-switch .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

/* ===== CARDS / MODALS ===== */
.card {
    border-radius: 12px;
    border-color: rgba(16, 24, 40, .08);
    box-shadow: 0 2px 8px rgba(16, 24, 40, .05);
}

.modal-content {
    border-radius: 12px;
    border: none;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .18);
    overflow: hidden;
}

/* ===== TABS ===== */
.nav-tabs {
    border-bottom-color: rgba(16, 24, 40, .1);
}

    .nav-tabs .nav-link {
        border: none;
        border-bottom: 2px solid transparent;
        color: #6b7280;
        transition: color .15s ease, border-color .15s ease;
    }

        .nav-tabs .nav-link:hover {
            border-color: transparent;
            color: #374151;
        }

        .nav-tabs .nav-link.active {
            background: transparent;
            border-color: #2563eb;
            color: #2563eb;
            font-weight: 600;
        }

/* ===== DROPDOWNS ===== */
.dropdown-menu {
    border-radius: 10px;
    border-color: rgba(16, 24, 40, .08);
    box-shadow: 0 12px 28px rgba(16, 24, 40, .12);
}

.dropdown-item:active {
    background-color: #2563eb;
}

/* ===== BADGES ===== */
.badge {
    border-radius: 999px;
    font-weight: 700;
    font-size: .75em;
    padding: .35em .7em;
    letter-spacing: .1px;
}

.badge-primary {
    background-color: #2563eb;
}

/* ===== TOASTR ===== */
#toast-container > .toast-success {
    background-color: #10b981;
}

#toast-container > .toast-error {
    background-color: #ef4444;
}

#toast-container > .toast-info {
    background-color: #2563eb;
}

#toast-container > .toast-warning {
    background-color: #f59e0b;
}

/* ===== TABLES ===== */
table.table thead th {
    border-bottom-color: rgba(16, 24, 40, .1);
    color: #374151;
}

table.table td,
table.table th {
    border-top-color: rgba(16, 24, 40, .06);
}
