/* MyClinic brand palette, shared by public, authentication and role layouts. */
:root {
    --brand-navy: #0b3a60;
    --brand-teal: #147d92;
    --brand-aqua: #71c9c8;
    --primary-rgb: 20, 125, 146;
    --purple-rgb: 11, 58, 96; /* Compatibility with existing theme utilities. */
    --bs-primary: #147d92;
    --bs-primary-rgb: 20, 125, 146;
    --bs-link-color: #147d92;
    --bs-link-color-rgb: 20, 125, 146;
    --bs-link-hover-color: #0b3a60;
    --bs-link-hover-color-rgb: 11, 58, 96;
}
html:not([data-theme-mode="dark"]) {
    --body-bg-rgb: 240, 247, 248;
    --input-border: #dcebed;
}
[data-theme-mode="dark"] .text-primary { color: #71c9c8 !important; }
.public-brand img { background:#fff; object-fit:contain; }
/* Legacy action classes are still used by profile, booking and master forms. */
.btn.btn-info {
    --bs-btn-focus-shadow-rgb:20,125,146;
    color:#fff !important;
    background-color:#147d92 !important;
    border-color:#147d92 !important;
}
.btn.btn-info:hover, .btn.btn-info:active {
    background-color:#0b3a60 !important;
    border-color:#0b3a60 !important;
}
.btn.btn-secondary {
    --bs-btn-focus-shadow-rgb:20,125,146;
    color:#0b3a60 !important;
    background-color:#e8f6f5 !important;
    border-color:#aacdd1 !important;
}
.btn.btn-secondary:hover, .btn.btn-secondary:active {
    background-color:#d5eeec !important;
    border-color:#147d92 !important;
}
.table-primary {
    --bs-table-bg:#dcefed;
    --bs-table-color:#0b3a60;
    --bs-table-border-color:#b8d8d7;
    --bs-table-striped-bg:#d2e9e7;
    --bs-table-striped-color:#0b3a60;
    --bs-table-hover-bg:#cae4e2;
    --bs-table-hover-color:#0b3a60;
    --bs-table-active-bg:#cae4e2;
    --bs-table-active-color:#0b3a60;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color:#147d92;
    color:#fff;
}
.select2-container--default.select2-container--focus .select2-selection,
.select2-container .select2-selection:focus-visible,
.select2-search__field:focus,
.choices.is-focused .choices__inner {
    border-color:#147d92 !important;
    box-shadow:0 0 0 .2rem rgba(20,125,146,.25);
    outline-color:#147d92;
}
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange,
.flatpickr-calendar .flatpickr-day.selected:hover {
    background:#147d92;
    border-color:#147d92;
    color:#fff;
}
.flatpickr-calendar .flatpickr-day.today { border-color:#147d92; }
.flatpickr-calendar .flatpickr-day:not(.flatpickr-disabled):not(.selected):hover,
.flatpickr-calendar .flatpickr-day:not(.flatpickr-disabled):not(.selected):focus {
    background:#e8f6f5;
    border-color:#aacdd1;
    color:#0b3a60;
}
.flatpickr-calendar .flatpickr-prev-month:hover svg,
.flatpickr-calendar .flatpickr-next-month:hover svg { fill:#147d92; }
/* Print and filter-clear actions use the same brand palette. */
.btn.btn-receipt,
.btn[id*="Print"],
.btn[title^="Print"] {
    color:#fff !important;
    background-color:#0b3a60 !important;
    border-color:#0b3a60 !important;
}
.btn.btn-receipt:hover,
.btn[id*="Print"]:hover,
.btn[title^="Print"]:hover {
    background-color:#147d92 !important;
    border-color:#147d92 !important;
}
.btn#btnClear,
.btn#btnReset,
.btn[type="reset"] {
    color:#0b3a60 !important;
    background-color:#e8f6f5 !important;
    border-color:#aacdd1 !important;
}
.btn#btnClear:hover,
.btn#btnReset:hover,
.btn[type="reset"]:hover {
    background-color:#d5eeec !important;
    border-color:#147d92 !important;
}
/* Grid edit and status actions retain their existing handlers. */
.btn[title="Edit"] {
    color:#0b3a60 !important;
    background-color:#edf3f8 !important;
    border-color:#c8d9e5 !important;
}
.btn[title="Edit"]:hover,
.btn[title="Edit"]:focus-visible,
.btn[title="Edit"]:active {
    color:#fff !important;
    background-color:#0b3a60 !important;
    border-color:#0b3a60 !important;
}
button[title="Toggle Status"] {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:28px;
    padding:4px 10px;
    border:1px solid transparent;
    border-radius:6px !important;
    box-shadow:none !important;
    font-size:12px;
    font-weight:600;
    line-height:1.4;
    cursor:pointer;
}
button[title="Toggle Status"]::before {
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:currentColor;
}
button[title="Toggle Status"].btn-success {
    color:#126775 !important;
    background-color:#e5f4f2 !important;
    border-color:#b8ddda !important;
}
button[title="Toggle Status"].btn-success:hover {
    color:#fff !important;
    background-color:#147d92 !important;
    border-color:#147d92 !important;
}
button[title="Toggle Status"].btn-danger {
    color:#a33737 !important;
    background-color:#fff0f0 !important;
    border-color:#eccaca !important;
}
button[title="Toggle Status"].btn-danger:hover {
    background-color:#ffe1e1 !important;
    border-color:#cf8b8b !important;
}
button[title="Toggle Status"]:focus-visible {
    outline:2px solid #147d92;
    outline-offset:2px;
}
/* View actions in all grids, including dynamically loaded rows. */
.btn[title="View"] {
    color:#147d92 !important;
    background-color:#edf8f7 !important;
    border-color:#c5e4e3 !important;
}
.btn[title="View"]:hover,
.btn[title="View"]:focus-visible,
.btn[title="View"]:active {
    color:#fff !important;
    background-color:#147d92 !important;
    border-color:#147d92 !important;
}
/* Shared search, modal dismissal and keyboard-focus colors. */
.btn.btnSearch,
button.btn[id$="Search"] {
    background-color:#147d92 !important;
    border-color:#147d92 !important;
    color:#fff !important;
}
.btn.btnSearch:hover,
button.btn[id$="Search"]:hover {
    background-color:#0b3a60 !important;
    border-color:#0b3a60 !important;
}
.btn[data-bs-dismiss="modal"] {
    background-color:#e8f6f5 !important;
    border-color:#aacdd1 !important;
    color:#0b3a60 !important;
}
.btn[data-bs-dismiss="modal"]:hover {
    background-color:#d5eeec !important;
    border-color:#147d92 !important;
}
:root { --bs-focus-ring-color:rgba(20, 125, 146, .3); }
.btn:focus-visible,
.btn-close:focus,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.ajax-combobox-wrapper input.form-control:focus {
    border-color:#147d92 !important;
    box-shadow:0 0 0 .2rem rgba(20, 125, 146, .25) !important;
    outline-color:#147d92;
}
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
    outline-color:#147d92;
}
.public-site .action-book .action-icon { background:var(--brand-navy); }
.public-site .action-team { color:#125d68; background:#edf9f8; border-color:#b9dfdf; }
.public-site .action-team .action-icon { background:#147d92; }
.public-site .action-team .team-arrow { color:#147d92; }
.public-site .action-team:hover { color:#0b3a60; background:#def2f1; border-color:#71c9c8; }

/* Header and home hero actions share a clean, flat button treatment. */
.public-site .public-header .public-action,
.public-site .new-hero .public-action {
    min-height:48px;
    padding:12px 20px;
    gap:10px;
    border-radius:8px;
    box-shadow:none;
    font-weight:600;
}
.public-site .new-hero .public-action { min-height:54px; padding:14px 24px; }
.public-site .public-header .action-demo,
.public-site .new-hero .action-demo {
    background:#0b3a60;
    border-color:#0b3a60;
    color:#fff;
}
.public-site .public-header .action-demo:hover,
.public-site .new-hero .action-demo:hover { background:#125372; border-color:#125372; }
.public-site .public-header .action-book {
    background:#e8f6f5;
    border-color:#e8f6f5;
    color:#0b5965;
}
.public-site .public-header .action-book:hover { background:#d5eeec; border-color:#b1dcd8; }
.public-site .new-hero .action-team { background:#fff; border-color:#aacdd1; color:#0b5965; }
.public-site .new-hero .action-team:hover { background:#edf8f7; border-color:#147d92; }
.public-site .public-header .action-icon,
.public-site .new-hero .action-icon {
    width:22px;
    height:22px;
    background:transparent;
    color:inherit;
    box-shadow:none;
    border-radius:0;
    font-size:22px;
}
.public-site .public-header .action-arrow,
.public-site .new-hero .action-arrow {
    width:20px;
    height:22px;
    margin-left:4px;
    border:0;
    font-size:20px;
}
.public-site .new-hero .team-arrow { margin-left:2px; color:inherit; }
.public-site .new-hero .hero-actions { align-items:center; gap:12px; }
@media (min-width:992px) and (max-width:1199px) {
    .public-site .public-header .public-action { padding:10px 12px; gap:7px; }
}
