:root {
    --inst-blue: #0b3d91;
    --inst-blue-2: #1d4fa3;
    --inst-blue-3: #2f5fb0;
    --inst-yellow: #f4c400;
    --inst-yellow-2: #e2b600;
    --inst-white: #ffffff;
    --inst-bg: #f4f7fc;
    --inst-surface: #ffffff;
    --inst-border: #d6e0f1;
    --inst-text: #1b2b4b;
    --inst-muted: #4d6289;
    --inst-shadow: 0 2px 8px rgba(11, 61, 145, 0.08);
}

body {
    background: var(--inst-bg);
    color: var(--inst-text);
}

h3,
h4,
h5,
h6 {
    color: var(--inst-text);
}

.page-main-header,
.main-nav,
.card,
.modal-content,
.dropdown-menu,
.table,
.form-control,
.form-select {
    color: var(--inst-text);
}

.page-main-header {
    background: linear-gradient(135deg, var(--inst-blue) 0%, var(--inst-blue-2) 70%);
    box-shadow: 0 4px 16px rgba(11, 61, 145, 0.2);
}

.page-wrapper.horizontal-wrapper .page-body-wrapper.horizontal-menu header.main-nav {
    top: 84px;
}

.page-body .page-header {
    background: linear-gradient(120deg, var(--inst-blue) 0%, var(--inst-blue-2) 70%);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 12px;
}

.page-body .page-header h3,
.page-body .page-header .breadcrumb-item,
.page-body .page-header .breadcrumb-item a {
    color: var(--inst-white) !important;
}

.page-body .page-header .breadcrumb {
    margin-bottom: 0;
}

.inst-dashboard .hero {
    background: linear-gradient(120deg, var(--inst-blue) 0%, var(--inst-blue-2) 70%);
    color: var(--inst-white);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 12px;
}

.inst-dashboard .hero h3 {
    color: var(--inst-white);
    margin: 0;
}

.inst-dashboard .filter-card,
.inst-dashboard .panel-card,
.inst-dashboard .kpi-card {
    background: var(--inst-white);
    border: 1px solid var(--inst-border);
    border-radius: 12px;
    box-shadow: var(--inst-shadow);
}

.inst-dashboard .filter-card {
    padding: 10px;
    margin-bottom: 12px;
    background: var(--inst-bg);
}

.inst-dashboard .btn-inst {
    background: var(--inst-yellow);
    border-color: var(--inst-yellow);
    color: #1f2b3d;
    font-weight: 600;
}

.inst-dashboard .btn-inst:hover,
.inst-dashboard .btn-inst:focus {
    background: var(--inst-yellow-2);
    border-color: var(--inst-yellow-2);
    color: #111827;
}

.inst-dashboard .kpi-card {
    padding: 14px;
    min-height: 110px;
}

.inst-dashboard .kpi-card h6 {
    color: #4a5f87;
    margin-bottom: 8px;
}

.inst-dashboard .kpi-card .kpi-value {
    color: var(--inst-blue);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}

