/* Black backgrounds for signed-in pages (client 111818: "all background pages black").
   Same palette as the public pages (tushly-polish.css modules 13/14): near-black surfaces, white logo,
   pink actions, blue navigation. Scopes:
     M  html.tushly-members                      member account pages (cp/chatusers, set by _members.header.php)
     D  html:has(link[href*="tushly-dm-light"])  messages (members and models)
     S  html:has(a[href*="stream-key.php"])      model studio (its menu links to stream-key.php)
   The live room and the Go Live page are not included. */

:is(html.tushly-members, html:has(link[href*="tushly-dm-light"]), html:has(a[href*="stream-key.php"])) {
    --acc-bg: #0e0c12;
    --acc-panel: #17141d;
    --acc-panel-2: #1d1924;
    --acc-border: #2b2633;
    --acc-field-border: #3a3443;
    --acc-text: #f2eef6;
    --acc-muted: #a79fb2;
    --acc-blue: #8fb2ff;
    --acc-pink: #ff5aa5;
    --tushly-bg: #0e0c12;
    --tushly-panel: #17141d;
    --tushly-border: #2b2633;
    --tushly-text: #f2eef6;
    --tushly-text-muted: #a79fb2;
    color-scheme: dark;
    background: var(--acc-bg) !important;
}
:is(html.tushly-members, html:has(link[href*="tushly-dm-light"]), html:has(a[href*="stream-key.php"])) body {
    background: var(--acc-bg) !important;
    background-image: none !important;
    color: var(--acc-text) !important;
}

