/* StomStom dark theme — loaded last to cover legacy and feature-module styles. */
:root[data-telegram-theme="dark"]{
  color-scheme:dark;
  --bg:var(--tg-theme-bg-color,#0d151c);
  --bg2:var(--tg-theme-secondary-bg-color,#17232c);
  --card:var(--tg-theme-secondary-bg-color,#17232c);
  --text:var(--tg-theme-text-color,#f2f6f8);
  --hint:var(--tg-theme-hint-color,#9babb5);
  --muted:var(--hint);
  --accent:var(--tg-theme-button-color,#2bbcbc);
  --button-text:var(--tg-theme-button-text-color,#fff);
  --accent-soft:rgba(43,188,188,.18);
  --line:rgba(180,201,211,.18);
  --ok:#54ce83;
  --warn:#f2b95e;
  --bad:#ff8375;
  --shadow:0 7px 24px rgba(0,0,0,.25);
  --dark-soft:#202f39;
  --dark-raised:#1c2a34;
  --dark-warning:#332b1d;
  --dark-danger:#352321;
  --dark-success:#173229;
  --dark-info:#172e38;
}
:root[data-telegram-theme="dark"] body,
:root[data-telegram-theme="dark"] #topbar,
:root[data-telegram-theme="dark"] #tabbar{background-color:var(--bg);color:var(--text)}
:root[data-telegram-theme="dark"] input,
:root[data-telegram-theme="dark"] select,
:root[data-telegram-theme="dark"] textarea{border-color:var(--line);background:var(--dark-raised);color:var(--text);caret-color:var(--accent)}
:root[data-telegram-theme="dark"] input::placeholder,
:root[data-telegram-theme="dark"] textarea::placeholder{color:var(--hint);opacity:.78}
:root[data-telegram-theme="dark"] option{background:var(--bg2);color:var(--text)}
:root[data-telegram-theme="dark"] :focus-visible{outline-color:var(--accent)}

/* Primary cards, sheets, navigation and fixed controls. */
:root[data-telegram-theme="dark"] :is(.card,.modal-sheet,.filter-sheet,.compare-sheet,.editor-step-nav,.editor-actions,.booking-dock,.app-dialog,.auth-sheet,.catalog-search,.compact-cabinet-card,.owner-menu,.profile-card,.calendar-card,.calendar-details,.request-card,.message-card,.conversation-sheet,.listing-completeness,.listing-structured-step,.feature-admin-group,.admin-status-panel,.lead-trial,.lead-payment,.lead-history){background:var(--card);border-color:var(--line);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.sticky-actions,.compare-actions,.filter-sheet footer,.popup-anchor-nav){background:var(--card);border-color:var(--line)}
:root[data-telegram-theme="dark"] :is(.card-facts span,.metric,.info-grid>div,.popup-section-card,.terms-extra-fields,.listing-options,.calendar-entry,.renter-contact,.request-comment,.block-time-form,.lead-history article,.payment-history>div>span,.legal-passport-terms article,.legal-parties>div,.settlement-note){background:var(--dark-raised);border-color:var(--line)}
:root[data-telegram-theme="dark"] :is(.compact-fav,.compare-remove){background:rgba(24,37,47,.94);color:#ff8791}
:root[data-telegram-theme="dark"] .compare-bar>button i{background:var(--card)}
:root[data-telegram-theme="dark"] .modal-backdrop{background:rgba(0,0,0,.72)}
:root[data-telegram-theme="dark"] .modal-close{background:rgba(7,12,16,.84)}

/* Onboarding, profiles and clinic listing editor. */
:root[data-telegram-theme="dark"] :is(.onboarding-role-grid button,.onboarding-chips span,.onboarding-options label>span,.onboarding-field input,.payment-commission-check,.legal-explicit-consent){background:var(--dark-raised);border-color:var(--line);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.onboarding-role-grid button>span,.retention-actions i,.marketplace-next-action>span,.clinic-launch-steps button>i){background:var(--accent-soft)}
:root[data-telegram-theme="dark"] :is(.onboarding-telegram-note,.verification-gate-banner,.active-role-card,.waitlist-panel,.in-app-contact-note,.legal-license-state.ok,.legal-parties .done){background:var(--dark-success);border-color:rgba(84,206,131,.32);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.onboarding-warning,.listing-draft-restore,.doctor-next-step.attention,.payment-journey.waiting,.cancellation-settlement,.legal-license-state,.lead-terms,.direct-settlement-safety){background:var(--dark-warning);border-color:rgba(242,185,94,.32);color:var(--text)}
:root[data-telegram-theme="dark"] .feature-toggle input:checked+span{background:var(--accent-soft);border-color:var(--accent)}
:root[data-telegram-theme="dark"] .feature-admin-actions{background:rgba(23,35,44,.94)}
:root[data-telegram-theme="dark"] .admin-lead-price-card input{background:var(--dark-raised);color:var(--text)}

/* UX2–UX5 modules added after the base design system. */
:root[data-telegram-theme="dark"] :is(.clinic-launch-card,.retention-panel,.direct-settlement-card,.marketplace-next-action,.direct-settlement-link,.legal-financial-summary){background:var(--card);border-color:var(--line);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.clinic-launch-head span,.clinic-launch-steps button small,.owner-request-more summary,.day-capacity-summary small,.listing-save-status,.direct-settlement-head small,.direct-settlement-total small,.direct-settlement-card dt,.direct-settlement-card dd small,.legal-financial-summary small,.legal-financial-summary p,.legal-explicit-consent small,.retention-panel-head small,.retention-actions small,.marketplace-next-action small,.marketplace-next-action p){color:var(--hint)}
:root[data-telegram-theme="dark"] :is(.clinic-launch-steps button,.retention-actions button){background:var(--dark-raised);border-color:var(--line);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.clinic-launch-card,.retention-panel,.direct-settlement-head){background-image:linear-gradient(145deg,var(--dark-raised),var(--card))}
:root[data-telegram-theme="dark"] .direct-settlement-total{border-color:var(--line)}
:root[data-telegram-theme="dark"] :is(.direct-settlement-total b,.direct-settlement-card dd){color:var(--text)}
:root[data-telegram-theme="dark"] .direct-settlement-total em{background:var(--accent-soft);color:var(--accent)}
:root[data-telegram-theme="dark"] .direct-settlement-safety p{color:#e7c98f}
:root[data-telegram-theme="dark"] .day-capacity-summary>div{background:var(--dark-raised)}
:root[data-telegram-theme="dark"] .day-capacity-summary .free{background:var(--dark-success);color:var(--ok)}
:root[data-telegram-theme="dark"] .day-capacity-summary .requests{background:var(--dark-warning);color:var(--warn)}

/* Admin diagnostics and operational panels. */
:root[data-telegram-theme="dark"] :is(.backup-current,.deployment-readiness,.deployment-readiness.deployed,.telegram-readiness,.telegram-readiness.ready,.postgres-readiness,.health-hero,.health-hero.attention,.health-hero.critical,.launch-hero,.launch-hero.preparing,.payment-admin-settings,.legal-admin-settings,.admin-offer-editor){background:var(--card);background-image:linear-gradient(145deg,var(--dark-raised),var(--card));border-color:var(--line);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.backup-summary span,.deployment-grid span,.deployment-paths,.deployment-next,.telegram-checks>span,.telegram-security,.postgres-safety span,.postgres-counts span,.postgres-next,.admin-offer-editor details,.lead-offer-snapshot span,.lead-offer-text){background:var(--dark-raised);color:var(--text)}
:root[data-telegram-theme="dark"] :is(.health-issues>article,.launch-checks>article.planned,.launch-summary article.warn){background:var(--dark-warning);border-color:rgba(242,185,94,.32)}
:root[data-telegram-theme="dark"] :is(.health-issues>article.critical,.launch-checks>article.blocked,.launch-summary article.danger,.backup-list>article.invalid){background:var(--dark-danger);border-color:rgba(255,131,117,.32)}
:root[data-telegram-theme="dark"] :is(.health-ok,.launch-hero:not(.preparing)){background:var(--dark-success);border-color:rgba(84,206,131,.3)}
:root[data-telegram-theme="dark"] :is(.health-issues>article>span,.launch-checks article>span){background:var(--dark-raised)}

/* Status tones must remain readable without bright white flashes. */
:root[data-telegram-theme="dark"] :is(.badge.warn,.payment-status.waiting,.lead-history em.due,.offer-version){background:var(--dark-warning);color:var(--warn)}
:root[data-telegram-theme="dark"] :is(.badge.bad,.payment-status.cancelled,.gate-error){background:var(--dark-danger);color:var(--bad)}
:root[data-telegram-theme="dark"] :is(.badge.ok,.payment-status.paid){background:var(--dark-success);color:var(--ok)}
:root[data-telegram-theme="dark"] a{color:var(--accent)}
:root[data-telegram-theme="dark"] img{color-scheme:only light}