.inst-dashboard .kpi-card.is-highlight {
    background: linear-gradient(145deg, var(--inst-blue), #235eb9);
    border-color: var(--inst-blue);
}

.inst-dashboard .kpi-card.is-highlight h6,
.inst-dashboard .kpi-card.is-highlight .kpi-value {
    color: var(--inst-white);
}

.inst-dashboard .kpi-card.is-warning {
    background: linear-gradient(145deg, #fff8d6, #ffe892);
    border-color: #f1d765;
}

.inst-dashboard .kpi-card.is-danger {
    background: linear-gradient(145deg, #fff1f1, #ffdcdc);
    border-color: #f2b1b1;
}

.inst-dashboard .kpi-card.is-success {
    background: linear-gradient(145deg, #edf9f2, #cff3dd);
    border-color: #a7e3be;
}

.inst-dashboard .kpi-card.is-info {
    background: linear-gradient(145deg, #edf5ff, #d8e9ff);
    border-color: #b9d6fb;
}

.inst-dashboard .panel-card .card-header {
    background: var(--inst-white);
    border-bottom: 1px solid var(--inst-border);
}

.inst-dashboard .panel-card .card-header h5 {
    color: var(--inst-blue);
    margin-bottom: 0;
    font-weight: 700;
}

.inst-dashboard .chart-box {
    position: relative;
    min-height: 280px;
}

.page-body > .row:first-child > [class*="col-"] > h3 {
    background: linear-gradient(120deg, var(--inst-blue) 0%, var(--inst-blue-2) 70%);
    color: var(--inst-white);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

.page-body > .row:first-child > [class*="col-"] > h3 .btn {
    border-color: rgba(255, 255, 255, 0.45);
}

.page-body > .row:first-child > [class*="col-"] > h3 .btn:hover,
.page-body > .row:first-child > [class*="col-"] > h3 .btn:focus {
    border-color: var(--inst-yellow);
}

.page-body .top-dealer-sec .card,
.page-body .box-col-12 .card,
.page-body .col-xl-12 .card,
.page-body .col-12 .card {
    border-radius: 12px;
}

.page-body .card-body {
    padding: 14px;
}

.page-body .theme-form,
.page-body form.row.g-2,
.page-body form.row.mt-3.mb-3.g-2 {
    background: var(--inst-bg);
    border: 1px solid var(--inst-border);
    border-radius: 10px;
    padding: 10px;
}

.page-body .theme-form hr {
    border-color: var(--inst-border);
}

.page-body .btn,
.page-body .btn.btn-sm {
    border-radius: 8px;
    font-weight: 600;
    border-width: 1px;
    transition: all 0.2s ease;
}

.page-body .btn:hover,
.page-body .btn:focus,
.page-body .btn:active {
    transform: translateY(-1px);
}

.page-body button:not([class]),
.page-body input[type="button"]:not([class]),
.page-body input[type="submit"]:not([class]),
.page-body input[type="reset"]:not([class]) {
    background: var(--inst-blue);
    border: 1px solid var(--inst-blue);
    color: var(--inst-white);
    border-radius: 8px;
    padding: 0.38rem 0.75rem;
    font-weight: 600;
}

.page-body button:not([class]):hover,
.page-body input[type="button"]:not([class]):hover,
.page-body input[type="submit"]:not([class]):hover,
.page-body input[type="reset"]:not([class]):hover {
    background: var(--inst-blue-2);
    border-color: var(--inst-blue-2);
}

.page-body table#tabledata,
.page-body table.display,
.page-body table.table {
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0;
}

.page-body table#tabledata thead th,
.page-body table.display thead th,
.page-body table.table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.page-body table td a:not(.btn) {
    color: var(--inst-blue);
    font-weight: 600;
    text-decoration: none;
}

.page-body table td a:not(.btn):hover {
    color: var(--inst-blue-2);
    text-decoration: underline;
}

.page-body .dataTables_wrapper .dataTables_filter input,
.page-body .dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--inst-border);
    border-radius: 8px;
    background: var(--inst-white);
    color: var(--inst-text);
    padding: 0.3rem 0.55rem;
}

.page-body .dataTables_wrapper .dataTables_filter input:focus,
.page-body .dataTables_wrapper .dataTables_length select:focus {
    border-color: var(--inst-blue-3);
    box-shadow: 0 0 0 0.2rem rgba(11, 61, 145, 0.15);
    outline: 0;
}

.page-body .dataTables_wrapper .dataTables_paginate .paginate_button {
    border: 1px solid var(--inst-border) !important;
    border-radius: 8px;
    background: var(--inst-white) !important;
    color: var(--inst-blue) !important;
    margin-left: 4px;
}

.page-body .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.page-body .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    border-color: var(--inst-blue) !important;
    background: var(--inst-blue) !important;
    color: var(--inst-white) !important;
}

.page-body .dataTables_wrapper .dataTables_info,
.page-body .dataTables_wrapper .dataTables_length,
.page-body .dataTables_wrapper .dataTables_filter {
    color: var(--inst-muted);
}

.page-main-header .logo-wrapper,
.page-main-header .dark-logo-wrapper,
.page-main-header .left-menu-header,
.page-main-header .left-menu-header a,
.page-main-header .nav-menus li,
.page-main-header .nav-menus li a {
    color: var(--inst-white) !important;
}

.page-main-header .nav-menus li > a.text-dark {
    color: var(--inst-white) !important;
}

.auth-logout-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--inst-yellow);
    border: 1px solid var(--inst-yellow);
    color: #1f2b3d !important;
    font-weight: 700;
    border-radius: 8px;
    padding: 0.45rem 0.85rem;
    line-height: 1;
}

.auth-logout-btn i,
.auth-logout-btn span {
    color: #1f2b3d !important;
}

.auth-logout-btn:hover,
.auth-logout-btn:focus {
    background: var(--inst-yellow-2);
    border-color: var(--inst-yellow-2);
    color: #111827 !important;
}

.auth-logout-btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 196, 0, 0.35);
}