/* Header bars and the white logo. */
:is(html.tushly-members, html:has(a[href*="stream-key.php"])) body :is(.navbar-fixed nav, .navbar-fixed .nav-wrapper, nav.desktopmenu, .mobile-menu, .mobile-menu .top-mob-header, #myTopnav, .topnav, header, .header, .top-header) {
    background: var(--acc-bg) !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
}
:is(html.tushly-members, html:has(link[href*="tushly-dm-light"]), html:has(a[href*="stream-key.php"])) body img[src*='logo'] { filter: none !important; }
:is(html.tushly-members, html:has(a[href*="stream-key.php"])) body #myTopnav > a:not(#join-button),
:is(html.tushly-members, html:has(a[href*="stream-key.php"])) body .nav-wrapper a { color: var(--acc-text) !important; }
:is(html.tushly-members, html:has(a[href*="stream-key.php"])) body :is(#myTopnav, .nav-wrapper) i { color: var(--acc-blue) !important; }

/* Form fields. */
:is(html.tushly-members, html:has(link[href*="tushly-dm-light"]), html:has(a[href*="stream-key.php"])) body :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]), select, textarea) {
    background: var(--acc-bg) !important;
    color: var(--acc-text) !important;
    border-color: var(--acc-field-border) !important;
}
:is(html.tushly-members, html:has(link[href*="tushly-dm-light"]), html:has(a[href*="stream-key.php"])) body :is(input, textarea)::placeholder { color: #8a8394 !important; }

/* ---- Member account pages (M): a dark mirror of css/tushly-members.css, same selectors, loaded after it ---- */
html.tushly-members body { background: var(--acc-bg) !important; color: var(--acc-text) !important; }
html.tushly-members body :is(h1,h2,h3,h4,label,.pText,.package-list-title,.package-tokens,.package-price,.balance-amount,.balance-label,.model-username,.notification-label,.results-info) { color: var(--acc-text) !important; }
html.tushly-members body :is(.profile-dropdown-menu,.modern-form-wrapper,form.user_update_profile,.package-list-container,.package-row,.table-container,.thumbnail-item,.model-info,.terms-box) { background: var(--acc-panel) !important; color: var(--acc-text) !important; border-color: var(--acc-border) !important; box-shadow: none !important; }
html.tushly-members body :is(.notification-section,.checkbox-option,.benefits-section,.token-balance,.info-note) { background: var(--acc-panel-2) !important; color: #d9d3e2 !important; border-color: var(--acc-border) !important; }
html.tushly-members body :is(.help-text,.search-hint,.results-count,.search-icon,.subscription-price,.subscription-date) { color: var(--acc-muted) !important; opacity: 1 !important; }
html.tushly-members body form { color: var(--acc-text) !important; }
html.tushly-members body form:not(#loginForm):not(#broadcasterForm) { background-color: var(--acc-panel) !important; border-color: var(--acc-border) !important; }
html.tushly-members body :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),textarea,select) { color: var(--acc-text) !important; background: var(--acc-bg) !important; border-color: var(--acc-field-border) !important; box-shadow: none !important; opacity: 1 !important; }
html.tushly-members body :is(input,textarea)::placeholder { color: #8a8394 !important; opacity: 1 !important; }
html.tushly-members body :is(.profile-dropdown-menu a,.profile-user-info,.profile-username,.profile-tokens) { color: #d9d3e2 !important; }
html.tushly-members body .btn-secondary { background: #3a3443 !important; color: var(--acc-text) !important; }
html.tushly-members body :is(table,td) { background: var(--acc-panel) !important; color: #d9d3e2 !important; border-color: var(--acc-border) !important; }
html.tushly-members body th { background: var(--acc-panel-2) !important; color: var(--acc-text) !important; border-color: var(--acc-border) !important; }
html.tushly-members body :is(input,textarea,select,button,a):focus-visible { outline: 2px solid var(--acc-blue); outline-offset: 2px; }
html.tushly-members body .headerLabel { color: var(--acc-text) !important; }
html.tushly-members body .select-wrapper .caret,
html.tushly-members body form small { color: var(--acc-muted) !important; opacity: 1 !important; }
html.tushly-members body .mobile-menu-bar { background: var(--acc-bg) !important; border-top: 1px solid var(--acc-border) !important; box-shadow: none !important; }
html.tushly-members body .mobile-menu-bar :is(a,i,span) { color: var(--acc-text) !important; }
html.tushly-members body .mobile-menu :is(a,i,span,div) { color: var(--acc-text) !important; }
html.tushly-members body .mobile-menu .tokens-button { color: #fff !important; }
/* Pieces the light theme left without a rule. */
html.tushly-members body :is(button.btn-filter, button.btn-reset, .btn-default) { background: #211d28 !important; color: var(--acc-text) !important; border-color: var(--acc-field-border) !important; }
html.tushly-members body :is(p, small, .member-photo-name, .text-muted) { color: var(--acc-muted) !important; }
html.tushly-members body :is(h3, strong, b) { color: var(--acc-text) !important; }
html.tushly-members body :is(.footer-main-container, .footer-copyright-container) { background: #0a090d !important; color: var(--acc-muted) !important; border-color: #211d28 !important; }
html.tushly-members body :is(.footer-main-container, .footer-copyright-container) :is(a, p, span, li) { color: var(--acc-muted) !important; }

/* ---- Messages (D): dark values for css/tushly-dm-light.css, same selectors ---- */
html:root:has(link[href*="tushly-dm-light"]) {
    --dm-bg: #0e0c12; --dm-panel: #17141d; --dm-panel2: #1d1924; --dm-border: #2b2633; --dm-text: #f2eef6; --dm-muted: #a79fb2;
}
html:root:has(link[href*="tushly-dm-light"]) body.dm-body { background: var(--dm-bg) !important; color: var(--dm-text) !important; }
html:root:has(link[href*="tushly-dm-light"]) body.dm-body .dm-topbar { background: var(--dm-panel) !important; border-color: var(--dm-border) !important; }
html:root:has(link[href*="tushly-dm-light"]) body.dm-body :is(.dm-me, .dm-me-name, .dm-site) { color: var(--dm-text) !important; }
html:root:has(link[href*="tushly-dm-light"]) body.dm-body .dm-bal { color: #ff9ccb !important; }
html:root:has(link[href*="tushly-dm-light"]) :is(body.dm-body .dm-wrap, .dm-wrap) { background: var(--dm-bg) !important; color: var(--dm-text) !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap :is(.dm-side, .dm-thread-head, .dm-input-bar) { background: var(--dm-panel) !important; border-color: var(--dm-border) !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap .dm-main { background: var(--dm-bg) !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap :is(.dm-conv-name, .dm-thread-name, .dm-side-head) { color: var(--dm-text) !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap :is(.dm-conv-last, .dm-conv-time, .dm-photo-name, .dm-sales, .dm-empty, .dm-thread-status) { color: var(--dm-muted) !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap .dm-thread-rate { color: #ff9ccb !important; background: #3a1527 !important; border-color: #5a2340 !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap .dm-me-fallback { background: #3a1527 !important; color: #ff9ccb !important; }
html:root:has(link[href*="tushly-dm-light"]) .dm-wrap :is(button, a, textarea, input):focus-visible { outline-color: #8fb2ff !important; }
html:root:has(link[href*="tushly-dm-light"]) body:has(#dmWrap) { background: var(--dm-bg) !important; color: var(--dm-text) !important; }

/* Small consistency details on member pages. */
html.tushly-members body .member-profile-heading { background: transparent !important; background-image: none !important; color: #fff !important; }
html.tushly-members body .toggle-switch input:checked + .toggle-slider { background-color: #2862c6 !important; }

/* ---- Model studio (S) ---- */
html:has(a[href*="stream-key.php"]) body :is(.menuLinks, .sidebar, .side-menu, .left-menu) { background: var(--acc-panel) !important; border-color: var(--acc-border) !important; }
html:has(a[href*="stream-key.php"]) body .menuLinks a { color: #d9d3e2 !important; background: transparent !important; }
html:has(a[href*="stream-key.php"]) body .menuLinks a:hover { color: #fff !important; background: var(--acc-panel-2) !important; }
html:has(a[href*="stream-key.php"]) body .menuLinks a.active { background: #1a2540 !important; color: var(--acc-blue) !important; }
html:has(a[href*="stream-key.php"]) body .menuLinks a i { color: inherit !important; }
html:has(a[href*="stream-key.php"]) body :is(h3.drop-menu-mob, .drop-menu-mob, .mob-menu-title) { color: var(--acc-text) !important; background: transparent !important; }
html:has(a[href*="stream-key.php"]) body :is(.panel, .panel-default, .panel-body, .panel-footer, .well, .card, .modal-content,
    .upload-section, .filters-section, .stat-box, .alerts-modal-box, .chat-alert-box, .settings-section, .toggle-group, .blocking-section,
    #cfContainer, .tushly-publish, #mainSection, .disclaimer-text, .category-section, .table-responsive, .list-group-item) {
    background: var(--acc-panel) !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
    box-shadow: none !important;
}
html:has(a[href*="stream-key.php"]) body :is(.panel-heading, .panel-heading-with-search, .category-section-header, .alerts-modal-footer, .modal-header, .modal-footer, #drop-zone, .drop-zone) {
    background: var(--acc-panel-2) !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
}
html:has(a[href*="stream-key.php"]) body :is(.panel, .stat-box, .upload-section, .settings-section, .chat-alert-box, .alerts-modal-box, #mainSection, .toggle-group, .blocking-section, .tushly-publish, #cfContainer)
    :is(h1, h2, h3, h4, h5, label, strong, b, td, th, .stat-title, .stat-value, .control-label) { color: var(--acc-text) !important; }
html:has(a[href*="stream-key.php"]) body :is(.panel, .stat-box, .upload-section, .settings-section, .chat-alert-box, .alerts-modal-box, #mainSection, .toggle-group, .blocking-section, .tushly-publish, #cfContainer, .disclaimer-text)
    :is(p, small, .help-block, .text-muted, span:not([class*=btn]):not([class*=badge])) { color: var(--acc-muted) !important; }
html:has(a[href*="stream-key.php"]) body :is(table, td, th) { background: var(--acc-panel) !important; color: #d9d3e2 !important; border-color: var(--acc-border) !important; }
html:has(a[href*="stream-key.php"]) body th { background: var(--acc-panel-2) !important; color: var(--acc-text) !important; }
html:has(a[href*="stream-key.php"]) body :is(.btn-default, .filter-btn, button.resettoken, .submit-btn, .update-button, .tushly-publish-btn, #updateBtn) {
    background: #211d28 !important;
    color: var(--acc-text) !important;
    border-color: var(--acc-field-border) !important;
}
html:has(a[href*="stream-key.php"]) body img.img-thumbnail { background: var(--acc-panel-2) !important; border-color: var(--acc-border) !important; }
html:has(a[href*="stream-key.php"]) body :is(h1, h2, h3, h4) { color: var(--acc-text); }
html:has(a[href*="stream-key.php"]) body :is(.footer-main-container, .footer-copyright-container) { background: #0a090d !important; color: var(--acc-muted) !important; border-color: #211d28 !important; }
html:has(a[href*="stream-key.php"]) body :is(.footer-main-container, .footer-copyright-container) :is(a, p, span, li) { color: var(--acc-muted) !important; }
html:has(a[href*="stream-key.php"]) body :is(.info-box, .player-overlay, #playerPlaceholder, .main-container-cllss, .tushly-sk-card, .sk-note, .form-box, .original-docs, .verification-card,
    .main-container-uploadt-image, .table-container, .modern-card, .content-card) {
    background: var(--acc-panel) !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
    box-shadow: none !important;
}
html:has(a[href*="stream-key.php"]) body :is(.sk-note, .info-box, .original-docs) { background: var(--acc-panel-2) !important; }
/* Light backgrounds written into style attributes. */
html:has(a[href*="stream-key.php"]) body :is([style*="background: #f"], [style*="background:#f"], [style*="background-color: #f"], [style*="background-color:#f"],
    [style*="background: #e"], [style*="background:#e"], [style*="background-color: #e"], [style*="background-color:#e"],
    [style*="background: white"], [style*="background:white"], [style*="background-color: white"], [style*="background-color:white"],
    [style*="background: rgb(2"], [style*="background-color: rgb(2"]):not(button):not(.btn):not(a) {
    background: var(--acc-panel) !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
}
html:has(a[href*="stream-key.php"]) body :is(input.form-control, input#fanclub_image) { background: var(--acc-bg) !important; color: var(--acc-text) !important; border-color: var(--acc-field-border) !important; }
html:has(a[href*="stream-key.php"]) body :is(button.button, button.btn-reset, button.btn-filter, button.btns, .remove-btn) {
    background: #211d28 !important;
    color: var(--acc-text) !important;
    border-color: var(--acc-field-border) !important;
}
/* Text on the dark studio surfaces. */
html:has(a[href*="stream-key.php"]) body :is(h1, h2, h3, h4, h5, h6, label, strong, b, li, .section-title, .section-header, .filters-header, .blocking-section-title,
    .form_header_title, .first_seciton_left_side, .stat-title, .stat-value, .circle-text, .control-label) { color: var(--acc-text) !important; }
html:has(a[href*="stream-key.php"]) body :is(p, small, .help-block, .text-muted, .sk-note, .info-box) { color: var(--acc-muted) !important; }
html:has(a[href*="stream-key.php"]) body :is(.error, p.error, div.error, .text-danger) { color: #ff8a9b !important; }
html:has(a[href*="stream-key.php"]) body :is(.modal-content, .modal-body) :is(p, li, span, label) { color: #d9d3e2 !important; }
html:has(a[href*="stream-key.php"]) body .nav-tabs > li > a, html:has(a[href*="stream-key.php"]) body .tab-link { color: #d9d3e2 !important; background: transparent !important; border-color: var(--acc-border) !important; }
html:has(a[href*="stream-key.php"]) body .nav-tabs > li.active > a { color: var(--acc-blue) !important; background: var(--acc-panel) !important; }
html:has(a[href*="stream-key.php"]) body .blocking-section-title span.blocked-count:not(#z) { color: #fff !important; }
html:has(a[href*="stream-key.php"]) body a[href*="model-reset-password.php"]:not(.reset-btn):not(.btn) { color: var(--acc-blue) !important; }
/* Dark text colours written into style attributes. */
html:has(a[href*="stream-key.php"]) body :is([style*="color: #0"], [style*="color:#0"], [style*="color: #1"], [style*="color:#1"], [style*="color: #2"], [style*="color:#2"],
    [style*="color: #3"], [style*="color:#3"], [style*="color: #4"], [style*="color:#4"], [style*="color: #5"], [style*="color:#5"], [style*="color: black"], [style*="color:black"]):not(.btn):not(button) { color: var(--acc-text) !important; }
html:has(a[href*="stream-key.php"]) body .current_thumailll_secc_top :is(span, div, p):not(#z) { color: var(--acc-text) !important; }

/* Studio: white logo, and the old green accents in Tushly pink and blue. */
html:has(a[href*="stream-key.php"]) body img[src*="logo-models"] { filter: brightness(0) invert(1) !important; }
html:has(a[href*="stream-key.php"]) body :is(input:checked + .toggle-slider, .toggle-switch input:checked + .toggle-slider, .paid-toggle input:checked + .paid-toggle-slider) { background: #2862c6 !important; }
html:has(a[href*="stream-key.php"]) body :is(.btn-success, .btn-primary, .submit-btn, #uploadBtn, .btn-save, .btn-send, .btn-search, .btn-email, .resetpass-submit,
    #cfForm input[type="submit"], input[type="submit"], .tushly-sk-card button, .filter-btn.active, .alerts-close-btn) {
    background: linear-gradient(90deg, #2862c6, #c92b73) !important;
    border-color: transparent !important;
    color: #fff !important;
}
html:has(a[href*="stream-key.php"]) body .progress-bar-fill { background: linear-gradient(90deg, #2862c6, #c92b73) !important; }
html:has(a[href*="stream-key.php"]) body .modal-header { background: var(--acc-panel-2) !important; color: var(--acc-text) !important; border-color: var(--acc-border) !important; }
html:has(a[href*="stream-key.php"]) body :is(.drop-zone:hover, .drop-zone.dragover) { border-color: #5b8ff0 !important; background: #1a2540 !important; }
html:has(a[href*="stream-key.php"]) body :is(#successNotification, .fluffcam-toast-msg) { background: #1a2540 !important; color: #fff !important; border-color: #2862c6 !important; }
html:has(a[href*="stream-key.php"]) body .token-value-info { background: var(--acc-panel-2) !important; background-image: none !important; border-left-color: #2862c6 !important; }
html:has(a[href*="stream-key.php"]) body .token-value-info i { color: var(--acc-blue) !important; }
html:has(a[href*="stream-key.php"]) body .token-value-label { color: var(--acc-muted) !important; }
html:has(a[href*="stream-key.php"]) body .token-value-amount { color: var(--acc-text) !important; }
html:has(a[href*="stream-key.php"]) body .progress-bar-container { background: #2b2633 !important; }
html:has(a[href*="stream-key.php"]) body .progress-bar { background: linear-gradient(90deg, #2862c6, #c92b73) !important; }
html:has(a[href*="stream-key.php"]) body :is(.chosen-container .chosen-choices, .chosen-container .chosen-single, .chosen-container .chosen-drop, .welcomeModelText) {
    background: var(--acc-panel-2) !important;
    background-image: none !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
    box-shadow: none !important;
}
html:has(a[href*="stream-key.php"]) body .chosen-container :is(.search-choice, .chosen-results li) { background: #211d28 !important; background-image: none !important; color: var(--acc-text) !important; border-color: var(--acc-field-border) !important; }
html:has(a[href*="stream-key.php"]) body .chosen-container .chosen-results li.highlighted { background: #1a2540 !important; color: #fff !important; }
html:has(a[href*="stream-key.php"]) body .chosen-container input { background: transparent !important; color: var(--acc-text) !important; }
html:has(a[href*="stream-key.php"]) body .welcomeModelText * { color: var(--acc-text) !important; }

/* Client 111935: white member sign-in title, including the header modal and mobile navigation. */
html:root body #loginModal .login-modal-header h2,
html:root body .member-login-container .login-header h1,
html:root body .mobile-menu .login-drop > .drop-menu-mob {
    color: #fff !important;
}

/* Client 111946: the open studio menu uses the same dark surfaces as its pages. */
html:has(a[href*="stream-key.php"]) body .mobile-menu :is(.toggle-mob-menu, .mob-menu-dest, .collection-mob.drop-data-mob) {
    background: var(--acc-panel) !important;
    border-color: var(--acc-border) !important;
    color: var(--acc-text) !important;
}
html:has(a[href*="stream-key.php"]) body .toggle-mob-menu :is(a, span, h3, i) {
    color: var(--acc-text) !important;
}
html:has(a[href*="stream-key.php"]) body .toggle-mob-menu a:hover,
html:has(a[href*="stream-key.php"]) body .toggle-mob-menu a:focus-visible {
    background: var(--acc-panel-2) !important;
    color: var(--acc-blue) !important;
}

/* Client 111948: Tip Menu is a studio form, including its empty and populated states. */
html:has(a[href*="stream-key.php"]) body .tipmenu,
html:has(a[href*="stream-key.php"]) body .tipmenu :is(h1, .label) {
    color: var(--acc-text) !important;
}
html:has(a[href*="stream-key.php"]) body .tipmenu-card {
    background: var(--acc-panel) !important;
    border-color: var(--acc-border) !important;
    box-shadow: none !important;
}
html:has(a[href*="stream-key.php"]) body .tipmenu :is(.empty, .row, .add) {
    background: var(--acc-panel-2) !important;
    border-color: var(--acc-field-border) !important;
    color: var(--acc-text) !important;
}
html:has(a[href*="stream-key.php"]) body .tipmenu :is(.lead, .hint) {
    color: var(--acc-muted) !important;
}
html:has(a[href*="stream-key.php"]) body .tipmenu .amt { color: #ff9ccb !important; }
html:has(a[href*="stream-key.php"]) body .tipmenu .ok { color: #84ddb2 !important; }
html:has(a[href*="stream-key.php"]) body .tipmenu .err { color: #ff94b3 !important; }

/* Client112095: keep the token balance close to the mobile navigation. */
@media (max-width: 768px) { html.tushly-members body .token-balance { margin-top: 16px !important; } }
