/* =========================================================
   RINTIS — Navy-Silver Theme  (comprehensive post-login)
   ========================================================= */

:root {
    /* Navy palette */
    --navy-dark: #0a1628;
    --navy: #1b2a4a;
    --navy-light: #2c3e6b;
    --navy-mid: #1e3355;

    /* Silver palette */
    --silver: #c0c8d8;
    --silver-light: #e8ecf2;
    --silver-bright: #f4f6f9;

    /* Accent */
    --accent-gold: #c9a84c;
}

/* ---- Links ---- */
.btn-link,
a {
    color: var(--navy);
}

.btn-link:hover,
a:hover {
    color: var(--navy-light);
}

/* ---- Dropdowns ---- */
.dropdown-item.active,
.dropdown-item:active {
    color: #fff;
    background-color: var(--navy);
}

/* ---- Primary background ---- */
.bg-primary {
    background-color: var(--navy) !important;
    transition: none;
}

.bg-navy {
    background-color: var(--navy) !important;
}

/* ---- Outline primary ---- */
.btn-outline-primary {
    color: var(--navy);
    border-color: var(--navy);
    transition: none;
}

/* ---- Primary buttons ---- */
.btn-primary,
.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--navy);
    border-color: var(--navy);
    transition: all .2s ease;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-primary:hover,
button.bg-primary:focus,
button.bg-primary.focus,
button.bg-primary:hover {
    color: #fff;
    background-color: var(--navy-light) !important;
    border-color: var(--navy-light);
    box-shadow: 0 0 0 .2rem rgba(27, 42, 74, .35);
}

.bg-primary.btn.active,
.bg-primary.btn:active,
.bg-primary.btn:not(:disabled):not(.disabled).active,
.bg-primary.btn:not(:disabled):not(.disabled):active,
.btn-primary.btn.active,
.btn-primary.btn:active,
.btn-primary.btn:not(:disabled):not(.disabled).active,
.btn-primary.btn:not(:disabled):not(.disabled):active,
.btn-outline-primary.btn.active,
.btn-outline-primary.btn:active,
.btn-outline-primary.btn:not(:disabled):not(.disabled).active,
.btn-outline-primary.btn:not(:disabled):not(.disabled):active {
    color: #fff;
    background-color: var(--navy-dark) !important;
    border-color: var(--navy-dark);
}

/* ============================================================
   NAVBAR  — gradient navy top bar
   ============================================================ */
.main-header.navbar {
    background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 60%, var(--navy-light) 100%);
    border-bottom: 1px solid rgba(192, 200, 216, .12);
    box-shadow: 0 2px 8px rgba(10, 22, 40, .15);
}

.main-header .nav-link {
    color: var(--silver) !important;
    transition: color .2s;
}

.main-header .nav-link:hover {
    color: #fff !important;
}

.main-header .nav-item.active .nav-link {
    color: #fff !important;
    font-weight: 600;
}

/* ============================================================
   SIDEBAR  — deep navy gradient
   ============================================================ */
.main-sidebar {
    background: linear-gradient(180deg, var(--navy-dark) 0%, var(--navy) 100%) !important;
    border-right: 1px solid rgba(192, 200, 216, .08);
}

.main-sidebar .brand-link {
    background: rgba(0, 0, 0, .15) !important;
    border-bottom: 1px solid rgba(192, 200, 216, .1);
    color: #fff;
}

.main-sidebar .brand-text {
    color: var(--silver-light) !important;
    letter-spacing: .5px;
}

.main-sidebar .brand-image {
    max-height: 33px;
}

/* Sidebar nav items */
.sidebar .nav-link {
    color: var(--silver) !important;
    border-radius: 6px;
    margin: 2px 8px;
    transition: all .2s ease;
}

.sidebar .nav-link:hover {
    background: rgba(192, 200, 216, .1) !important;
    color: #fff !important;
}

