/* Titans HMO client portal brand theme. Loaded after vendor and page CSS. */
:root {
    --brand-primary: #8553F4;
    --brand-primary-hover: #7345DF;
    --brand-primary-dark: #6335CC;
    --brand-secondary: #EF399A;
    --brand-secondary-hover: #D92F89;
    --brand-tertiary: #F561AE;
    --brand-tertiary-hover: #E44F9E;
    --brand-primary-rgb: 133, 83, 244;
    --brand-secondary-rgb: 239, 57, 154;
    --brand-tertiary-rgb: 245, 97, 174;
    --brand-background: #F8F7FC;
    --brand-surface: #FFFFFF;
    --brand-text: #2D2A35;
    --brand-muted: #77727F;
    --brand-border: #E8E3F4;

    /* Compatibility aliases used by the existing client styles. */
    --primary: var(--brand-primary) !important;
    --primary-color: var(--brand-primary) !important;
    --primary-600: var(--brand-primary-hover) !important;
    --primary-700: var(--brand-primary-dark) !important;
    --primary-dark: var(--brand-primary-dark) !important;
    --primary-light: rgba(var(--brand-primary-rgb), .12) !important;
    --primary-soft: rgba(var(--brand-primary-rgb), .10) !important;
    --primary-bg: rgba(var(--brand-primary-rgb), .08) !important;
    --primary-gradient: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark)) !important;
    --secondary: var(--brand-secondary) !important;
    --secondary-600: var(--brand-secondary-hover) !important;
    --secondary-light: rgba(var(--brand-secondary-rgb), .12) !important;
    --secondary-gradient: linear-gradient(135deg, var(--brand-secondary), var(--brand-secondary-hover)) !important;
    --tertiary: var(--brand-tertiary) !important;
    --tertiary-600: var(--brand-tertiary-hover) !important;
    --tertiary-light: rgba(var(--brand-tertiary-rgb), .12) !important;
    --tertiary-gradient: linear-gradient(135deg, var(--brand-tertiary), var(--brand-tertiary-hover)) !important;
}

body { color: var(--brand-text); background-color: var(--brand-background); }
a { color: var(--brand-primary); }
a:hover, a:focus { color: var(--brand-secondary-hover); }

.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: var(--brand-primary-hover);
    border-color: var(--brand-primary-hover);
    box-shadow: 0 0 0 .2rem rgba(var(--brand-primary-rgb), .22);
}
.btn-brand-secondary { color: #fff; background: var(--brand-secondary); border-color: var(--brand-secondary); }
.btn-brand-secondary:hover, .btn-brand-secondary:focus { color: #fff; background: var(--brand-secondary-hover); border-color: var(--brand-secondary-hover); }
.btn-brand-tertiary { color: var(--brand-text); background: var(--brand-tertiary); border-color: var(--brand-tertiary); }
.btn-brand-tertiary:hover, .btn-brand-tertiary:focus { color: var(--brand-text); background: var(--brand-tertiary-hover); border-color: var(--brand-tertiary-hover); }
.bg-primary { background-color: var(--brand-primary) !important; }
.text-primary { color: var(--brand-primary) !important; }
.border-primary { border-color: var(--brand-primary) !important; }
.badge-primary { color: #fff; background-color: var(--brand-primary); }

.form-control:focus, .custom-select:focus, .form-select:focus,
.bootstrap-select .dropdown-toggle:focus, .dataTables_filter input:focus,
.dataTables_length select:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--brand-primary-rgb), .15);
    outline: 0;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--brand-primary); }
.custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--brand-primary);
    background-color: var(--brand-primary);
}

.card, .modal-content { border-color: var(--brand-border); }
.card-header, .modal-header { border-bottom-color: var(--brand-border); }
.card-header h1, .card-header h2, .card-header h3,
.card-header h4, .card-header h5, .card-title { color: var(--brand-primary-dark); }
.modal-header { box-shadow: inset 0 3px 0 var(--brand-tertiary); }

.page-item.active .page-link,
.pagination .active > a, .pagination .active > span,
table.dataTable tbody tr.selected {
    color: #fff;
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}
.page-link { color: var(--brand-primary); }
.page-link:focus { box-shadow: 0 0 0 .2rem rgba(var(--brand-primary-rgb), .15); }
table.dataTable thead th { border-bottom-color: var(--brand-primary); }

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default .select2-selection--single:focus { border-color: var(--brand-primary); }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #fff; background-color: var(--brand-primary);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    color: #fff; background-color: var(--brand-primary); border-color: var(--brand-primary-dark);
}

.nav-tabs { border-bottom-color: var(--brand-border); }
.nav-tabs .nav-link.active { color: var(--brand-primary); border-color: var(--brand-border) var(--brand-border) #fff; box-shadow: inset 0 -3px var(--brand-secondary); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; background-color: var(--brand-primary); }

/* Existing client portal shell. */
.sidebar { background: linear-gradient(180deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%) !important; }
.sidebar .nav-link { color: rgba(255,255,255,.88) !important; }
.sidebar .nav-link:hover { color: #fff !important; background: rgba(255,255,255,.12) !important; }
.sidebar .nav-link.active { color: #fff !important; background: var(--brand-secondary) !important; }
.sidebar .nav-group-label, .sidebar-footer { color: rgba(255,255,255,.72) !important; }
.sidebar-header { border-bottom-color: rgba(255,255,255,.16) !important; }
.sidebar-toggle, .mobile-toggle, .notification-btn { color: var(--brand-primary); }
.notification-badge { background-color: var(--brand-secondary) !important; }
.main-header { border-bottom-color: var(--brand-border); }
.profile-menu-item:hover { background: rgba(var(--brand-primary-rgb), .08); color: var(--brand-primary); }

.progress-bar { background-color: var(--brand-primary); }
.progress-fill:not(.success):not(.warning):not(.danger) { background: linear-gradient(90deg, var(--brand-primary), var(--brand-secondary)); }

@media print {
    a, .card-title { color: var(--brand-primary-dark) !important; }
    .sidebar, .main-header { display: none !important; }
}
