:root {
    --corp-bg: #f4f6f9;
    --corp-surface: #ffffff;
    --corp-border: #dfe4ea;
    --corp-text: #243447;
    --corp-muted: #6b7a8c;
    --corp-primary: #1f4e79;
    --corp-primary-hover: #173a5b;
    --corp-accent: #2a7de1;
    --corp-success: #2f855a;
    --corp-warning: #b7791f;
    --corp-danger: #c53030;
    --corp-radius: 0.6rem;
    --corp-shadow: 0 6px 20px rgba(31, 78, 121, 0.08);
}

html,
body {
    background: var(--corp-bg);
    color: var(--corp-text);
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

a {
    color: var(--corp-accent);
}

a:hover {
    color: #1d5fb0;
    text-decoration: none;
}

.navbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.navbar-dark.bg-dark {
    background: linear-gradient(135deg, #1f4e79 0%, #173a5b 100%) !important;
}

.navbar-brand {
    font-weight: 600;
    letter-spacing: 0.2px;
}

.nav-link {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.nav-link:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.nav-item.active .nav-link {
    font-weight: 600;
}

.card {
    border: 1px solid var(--corp-border);
    border-radius: var(--corp-radius);
    box-shadow: var(--corp-shadow);
}

.card-header {
    background: #f8fafc;
    border-bottom: 1px solid var(--corp-border);
    font-weight: 600;
}

.table {
    color: var(--corp-text);
}

.table thead th {
    border-top: 0;
    border-bottom: 1px solid var(--corp-border);
    background: #f8fafc;
    color: #334e68;
    font-size: 0.9rem;
    font-weight: 600;
}

.table td,
.table th {
    vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(31, 78, 121, 0.03);
}

.btn {
    border-radius: 0.45rem;
    font-weight: 500;
    letter-spacing: 0.1px;
}

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

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

.btn-outline-primary {
    color: var(--corp-primary);
    border-color: var(--corp-primary);
}

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

.form-control,
.custom-select {
    border-radius: 0.45rem;
    border-color: #cfd8e3;
    color: var(--corp-text);
}

.form-control:focus,
.custom-select:focus {
    border-color: #7aa7d8;
    box-shadow: 0 0 0 0.2rem rgba(31, 78, 121, 0.15);
}

.badge {
    font-weight: 600;
    border-radius: 0.4rem;
    padding: 0.35em 0.55em;
}

.alert {
    border: 1px solid transparent;
    border-radius: 0.5rem;
}

.alert-success {
    background-color: #edf7f0;
    border-color: #bee3cc;
    color: #1f5134;
}

.alert-danger {
    background-color: #fdeeee;
    border-color: #f5c2c2;
    color: #8a1f1f;
}

.footer {
    border-top: 1px solid var(--corp-border);
    background: #fbfcfe;
}

.text-muted {
    color: var(--corp-muted) !important;
}

.pagination .page-link {
    color: var(--corp-primary);
    border-color: #d6dee8;
}

.pagination .page-item.active .page-link {
    background-color: var(--corp-primary);
    border-color: var(--corp-primary);
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border-radius: 0.4rem;
    border: 1px solid #cfd8e3;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    padding-top: 0.9rem !important;
}

/* Select2 Bootstrap 4 theme alignment */
.select2-container {
    width: 100% !important;
}

.select2-container--bootstrap4 .select2-selection {
    min-height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid #cfd8e3;
    border-radius: 0.45rem;
    font-size: 1rem;
    color: var(--corp-text);
    background-color: #fff;
}

.select2-container--bootstrap4 .select2-selection--single {
    padding: 0;
}

.select2-container--bootstrap4 .select2-selection__rendered {
    color: var(--corp-text);
    line-height: calc(1.5em + 0.75rem);
    padding-left: 0.75rem !important;
    padding-right: 2rem !important;
}

.select2-container--bootstrap4 .select2-selection__clear {
    margin-right: 0.35rem;
}

.select2-container--bootstrap4 .select2-selection__placeholder {
    color: #7a8796;
}

.select2-container--bootstrap4 .select2-selection__arrow {
    height: 100%;
    top: 0;
    right: 0.6rem;
    width: 1rem;
}

.select2-container--bootstrap4.select2-container--focus .select2-selection,
.select2-container--bootstrap4.select2-container--open .select2-selection {
    border-color: #7aa7d8;
    box-shadow: 0 0 0 0.2rem rgba(31, 78, 121, 0.15);
}

.select2-container--bootstrap4 .select2-dropdown {
    border: 1px solid #cfd8e3;
    border-radius: 0.45rem;
    box-shadow: 0 12px 24px rgba(31, 78, 121, 0.14);
    overflow: hidden;
}

.select2-container--bootstrap4 .select2-results__option {
    padding: 0.45rem 0.75rem;
    font-size: 0.95rem;
}

.select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected] {
    background-color: var(--corp-primary);
    color: #fff;
}