.main-nav .main-navbar .nav-menu > li > a,
.main-nav .main-navbar .nav-submenu li a {
    color: var(--inst-text) !important;
}

.main-nav .main-navbar .nav-menu > li:hover > a,
.main-nav .main-navbar .nav-menu > li .nav-submenu li:hover > a {
    color: var(--inst-blue) !important;
}

.sidebar-user {
    background: var(--inst-surface);
    border: 1px solid var(--inst-border);
    border-radius: 10px;
}

.btn-primary,
.btn.btn-primary,
button.btn-primary {
    background: var(--inst-blue);
    border-color: var(--inst-blue);
    color: var(--inst-white);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: var(--inst-blue-2) !important;
    border-color: var(--inst-blue-2) !important;
    color: var(--inst-white) !important;
}

.btn-warning,
.btn.btn-warning {
    background: var(--inst-yellow);
    border-color: var(--inst-yellow);
    color: #1f2b3d;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background: var(--inst-yellow-2) !important;
    border-color: var(--inst-yellow-2) !important;
    color: #111827 !important;
}

.btn-info,
.btn.btn-info {
    background: var(--inst-blue-3);
    border-color: var(--inst-blue-3);
    color: var(--inst-white);
}

.btn-success,
.btn.btn-success {
    background: #1f7a4f;
    border-color: #1f7a4f;
}

.btn-danger,
.btn.btn-danger {
    background: #b93939;
    border-color: #b93939;
    color: var(--inst-white);
}

.btn-secondary,
.btn.btn-secondary {
    background: #5f6f92;
    border-color: #5f6f92;
    color: var(--inst-white);
}

.btn-dark,
.btn.btn-dark {
    background: #2b3a57;
    border-color: #2b3a57;
    color: var(--inst-white);
}

.btn-light,
.btn.btn-light {
    background: #edf3ff;
    border-color: #c4d7fa;
    color: var(--inst-text);
}

.btn-light:hover,
.btn-light:focus,
.btn.btn-light:hover,
.btn.btn-light:focus {
    background: #dfeaff;
    border-color: #adc6f5;
    color: var(--inst-text);
}

.btn-primary-light,
.btn.btn-primary-light {
    background: #edf3ff;
    border-color: #c4d7fa;
    color: var(--inst-blue);
}

.btn-primary-light:hover,
.btn-primary-light:focus,
.btn.btn-primary-light:hover,
.btn.btn-primary-light:focus {
    background: #dfeaff;
    border-color: #adc6f5;
    color: var(--inst-blue);
}

.btn-outline-primary,
.btn.btn-outline-primary {
    color: var(--inst-blue);
    border-color: var(--inst-blue-3);
    background: #f3f7ff;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus {
    color: var(--inst-white);
    background: var(--inst-blue);
    border-color: var(--inst-blue);
}