.sidebar .nav-link.active {
    background: var(--navy-light) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.sidebar .nav-link .nav-icon {
    color: var(--silver) !important;
    transition: color .2s;
}

.sidebar .nav-link:hover .nav-icon,
.sidebar .nav-link.active .nav-icon {
    color: #fff !important;
}

/* Sidebar headers */
.sidebar .nav-header {
    color: var(--silver) !important;
    text-transform: uppercase;
    font-size: .7rem;
    letter-spacing: 1.5px;
    padding: 1rem .5rem .4rem 1.2rem;
    opacity: .65;
}

/* Sidebar user panel */
.sidebar .user-panel {
    border-bottom: 1px solid rgba(192, 200, 216, .1);
}

.sidebar .user-panel .info a {
    color: var(--silver-light) !important;
}

/* Sidebar scrollbar */
.sidebar {
    scrollbar-color: var(--navy-light) transparent;
}

/* ============================================================
   CONTENT AREA
   ============================================================ */
.content-wrapper {
    background: var(--silver-bright) !important;
}

/* ============================================================
   PAGE HEADER  — section title area
   ============================================================ */
.content-header {
    background: transparent;
}

.content-header h1 {
    color: var(--navy);
    font-weight: 700;
}

/* ============================================================
   CARDS  — refined silver accents
   ============================================================ */
.card {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(10, 22, 40, .06) !important;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease;
}

.card:hover {
    box-shadow: 0 4px 20px rgba(10, 22, 40, .1) !important;
}

.wrapper .card-header,
.content-wrapper .card-header,
.card-header {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%) !important;
    color: #fff !important;
    border-bottom: none !important;
    padding: .8rem 1.2rem !important;
    position: relative;
}

.wrapper .card-header .card-title,
.content-wrapper .card-header .card-title,
.card-header .card-title {
    color: #fff !important;
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .3px;
}

.wrapper .card-header .btn,
.content-wrapper .card-header .btn {
    position: relative;
    z-index: 1;
}

/* Card header decorative border */
.card-header::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--silver), transparent);
    opacity: .3;
}

.card-body {
    padding: 1.2rem;
    background: #fff;
}

.card-footer {
    background: var(--silver-bright) !important;
    border-top: 1px solid var(--silver-light) !important;
}

/* ============================================================
   FORMS — navy-silver styled inputs
   ============================================================ */
.content-wrapper .form-control,
.wrapper .form-control {
    border: 1px solid var(--silver) !important;
    border-radius: 8px !important;
    padding: .5rem .85rem;
    transition: border-color .2s, box-shadow .2s;
    background: #fff !important;
    color: var(--navy-dark) !important;
}

.content-wrapper .form-control:focus,
.wrapper .form-control:focus {
    border-color: var(--navy-light) !important;
    box-shadow: 0 0 0 .2rem rgba(27, 42, 74, .12) !important;
}

.content-wrapper .form-control::placeholder {
    color: #9aa5b4;
}

.content-wrapper label,
.content-wrapper .form-group label {
    color: var(--navy) !important;
    font-weight: 600;
    font-size: .85rem;
    margin-bottom: .3rem;
}

.content-wrapper select.form-control {
    appearance: auto;
}

/* Custom select2 for navy */
.select2-container--bootstrap4 .select2-selection--single {
    border-color: var(--silver) !important;
    border-radius: 8px !important;
}

.select2-container--bootstrap4 .select2-selection--single:focus {
    border-color: var(--navy-light) !important;
    box-shadow: 0 0 0 .2rem rgba(27, 42, 74, .12) !important;
}

.select2-container--bootstrap4 .select2-results__option--highlighted {
    background-color: var(--navy) !important;
    color: #fff !important;
}

/* ============================================================
   TABLES — elegant silver-striped tables
   ============================================================ */
.content-wrapper .table,
.wrapper .table {
    border-collapse: separate;
    border-spacing: 0;
}

.content-wrapper .table thead th,
.wrapper .table thead th {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    border: none !important;
    padding: .75rem 1rem;
}

.content-wrapper .table thead th:first-child {
    border-radius: 8px 0 0 0;
}

