/* HIMS theme switcher: Light (default), Dark, Golden, Ocean, Emerald, Royal, Rose.
   The theme is a data-hims-theme attribute on <html>, set by js/hims-themes.js. Light = no attribute = untouched look. */

/* ---- switcher widget (all themes) ---- */
.hims-ts { display:inline-block; position:relative; vertical-align:middle; margin:0 10px; font-weight:normal; text-align:left; z-index:50; }
.hims-ts-btn {
    display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 12px; border-radius:18px; cursor:pointer;
    font-size:13px; font-weight:600; color:#fff; border:1px solid rgba(255,255,255,.55);
    background:linear-gradient(135deg,#1c6f8c,#2aa6c9); box-shadow:0 3px 8px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.4);
    transition:transform .15s, box-shadow .15s;
}
.hims-ts-btn:hover { transform:translateY(-1px); box-shadow:0 5px 12px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.4); }
.hims-ts-dot { width:14px; height:14px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.3); background:var(--ts-dot,#2aa6c9); }
.hims-ts-menu {
    display:none; position:absolute; right:0; top:42px; width:230px; padding:10px; border-radius:14px;
    background:#fff; color:#222; border:1px solid #d5dde3; box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.hims-ts.open .hims-ts-menu { display:block; }
.hims-ts-title { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#777; margin:2px 4px 8px; }
.hims-ts-item {
    display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; margin:0 0 4px; border-radius:10px; cursor:pointer;
    border:1px solid transparent; background:transparent; color:inherit; font-size:14px; text-align:left;
}
.hims-ts-item:hover { background:rgba(128,128,128,.14); }
.hims-ts-item.active { border-color:#2aa6c9; background:rgba(42,166,201,.12); font-weight:700; }
.hims-ts-sw { flex:0 0 38px; height:24px; border-radius:7px; border:1px solid rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; font-size:12px; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.6); }
.hims-ts-item[data-theme=light] .hims-ts-sw { color:#1c6f8c; text-shadow:none; }
.hims-ts-check { margin-left:auto; visibility:hidden; }
.hims-ts-item.active .hims-ts-check { visibility:visible; }

/* ---- shared variables per theme ---- */
html[data-hims-theme] {
    --bg:#f4f6f8; --surface:#ffffff; --surface2:#eef1f4; --text:#1f2933; --muted:#6b7785; --border:#cfd6dd;
    --accent:#1c6f8c; --accent2:#2aa6c9; --accent-text:#fff; --head:#78F5F3; --head-text:#111; --link:#0a5c7a; --hover:#e6eef3;
}
html[data-hims-theme="dark"]    { color-scheme:dark; --bg:#0f141a; --surface:#1a222b; --surface2:#222c37; --text:#e6edf3; --muted:#93a1b0; --border:#34414f; --accent:#3b9cc0; --accent2:#5cc4e8; --accent-text:#06161d; --head:#141b22; --head-text:#e6edf3; --link:#6cc7ea; --hover:#2a3744; }
html[data-hims-theme="golden"]  { --bg:#fbf4e1; --surface:#fffaf0; --surface2:#f5e8c4; --text:#3a2b07; --muted:#8a6d1f; --border:#dcc27a; --accent:#b8860b; --accent2:#e6b422; --accent-text:#fff; --head:linear-gradient(90deg,#8a6508,#d4a017 45%,#f6d365 100%); --head-text:#2a1d00; --link:#8a5a00; --hover:#f3e2a8; }
html[data-hims-theme="ocean"]   { --bg:#e9f3fa; --surface:#ffffff; --surface2:#d9eaf6; --text:#0d2a3d; --muted:#4f7389; --border:#a9cbe0; --accent:#0b6fb3; --accent2:#22a0e6; --accent-text:#fff; --head:linear-gradient(90deg,#0b4f86,#1e90d6); --head-text:#fff; --link:#0b5f9c; --hover:#cfe5f4; }
html[data-hims-theme="emerald"] { --bg:#e8f5ee; --surface:#ffffff; --surface2:#d3ecdd; --text:#0f2f20; --muted:#4c7a62; --border:#a4d1b8; --accent:#0f8a55; --accent2:#2fc27f; --accent-text:#fff; --head:linear-gradient(90deg,#0a6b42,#2fc27f); --head-text:#fff; --link:#0b6f45; --hover:#c5e6d4; }
html[data-hims-theme="royal"]   { --bg:#f0ecf9; --surface:#ffffff; --surface2:#e2daf3; --text:#241a3f; --muted:#6b5c96; --border:#c3b6e3; --accent:#6a3fc4; --accent2:#9a6bf0; --accent-text:#fff; --head:linear-gradient(90deg,#472a8f,#8a5be0); --head-text:#fff; --link:#5a30b0; --hover:#ddd2f4; }
html[data-hims-theme="rose"]    { --bg:#fdeef2; --surface:#ffffff; --surface2:#f8d9e2; --text:#3a1020; --muted:#8f4b60; --border:#eab3c4; --accent:#d1366a; --accent2:#f06292; --accent-text:#fff; --head:linear-gradient(90deg,#a8234f,#f06292); --head-text:#fff; --link:#b02358; --hover:#f6cddb; }

/* ---- page chrome (all non-light themes) ---- */
html[data-hims-theme] body { background:var(--bg) !important; color:var(--text) !important; background-image:none !important; }
html[data-hims-theme] #container, html[data-hims-theme] #content { background:transparent !important; }
html[data-hims-theme] .rowedit { background:var(--head) !important; color:var(--head-text) !important; border-bottom:2px solid var(--accent) !important; box-shadow:0 3px 10px rgba(0,0,0,.25); }
html[data-hims-theme] .rowedit, html[data-hims-theme] .rowedit i, html[data-hims-theme] .rowedit a, html[data-hims-theme] .rowedit span { color:var(--head-text); }
html[data-hims-theme] .rowedit .fa-bell, html[data-hims-theme] .rowedit .fa-whatsapp { color:inherit; }
html[data-hims-theme] .rowedit .chip { background:var(--surface) !important; color:var(--text) !important; border:1px solid var(--border); }
html[data-hims-theme] .rowedit .chip span, html[data-hims-theme] .rowedit .chip i { color:var(--text); }
html[data-hims-theme] a { color:var(--link); }
html[data-hims-theme] a:hover { color:var(--accent2); }
html[data-hims-theme] hr { border-color:var(--border); }
html[data-hims-theme] h1, html[data-hims-theme] h2, html[data-hims-theme] h3, html[data-hims-theme] h4, html[data-hims-theme] h5, html[data-hims-theme] h6,
html[data-hims-theme] label, html[data-hims-theme] legend { color:var(--text); border-color:var(--border); }
html[data-hims-theme] .text-muted, html[data-hims-theme] small { color:var(--muted); }

/* surfaces */
html[data-hims-theme] .panel, html[data-hims-theme] .well, html[data-hims-theme] .box, html[data-hims-theme] .card,
html[data-hims-theme] .modal-content, html[data-hims-theme] .popover, html[data-hims-theme] .list-group-item,
html[data-hims-theme] .dropdown-menu, html[data-hims-theme] .ui-widget-content, html[data-hims-theme] .ui-dialog,
html[data-hims-theme] .swal2-popup, html[data-hims-theme] #module_panel, html[data-hims-theme] #module_results {
    background:var(--surface) !important; color:var(--text) !important; border-color:var(--border) !important;
}
html[data-hims-theme] .panel-heading, html[data-hims-theme] .modal-header, html[data-hims-theme] .modal-footer,
html[data-hims-theme] .panel-footer, html[data-hims-theme] .ui-widget-header, html[data-hims-theme] .ui-dialog-titlebar {
    background:var(--surface2) !important; color:var(--text) !important; border-color:var(--border) !important;
}
html[data-hims-theme] .panel-primary > .panel-heading, html[data-hims-theme] .panel-info > .panel-heading,
html[data-hims-theme] .panel-success > .panel-heading { background:var(--accent) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .swal2-title, html[data-hims-theme] .swal2-html-container, html[data-hims-theme] .swal2-content { color:var(--text) !important; }
html[data-hims-theme] .close { color:var(--text); text-shadow:none; }
html[data-hims-theme] .dropdown-menu > li > a, html[data-hims-theme] #module_panel .mp-name { color:var(--text) !important; }
html[data-hims-theme] .dropdown-menu > li > a:hover, html[data-hims-theme] #module_panel a:hover { background:var(--hover) !important; }
html[data-hims-theme] #module_panel .mp-ico { color:var(--accent); }
html[data-hims-theme] #module_panel .mp-empty { color:var(--muted); }

/* inline light backgrounds used all over the old templates */
html[data-hims-theme] [style*="rgb(210, 238, 236)"], html[data-hims-theme] [style*="#D0D0D0"], html[data-hims-theme] [style*="#d0d0d0"],
html[data-hims-theme] [style*="background-color:#fff"], html[data-hims-theme] [style*="background-color: #fff"],
html[data-hims-theme] [style*="background-color:white"], html[data-hims-theme] [style*="background-color: white"],
html[data-hims-theme] [style*="background:#fff"], html[data-hims-theme] [style*="background: #fff"],
html[data-hims-theme] [style*="background-color:#ffffff"], html[data-hims-theme] [style*="background-color: #ffffff"] {
    background-color:var(--surface) !important; color:var(--text) !important;
}

/* tables */
html[data-hims-theme] .table, html[data-hims-theme] table.dataTable, html[data-hims-theme] table { color:var(--text); border-color:var(--border); }
html[data-hims-theme] .table > thead > tr > th, html[data-hims-theme] table thead th, html[data-hims-theme] table th {
    background:var(--accent) !important; color:var(--accent-text) !important; border-color:var(--border) !important;
}
html[data-hims-theme] .table > tbody > tr > td, html[data-hims-theme] table td { background-color:transparent; color:var(--text); border-color:var(--border) !important; }
/* radiology desk: a cell with its own colour is showing a status or the selected row, so zebra and hover leave it alone */
html[data-hims-theme]:not(.rad-modern) .table-striped > tbody > tr:nth-of-type(odd), html[data-hims-theme]:not(.rad-modern) table tr:nth-child(even) > td,
html[data-hims-theme].rad-modern table tr:nth-child(even) > td:not([style*="background"]) { background-color:var(--surface2) !important; }
html[data-hims-theme]:not(.rad-modern) .table-hover > tbody > tr:hover > td, html[data-hims-theme]:not(.rad-modern) table tr:hover > td,
html[data-hims-theme].rad-modern table tr:hover > td:not([style*="background"]) { background-color:var(--hover) !important; }

/* forms */
html[data-hims-theme] .form-control:not(html.rad-modern button.btn-sm), html[data-hims-theme] input[type=text], html[data-hims-theme] input[type=number],
html[data-hims-theme] input[type=password], html[data-hims-theme] input[type=email], html[data-hims-theme] input[type=date],
html[data-hims-theme] input[type=search], html[data-hims-theme] input[type=tel], html[data-hims-theme] input[type=time],
html[data-hims-theme] select, html[data-hims-theme] textarea, html[data-hims-theme] .select2-container--default .select2-selection--single,
html[data-hims-theme] .select2-container--default .select2-selection--multiple, html[data-hims-theme] .select2-dropdown, html[data-hims-theme] .input-group-addon {
    background-color:var(--surface) !important; color:var(--text) !important; border-color:var(--border) !important;
}
html[data-hims-theme] .form-control:focus, html[data-hims-theme] input:focus, html[data-hims-theme] select:focus, html[data-hims-theme] textarea:focus {
    border-color:var(--accent2) !important; box-shadow:0 0 0 3px rgba(128,128,128,.22) !important; outline:0;
}
html[data-hims-theme] .form-control[readonly], html[data-hims-theme] .form-control[disabled], html[data-hims-theme] input[readonly] { background-color:var(--surface2) !important; }
html[data-hims-theme] ::placeholder { color:var(--muted) !important; opacity:.85; }
html[data-hims-theme] .select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--text); }
html[data-hims-theme] .select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--accent) !important; color:var(--accent-text) !important; }

/* buttons without their own inline colour */
html[data-hims-theme] .btn-default { background:var(--surface2); color:var(--text); border-color:var(--border); }
html[data-hims-theme] .btn-primary, html[data-hims-theme] .btn-info { background:var(--accent) !important; border-color:var(--accent) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .btn-primary:hover, html[data-hims-theme] .btn-info:hover { background:var(--accent2) !important; border-color:var(--accent2) !important; }

/* tabs, pagination, jquery-ui, datepicker */
html[data-hims-theme] .nav-tabs { border-color:var(--border); }
html[data-hims-theme] .nav-tabs > li > a { color:var(--text); }
html[data-hims-theme] .nav-tabs > li.active > a, html[data-hims-theme] .nav-tabs > li.active > a:hover { background:var(--surface) !important; color:var(--accent) !important; border-color:var(--border) !important; }
html[data-hims-theme] .pagination > li > a, html[data-hims-theme] .pagination > li > span { background:var(--surface); color:var(--text); border-color:var(--border); }
html[data-hims-theme] .pagination > .active > a { background:var(--accent) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .datepicker, html[data-hims-theme] .bootstrap-datetimepicker-widget, html[data-hims-theme] .ui-datepicker { background:var(--surface) !important; color:var(--text) !important; }
html[data-hims-theme] .ui-state-default, html[data-hims-theme] .ui-widget-content .ui-state-default { background:var(--surface2) !important; color:var(--text) !important; border-color:var(--border) !important; }
html[data-hims-theme] .ui-state-active, html[data-hims-theme] .ui-state-hover { background:var(--accent) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .ui-autocomplete { background:var(--surface) !important; color:var(--text) !important; }

/* footer bar */
html[data-hims-theme] #footer, html[data-hims-theme] footer { background:var(--surface2) !important; color:var(--text) !important; }

/* switcher menu follows the theme */
html[data-hims-theme] .hims-ts-menu { background:var(--surface); color:var(--text); border-color:var(--border); }
html[data-hims-theme] .hims-ts-btn { background:linear-gradient(135deg,var(--accent),var(--accent2)); color:var(--accent-text); border-color:rgba(255,255,255,.55); }
html[data-hims-theme] .hims-ts-item.active { border-color:var(--accent2); }
html[data-hims-theme="dark"] .hims-ts-btn { color:#06161d; }

/* login page floating switcher */
.hims-ts-float { position:fixed; top:12px; right:14px; z-index:9999; margin:0; }

/* ---- icons and coloured controls follow the theme ---- */
html[data-hims-theme] .fa, html[data-hims-theme] .fas, html[data-hims-theme] .fa-solid, html[data-hims-theme] .far, html[data-hims-theme] .fa-regular { color:inherit; }
html[data-hims-theme] #content .fa:not([style*="color"]), html[data-hims-theme] #content .fa-solid:not([style*="color"]),
html[data-hims-theme] #content .fas:not([style*="color"]), html[data-hims-theme] #content .far:not([style*="color"]) { color:var(--accent); }
html[data-hims-theme] #content i[style*="color"]:not(.fa-whatsapp):not(.fa-bell) { color:var(--accent) !important; }
html[data-hims-theme] .rowedit .fa:not(.fa-whatsapp), html[data-hims-theme] .rowedit .fa-solid { color:var(--head-text) !important; }
html[data-hims-theme] .rowedit .chip i { color:var(--accent) !important; }
html[data-hims-theme] .rowedit .acti button[title=Home] { background:var(--accent) !important; }
html[data-hims-theme] .rowedit .acti button[title=Refresh] { background:var(--accent2) !important; }
html[data-hims-theme] .rowedit .acti button i { color:#fff !important; }
html[data-hims-theme] .hims-ts-btn i, html[data-hims-theme] .rowedit .hims-ts-btn i { color:var(--accent-text) !important; }
html[data-hims-theme] .hims-ts-item .hims-ts-sw i { color:#fff !important; }
html[data-hims-theme] .hims-ts-item[data-theme=light] .hims-ts-sw i { color:#1c6f8c !important; }
html[data-hims-theme] .hims-ts-check { color:var(--accent) !important; }
/* buttons and badges that carry their own inline colour */
html[data-hims-theme] #content button[style*="background"]:not(.hims-ts-btn):not([title=Logout]):not(html.rad-modern .btn-sm.form-control),
html[data-hims-theme] #content .action-btn, html[data-hims-theme] #content input[type=submit], html[data-hims-theme] #content input[type=button] {
    background:linear-gradient(135deg,var(--accent),var(--accent2)) !important; color:var(--accent-text) !important; border-color:var(--accent) !important;
}
html[data-hims-theme] #content .btn-success, html[data-hims-theme] #content .btn-warning { background:var(--accent2) !important; border-color:var(--accent2) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .label, html[data-hims-theme] .badge { background:var(--accent) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .alert { background:var(--surface2) !important; color:var(--text) !important; border-color:var(--border) !important; }
/* module tiles and cards on the sign-in page */
html[data-hims-theme] #module_panel .mp-card, html[data-hims-theme] .mp-card { background:var(--surface) !important; border-color:var(--border) !important; box-shadow:0 2px 8px rgba(0,0,0,.18); }
html[data-hims-theme] #module_panel .mp-card:hover { background:var(--hover) !important; border-color:var(--accent2) !important; }
html[data-hims-theme] .mp-card .mp-ico i { color:var(--accent) !important; }
html[data-hims-theme] #content a[style*="color"], html[data-hims-theme] #content span[style*="color:#000"], html[data-hims-theme] #content span[style*="color: #000"] { color:var(--text); }
/* dark: keep logos and photos readable */
html[data-hims-theme="dark"] img:not(.mp-ico img) { filter:brightness(.92); }
html[data-hims-theme="dark"] #content [style*="color:#000"], html[data-hims-theme="dark"] #content [style*="color: #000"], html[data-hims-theme="dark"] #content [style*="color:black"] { color:var(--text) !important; }


/* ---- main menu tiles and dashboard info-boxes follow the theme (inline colours overridden) ---- */
html[data-hims-theme]:not([data-hims-theme="light"]) a.thumbnail.shine_div,
html[data-hims-theme]:not([data-hims-theme="light"]) .thumbnail.action-btn {
    background:linear-gradient(135deg,var(--surface) 0%,var(--surface2) 100%) !important;
    border:1px solid var(--border) !important; color:var(--text) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.16), inset 0 1px 1px rgba(255,255,255,.35) !important;
}
html[data-hims-theme]:not([data-hims-theme="light"]) a.thumbnail.shine_div:hover,
html[data-hims-theme]:not([data-hims-theme="light"]) .thumbnail.action-btn:hover {
    background:linear-gradient(135deg,var(--hover) 0%,var(--surface2) 100%) !important;
    border-color:var(--accent2) !important; box-shadow:0 8px 20px rgba(0,0,0,.24), 0 0 0 2px var(--accent2) !important;
}
html[data-hims-theme]:not([data-hims-theme="light"]) .thumbnail .centered_img,
html[data-hims-theme]:not([data-hims-theme="light"]) .thumbnail .centered_img * { color:var(--text) !important; }
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box.action-btn,
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box {
    background:linear-gradient(135deg,var(--surface) 0%,var(--surface2) 100%) !important;
    border:1px solid var(--border) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.16), inset 0 1px 1px rgba(255,255,255,.35) !important;
}
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box.action-btn:hover { border-color:var(--accent2) !important; box-shadow:0 8px 20px rgba(0,0,0,.24), 0 0 0 2px var(--accent2) !important; }
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box .info-box-content,
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box .info-box-text,
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box .info-box-number,
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box .info-box-content * { color:var(--text) !important; }
/* font-awesome tile icons take the theme accent, alternating with the secondary accent for variety */
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box-icon i,
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box-icon .fa,
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box-icon .fas { color:var(--accent) !important; text-shadow:0 2px 4px rgba(0,0,0,.18); }
html[data-hims-theme]:not([data-hims-theme="light"]) [class*="col-"]:nth-child(even) .info-box-icon i { color:var(--accent2) !important; }
/* picture icons sit on a soft plate so they stay visible on every theme */
html[data-hims-theme]:not([data-hims-theme="light"]) .info-box-icon img,
html[data-hims-theme]:not([data-hims-theme="light"]) .thumbnail > img { background:rgba(255,255,255,.88); border-radius:12px; padding:3px; box-shadow:0 2px 6px rgba(0,0,0,.2); }
html[data-hims-theme]:not([data-hims-theme="light"]) .thumbnail > img[style*="border-radius:50%"] { border-radius:50% !important; }
html[data-hims-theme="dark"] .info-box-icon img { filter:brightness(1.05) saturate(1.05); }

/* ---- shared widget libraries used across the modules ---- */
/* DataTables */
html[data-hims-theme] .dataTables_wrapper, html[data-hims-theme] .dataTables_wrapper label, html[data-hims-theme] .dataTables_info,
html[data-hims-theme] .dataTables_length, html[data-hims-theme] .dataTables_filter { color:var(--text) !important; }
html[data-hims-theme] .dataTables_wrapper .dataTables_paginate .paginate_button { color:var(--text) !important; background:var(--surface) !important; border:1px solid var(--border) !important; }
html[data-hims-theme] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html[data-hims-theme] .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background:var(--accent) !important; color:var(--accent-text) !important; border-color:var(--accent) !important; }
html[data-hims-theme] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled { opacity:.45; }
html[data-hims-theme] table.dataTable tbody tr, html[data-hims-theme] table.dataTable.stripe tbody tr.odd { background-color:transparent !important; }
html[data-hims-theme] table.dataTable thead th, html[data-hims-theme] table.dataTable thead td { border-bottom-color:var(--border) !important; }
html[data-hims-theme] table.dataTable.row-border tbody td, html[data-hims-theme] table.dataTable.display tbody td { border-top-color:var(--border) !important; }
html[data-hims-theme] .dt-buttons .dt-button, html[data-hims-theme] button.dt-button { background:var(--surface2) !important; color:var(--text) !important; border:1px solid var(--border) !important; }
/* AdminLTE / bootstrap extras */
html[data-hims-theme] .content-wrapper, html[data-hims-theme] .main-footer, html[data-hims-theme] .box-body, html[data-hims-theme] .box-footer { background:transparent !important; color:var(--text) !important; }
html[data-hims-theme] .box-header, html[data-hims-theme] .box-header.with-border { background:var(--surface2) !important; color:var(--text) !important; border-color:var(--border) !important; }
html[data-hims-theme] .breadcrumb { background:var(--surface2); }
html[data-hims-theme] .breadcrumb > li, html[data-hims-theme] .breadcrumb > li a { color:var(--text); }
html[data-hims-theme] .progress { background:var(--surface2); }
html[data-hims-theme] .tooltip-inner { background:var(--accent); color:var(--accent-text); }
html[data-hims-theme] .tooltip.top .tooltip-arrow { border-top-color:var(--accent); }
html[data-hims-theme] .modal-backdrop.in { opacity:.65; }
html[data-hims-theme] .table-bordered, html[data-hims-theme] .table-bordered > thead > tr > th, html[data-hims-theme] .table-bordered > tbody > tr > td { border-color:var(--border) !important; }
html[data-hims-theme] .bg-info, html[data-hims-theme] .bg-primary, html[data-hims-theme] .bg-success, html[data-hims-theme] .bg-warning { background:var(--surface2) !important; color:var(--text) !important; }
/* jQuery UI tabs / accordion / dialog / datepicker / multiselect / clockpicker */
html[data-hims-theme] .ui-tabs, html[data-hims-theme] .ui-tabs .ui-tabs-panel, html[data-hims-theme] .ui-accordion .ui-accordion-content { background:var(--surface) !important; color:var(--text) !important; border-color:var(--border) !important; }
html[data-hims-theme] .ui-tabs .ui-tabs-nav, html[data-hims-theme] .ui-tabs .ui-tabs-nav li { background:var(--surface2) !important; border-color:var(--border) !important; }
html[data-hims-theme] .ui-tabs .ui-tabs-nav li a, html[data-hims-theme] .ui-accordion .ui-accordion-header { color:var(--text) !important; }
html[data-hims-theme] .ui-tabs .ui-tabs-nav li.ui-tabs-active, html[data-hims-theme] .ui-accordion .ui-accordion-header.ui-state-active { background:var(--accent) !important; }
html[data-hims-theme] .ui-tabs .ui-tabs-nav li.ui-tabs-active a, html[data-hims-theme] .ui-accordion .ui-accordion-header.ui-state-active { color:var(--accent-text) !important; }
html[data-hims-theme] .ui-datepicker-header, html[data-hims-theme] .ui-datepicker th, html[data-hims-theme] .ui-datepicker td a { color:var(--text) !important; }
html[data-hims-theme] .ui-datepicker td a.ui-state-highlight { background:var(--hover) !important; }
html[data-hims-theme] .ui-multiselect, html[data-hims-theme] .ui-multiselect-menu, html[data-hims-theme] .ui-multiselect-checkboxes label { background:var(--surface) !important; color:var(--text) !important; border-color:var(--border) !important; }
html[data-hims-theme] .ui-multiselect-header { background:var(--surface2) !important; color:var(--text) !important; }
html[data-hims-theme] .clockpicker-popover, html[data-hims-theme] .clockpicker-plate, html[data-hims-theme] .popover-content { background:var(--surface) !important; color:var(--text) !important; }
/* FullCalendar (appointments, rosters) */
html[data-hims-theme] .fc, html[data-hims-theme] .fc-view-container, html[data-hims-theme] .fc table, html[data-hims-theme] .fc-unthemed td, html[data-hims-theme] .fc-unthemed th, html[data-hims-theme] .fc-unthemed .fc-content, html[data-hims-theme] .fc-unthemed .fc-divider { background:var(--surface) !important; color:var(--text) !important; border-color:var(--border) !important; }
html[data-hims-theme] .fc-toolbar h2, html[data-hims-theme] .fc-day-number, html[data-hims-theme] .fc-day-header, html[data-hims-theme] .fc-time, html[data-hims-theme] .fc-axis { color:var(--text) !important; }
html[data-hims-theme] .fc-unthemed td.fc-today { background:var(--hover) !important; }
html[data-hims-theme] .fc-button { background:var(--accent) !important; color:var(--accent-text) !important; border-color:var(--accent) !important; text-shadow:none !important; background-image:none !important; }
html[data-hims-theme] .fc-state-active, html[data-hims-theme] .fc-button:hover { background:var(--accent2) !important; }
/* sweetalert buttons */
html[data-hims-theme] .swal2-styled.swal2-confirm { background:var(--accent) !important; color:var(--accent-text) !important; }
html[data-hims-theme] .swal2-styled.swal2-cancel { background:var(--surface2) !important; color:var(--text) !important; }
/* CKEditor chrome stays light on purpose (it edits printable text); frame it */
html[data-hims-theme] .cke { border-color:var(--border) !important; }
/* native scrollbars follow the theme */
html[data-hims-theme="dark"] { color-scheme:dark; }
html[data-hims-theme] ::-webkit-scrollbar { width:11px; height:11px; }
html[data-hims-theme] ::-webkit-scrollbar-track { background:var(--surface2); }
html[data-hims-theme] ::-webkit-scrollbar-thumb { background:var(--accent); border-radius:8px; border:2px solid var(--surface2); }
/* never theme printed output */
@media print { .hims-ts { display:none !important; } }