.btn-outline-secondary,
.btn.btn-outline-secondary {
    color: #384766;
    border-color: #b9c8e5;
    background: #f7f9fd;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn.btn-outline-secondary:hover,
.btn.btn-outline-secondary:focus {
    color: #1f2b3d;
    border-color: #9db1d8;
    background: #eaf1ff;
}

.btn-outline-danger,
.btn.btn-outline-danger {
    color: #b93939;
    border-color: #d99c9c;
    background: #fff6f6;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn.btn-outline-danger:hover,
.btn.btn-outline-danger:focus {
    color: var(--inst-white);
    border-color: #b93939;
    background: #b93939;
}

.btn-outline-warning,
.btn.btn-outline-warning {
    color: #7f6200;
    border-color: #e9d382;
    background: #fffcee;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn.btn-outline-warning:hover,
.btn.btn-outline-warning:focus {
    color: #1f2b3d;
    border-color: var(--inst-yellow);
    background: var(--inst-yellow);
}

.btn-outline-success,
.btn.btn-outline-success {
    color: #1f7a4f;
    border-color: #9ad1b7;
    background: #f1fbf6;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn.btn-outline-success:hover,
.btn.btn-outline-success:focus {
    color: var(--inst-white);
    border-color: #1f7a4f;
    background: #1f7a4f;
}

.btn-link,
.btn.btn-link {
    color: var(--inst-blue);
    font-weight: 600;
    text-decoration: none;
}

.btn-link:hover,
.btn-link:focus,
.btn.btn-link:hover,
.btn.btn-link:focus {
    color: var(--inst-blue-2);
    text-decoration: underline;
}

.card {
    background: var(--inst-surface);
    border: 1px solid var(--inst-border);
    border-radius: 12px;
    box-shadow: var(--inst-shadow);
}

.card .card-header {
    background: #eef3fd;
    border-bottom: 1px solid var(--inst-border);
}

.card .card-header h5,
.card .card-header h6 {
    color: var(--inst-blue);
    font-weight: 700;
}

.card .card-body {
    background: var(--inst-surface);
}

.table thead th {
    background: #eaf1ff;
    color: var(--inst-text);
    border-bottom: 1px solid var(--inst-border);
}

.table td,
.table th {
    border-color: var(--inst-border);
    vertical-align: middle;
}

.table-bordered,
.table-bordered td,
.table-bordered th {
    border-color: var(--inst-border) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background: rgba(11, 61, 145, 0.03);
}

.badge-warning,
.badge.badge-warning {
    background: var(--inst-yellow);
    color: #1f2b3d;
}

.badge-primary,
.badge.badge-primary {
    background: var(--inst-blue);
}

.badge {
    border-radius: 999px;
    padding: 0.35em 0.6em;
}

.form-control,
.form-select,
select.form-control {
    border: 1px solid var(--inst-border);
    background: var(--inst-white);
    color: var(--inst-text);
}

label,
.form-label,
.theme-form label {
    color: #3f5378;
    font-weight: 600;
}

.form-control:focus,
.form-select:focus,
select.form-control:focus {
    border-color: var(--inst-blue-3);
    box-shadow: 0 0 0 0.2rem rgba(11, 61, 145, 0.15);
}

a {
    color: var(--inst-blue);
}

a:hover {
    color: var(--inst-blue-2);
}

.alert {
    border-radius: 10px;
    border-width: 1px;
}

.alert-success {
    color: #0f5132;
    background: #e9f8ef;
    border-color: #bde8cc;
}

.alert-danger {
    color: #842029;
    background: #fdecef;
    border-color: #f3c0c9;
}

.alert-warning {
    color: #664d03;
    background: #fff8e1;
    border-color: #f1df9e;
}

.alert-info {
    color: #055160;
    background: #e7f7fb;
    border-color: #b8e7f1;
}

.pagination .page-link {
    color: var(--inst-blue);
    border-color: var(--inst-border);
    background: var(--inst-white);
}

.pagination .page-item.active .page-link {
    color: var(--inst-white);
    background: var(--inst-blue);
    border-color: var(--inst-blue);
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    color: var(--inst-blue-2);
    background: #eff5ff;
    border-color: #b8cbed;
    box-shadow: none;
}

.nav-tabs .nav-link {
    color: #3f5378;
}

.nav-tabs .nav-link.active {
    color: var(--inst-blue);
    border-color: var(--inst-border) var(--inst-border) var(--inst-white);
    font-weight: 700;
}