.content-wrapper .table thead th:last-child {
    border-radius: 0 8px 0 0;
}

.content-wrapper .table tbody td,
.wrapper .table tbody td {
    border-top: 1px solid var(--silver-light) !important;
    padding: .7rem 1rem;
    color: var(--navy-dark);
    vertical-align: middle;
    background: #fff;
}

.content-wrapper .table-striped tbody tr:nth-of-type(odd) td,
.wrapper .table-striped tbody tr:nth-of-type(odd) td {
    background-color: rgba(232, 236, 242, .3) !important;
}

.content-wrapper .table-striped tbody tr:nth-of-type(even) td,
.wrapper .table-striped tbody tr:nth-of-type(even) td {
    background-color: #fff !important;
}

.content-wrapper .table tbody tr:hover td,
.wrapper .table tbody tr:hover td {
    background-color: rgba(27, 42, 74, .06) !important;
}

/* ============================================================
   DATATABLES refinements
   ============================================================ */
table.dataTable {
    border-collapse: separate !important;
    border-spacing: 0 4px;
}

table.dataTable thead th {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    border: none !important;
    padding: .75rem 1rem;
}

table.dataTable tbody td {
    background: #fff;
    padding: .7rem 1rem;
    border-top: 1px solid var(--silver-light);
}

table.dataTable tbody tr:nth-of-type(odd) td {
    background: rgba(232, 236, 242, .3);
}

table.dataTable tbody tr:hover td {
    background: rgba(27, 42, 74, .06) !important;
}

.dataTables_wrapper .dataTables_filter input {
    padding: .4rem .75rem;
    border-radius: 8px;
    border: 1px solid var(--silver);
}

.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--navy-light);
    box-shadow: 0 0 0 .2rem rgba(27, 42, 74, .12);
    outline: none;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin: 10px 15px;
}

.dataTables_wrapper .dataTables_paginate {
    margin: 10px 15px;
}

.dataTables_wrapper .dataTables_info {
    margin: 10px 15px;
    color: var(--navy);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--navy) !important;
    color: #fff !important;
    border: 1px solid var(--navy) !important;
    border-radius: 6px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--silver-light) !important;
    color: var(--navy) !important;
    border: 1px solid var(--silver) !important;
}

/* ============================================================
   BUTTONS — navy-silver button palette
   ============================================================ */
.btn {
    border-radius: 6px;
    font-weight: 500;
    transition: all .2s ease;
    letter-spacing: .2px;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(10, 22, 40, .15);
}

.btn-success {
    background: linear-gradient(135deg, #0d7a3e, #15a856);
    border-color: #0d7a3e;
}

.btn-success:hover {
    background: linear-gradient(135deg, #15a856, #1cc565) !important;
    border-color: #15a856;
}

.btn-danger {
    background: linear-gradient(135deg, #8b1a1a, #c0392b);
    border-color: #8b1a1a;
}

.btn-danger:hover {
    background: linear-gradient(135deg, #c0392b, #e74c3c) !important;
    border-color: #c0392b;
}

.btn-warning {
    background: linear-gradient(135deg, #b8860b, #d4a017);
    border-color: #b8860b;
    color: #fff;
}

.btn-warning:hover {
    background: linear-gradient(135deg, #d4a017, #e6b422) !important;
    border-color: #d4a017;
    color: #fff;
}

.btn-outline-secondary {
    color: var(--navy);
    border-color: var(--silver);
}

.btn-outline-secondary:hover {
    background: var(--silver-light);
    border-color: var(--silver);
    color: var(--navy);
}

.btn-info {
    background: linear-gradient(135deg, var(--navy), var(--navy-light));
    border-color: var(--navy);
}

.btn-info:hover {
    background: linear-gradient(135deg, var(--navy-light), #3d5291) !important;
    border-color: var(--navy-light);
}

/* ============================================================
   BADGES
   ============================================================ */
.badge-primary {
    background-color: var(--navy);
}

.badge-info {
    background-color: var(--navy-light);
}

.badge-success {
    background: linear-gradient(135deg, #0d7a3e, #15a856);
}

.badge-danger {
    background: linear-gradient(135deg, #8b1a1a, #c0392b);
}

.badge-warning {
    background: linear-gradient(135deg, #b8860b, #d4a017);
    color: #fff;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.page-item.active .page-link {
    background-color: var(--navy);
    border-color: var(--navy);
}

.page-link {
    color: var(--navy);
    border-radius: 6px;
    margin: 0 2px;
}

.page-link:hover {
    color: var(--navy-light);
    background: var(--silver-light);
}

/* ============================================================
   TOAST / ALERT overrides
   ============================================================ */
.toast-header {
    background: var(--navy);
    color: #fff;
}

.alert-info {
    background-color: rgba(27, 42, 74, .08);
    border-color: rgba(27, 42, 74, .15);
    color: var(--navy);
}

/* ============================================================
   MODAL
   ============================================================ */
.modal-header {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    color: #fff;
    border-bottom: none;
}

.modal-header .close {
    color: #fff;
    opacity: .7;
}

.modal-header .close:hover {
    opacity: 1;
}

.modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(10, 22, 40, .2);
    overflow: hidden;
}

/* ============================================================
   LOGIN / REGISTER  — immersive navy-silver
   ============================================================ */
body.login-page,
body.register-page {
    background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 50%, var(--navy-light) 100%) !important;
    min-height: 100vh;
}

.login-card,
.login-form-container {
    background: rgba(255, 255, 255, .06);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(192, 200, 216, .18);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .35);
}

.login-card .form-control,
.login-form-container .form-control {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(192, 200, 216, .2);
    color: #fff;
    border-radius: 8px;
}

.login-card .form-control::placeholder,
.login-form-container .form-control::placeholder {
    color: var(--silver);
}

.login-card .form-control:focus,
.login-form-container .form-control:focus {
    background: rgba(255, 255, 255, .12);
    border-color: var(--silver);
    box-shadow: 0 0 0 .2rem rgba(192, 200, 216, .15);
    color: #fff;
}

/* ============================================================
   STAT CARDS (dashboard fragments)
   ============================================================ */
.stat-card-navy {
    background: linear-gradient(135deg, var(--navy), var(--navy-light)) !important;
    color: #fff;
    border-radius: 12px;
}

.stat-card-silver {
    background: var(--silver-light) !important;
    color: var(--navy);
    border-radius: 12px;
}

.stat-card-success {
    background: linear-gradient(135deg, #0d7a3e, #15a856) !important;
    color: #fff;
    border-radius: 12px;
}

.stat-card-warning {
    background: linear-gradient(135deg, #b8860b, #d4a017) !important;
    color: #fff;
    border-radius: 12px;
}

.stat-card-danger {
    background: linear-gradient(135deg, #8b1a1a, #c0392b) !important;
    color: #fff;
    border-radius: 12px;
}

/* ============================================================
   DASHBOARD CARDS  — premium rounded white cards on silver bg
   ============================================================ */
.content-wrapper .rounded-2xl {
    border-radius: 12px !important;
    border: 1px solid rgba(192, 200, 216, .2);
}

/* Skeleton shimmer in navy */
.skeleton {
    background: var(--silver-light) !important;
}

.skeleton::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .8), transparent) !important;
}

/* ============================================================
   TEXT UTILITIES
   ============================================================ */
.text-navy {
    color: var(--navy) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--navy-dark);
}

.content-wrapper h1,
.content-wrapper h2,
.content-wrapper h3 {
    color: var(--navy);
}

/* ============================================================
   SCROLL BAR (webkit)
   ============================================================ */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--silver-bright);
}

::-webkit-scrollbar-thumb {
    background: var(--silver);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--navy-light);
}

/* ============================================================
   MISC  — micro-animations
   ============================================================ */
.nav-link {
    transition: all .2s ease;
}

.wrapper {
    min-height: 100vh;
}