/* DIIO dark theme: explicit foreground/background pairs after legacy theme rules.
   Theme-only overrides; no dimensions, visibility, routing or event handlers change. */
body.dark{
  color-scheme:dark;
  --diio-night-paper:#241e30;
  --diio-night-raised:#30273e;
  --diio-night-ink:#f5f0fb;
  --diio-night-muted:#cec3dd;
  --diio-night-line:#685879;
  --diio-night-accent:#dbc2ff;
  --diio-night-action:#7040bd;
  --text:var(--ink);
}
/* Standard actions, selected filters and their nested labels. */
body.dark :is(.btn.primary,.control.primary,.tab.active,.chip.active,
  .v97-event-quick-tabs button.active,.v1654-special-tabs button.active,
  .v1636-filter-rail button.active,.v1637-tabs button.active){
  background:var(--diio-night-action)!important;
  border-color:#a384ce!important;
  color:#fff!important;
}
body.dark :is(.btn,.control,.tab,.chip) :is(span,strong,small,b){color:inherit!important}
body.dark :is(.btn,.control,.tab,.chip):not(:disabled):focus-visible,
body.dark :is(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid #ddc4ff;
  outline-offset:3px;
}
body.dark :is(.btn,.control,.tab,.chip):not(.primary):not(.active):not(.danger):not(.apple-signin-button):not(.google-signin-button){
  background:var(--diio-night-raised)!important;
  border-color:var(--diio-night-line)!important;
  color:var(--diio-night-ink)!important;
}
body.dark :is(.btn,.control,.tab,.chip):not(:disabled):hover{
  border-color:#c6a6ee!important;
}
body.dark .btn.danger{background:#472331!important;color:#ffd0d8!important;border-color:#bc8094!important}
/* Preserve the intentionally white provider buttons and their recognisable logos. */
body.dark :is(.google-signin-button,.apple-signin-button),
body.dark .v91-oauth-grid :is(.google-signin-button,.apple-signin-button){
  color-scheme:light;background:#fff!important;color:#17121e!important;border-color:#b7afc0!important;
}
body.dark :is(.google-signin-button,.apple-signin-button) :is(span,strong,b){color:#17121e!important}
body.dark .brand-mark{color:#fff!important}
/* Native date picker, form text, placeholder and selected option visibility. */
body.dark :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]){
  color-scheme:dark;
  color:var(--diio-night-ink)!important;
  -webkit-text-fill-color:var(--diio-night-ink);
  background-color:var(--diio-night-paper)!important;
  border-color:var(--diio-night-line)!important;
  caret-color:#e4cbff;
}
body.dark :is(input,textarea)::placeholder{color:#c2b6d1!important;opacity:1}
body.dark select option{background:#241e30;color:#f5f0fb}
body.dark input:is([type="checkbox"],[type="radio"]){accent-color:#b992f5}
/* Home cards and command controls. Keep the supplied artwork and map untouched. */
body.dark .v1616-home-portal{background:#241e30;border-color:#685879}
body.dark .v1616-home-portal-copy strong{color:#f5f0fb}
body.dark .v1616-home-portal-copy span{color:#cec3dd}
body.dark .v1616-home-portal-art{background:linear-gradient(135deg,#38294e,#241e30)}
body.dark .v1616-home-portal--explore .v1616-home-portal-art{background:linear-gradient(135deg,#463228,#30233f)}
body.dark .v1650-command-head>div>span,
body.dark .v1650-command-search label>span,
body.dark .v1650-command-actions button{color:#dbc2ff}
/* Result cards are dark in the current design. Old light-card text rules must not win. */
body.dark :is(.result-card,.event-card,.home-event-card,.v91-event-card){
  background:#241e30!important;border-color:#685879!important;color:#f5f0fb!important;
}
body.dark :is(.result-card,.event-card,.home-event-card,.v91-event-card) :is(h1,h2,h3,h4,strong){color:#f5f0fb!important}
body.dark :is(.result-card,.event-card,.home-event-card,.v91-event-card) :is(p,small,span){color:#cec3dd!important}
body.dark :is(.result-card,.event-card,.home-event-card,.v91-event-card) :is(.btn,.btn span,.btn strong,.btn small,.btn b){color:var(--diio-night-ink)!important}
body.dark :is(.result-card,.event-card,.home-event-card,.v91-event-card) :is(.btn.primary,.btn.primary span){color:#fff!important}
body.dark .diio-discovery-place-icon .d1-icon-3d{color:#dbc2ff!important}
body.dark .result-card .source-pill{background:#392c4b!important;color:#e0caff!important}
/* Nearby and sports categories need both a visible border and selected state. */
body.dark .v12-near-category{color:#f5f0fb!important;border-color:#685879!important}
body.dark .v12-near-category.active{background:#493262!important;border-color:#cfadff!important;color:#fff!important}
body.dark .v12-near-category :is(.near-category-premium-icon,.d1-icon-3d){color:#dbc2ff}
body.dark .v12-nearby-poster-city>span{color:#dbc2ff}
body.dark .v12-nearby-poster-card{background:#30273e;border-color:#685879}
body.dark .v12-nearby-poster-card small{color:#e0d6ec}
/* Events: refresh, calendar tabs, date labels and city badges. */
body.dark :is(.v140-event-refresh,.v140-event-city-pill,.v140-event-search),
body.dark .v140-event-select-row select{background:#30273e;color:#dbc2ff;border-color:#685879}
body.dark :is(.v140-event-kicker,.v140-event-search>span,.v144-city-major-pin){color:#dbc2ff}
body.dark .v140-event-city-pill span{color:#dbc2ff}
body.dark .v1654-special-tabs button{color:#cec3dd}
body.dark .v1654-special-tabs button:not(.active):not(:disabled):hover{background:#3c2f4e;color:#fff}
/* Supporting copy in newer panels cannot inherit legacy dark-on-dark colours. */
body.dark .diio-language-hero h1{color:#f5f0fb}
body.dark :is(.v153-jobs-contract,.v153-mobility-tagline,.v1622-code-empty p){color:#cec3dd}
body.dark .v91-auth-foot{color:#d0c5df;opacity:1}
body.dark :is(.v1630-help-kicker,.v153-mobility-kicker-icon){color:#dbc2ff}
body.dark :is(.v1630-help-service-icon,.v1630-help-section-icon,.v153-jobs-source-icon,.v152-mobility-card-icon){background:#382c49;color:#e4ceff}
/* Provider selectors outrank older .btn:not(...) rules. */
body.dark .v91-oauth-grid :is(.btn.google-signin-button,.btn.apple-signin-button){
  background:#fff!important;color:#17121e!important;border-color:#b7afc0!important;
}
body.dark .v91-oauth-grid :is(.btn.google-signin-button,.btn.apple-signin-button) span{color:#17121e!important}
body.dark .campus-native-copy strong{color:#f5f0fb!important}
body.dark .campus-native-copy small{color:#cec3dd!important}
body.dark .diio-language-head h1{color:#f5f0fb}
body.dark[data-route="events"] :is(.v140-event-kicker,.v140-event-city-pill span){color:#dbc2ff!important}
body.dark :is(.v144-city-major-date,.v143-festival-date) strong{color:#e9ddf7!important}
body.dark .v140-event-count-line strong{background:#382c49!important;color:#f5f0fb!important}
body.dark .v140-event-calendar{background:#382c49!important;color:#f5f0fb!important}
body.dark .v140-event-calendar small{background:#382c49!important;color:#f5f0fb!important}
body.dark .v12-nearby-poster-card>span{color:#dbc2ff}
body.dark .v12-near-category .near-category-premium-icon{color:#dbc2ff!important;background:#382c49}
body.dark .category-help-strip>span{color:#dbc2ff}
body.dark .v10-guides-flight-plane{color:#dbc2ff}
body.dark .v1660-trust-inline b{color:#c6efd3;background:#263b31}
body.dark :is(.v1633-food-filter-head,.v1622-section-head,.v1628-fit-section-head) span{color:#dbc2ff}
body.dark .v1622-code-empty{background:#241e30;border-color:#685879}
body.dark .v1622-code-empty p{color:#cec3dd!important}
body.dark .v1622-shopping-connector-top span{color:#cec3dd}
body.dark .v136-housing-hero .v10-reference-kicker{color:#dbc2ff}
body.dark .v153-jobs-kicker :is(span,strong),
body.dark .v153-jobs-hero-badges b,
body.dark .v153-mobility-kicker>span{color:#dbc2ff}
body.dark .v153-jobs-source-icon>span{color:#e4ceff}
body.dark .v152-mobility-card>b{color:#dbc2ff}
body.dark .category-page-hero .eyebrow{color:#fff!important}
body.dark :is(.v1630-help-section-title,.v1630-help-directory-head)>span{color:#dbc2ff}
body.dark .v1630-help-kicker i{background:#382c49;color:#e4ceff}
/* Calendar's inline light panels previously inherited near-white body text. */
body.dark :is(.v11-calendar-holidays,.v11-calendar-holiday-row){background:#241e30;border-color:#685879;color:#f5f0fb}
body.dark .v11-calendar-holiday-copy strong{color:#f5f0fb}
body.dark .v11-calendar-holiday-copy small{color:#cec3dd;opacity:1}
body.dark .v11-calendar-holiday-lock{color:#dbc2ff;opacity:1}
body.dark .v11-calendar-day>span{color:#cec3dd}
body.dark .v11-calendar-day.is-holiday>span{color:#e2c7ff}
/* Activity remains readable; no changes to tracking or Android feature guards. */
body.dark .diio-activity .v1628-fit-week-total{color:#f5f0fb!important}
body.dark .v1628-fit-training-grid b,
body.dark .v1628-fit-shopping-link b{color:#dbc2ff}
body.dark .v1628-fit-footer-note{background:#241e30;border-color:#685879}
body.dark .v1628-fit-footer-note p{color:#cec3dd}
body.dark .v1628-fit-footer-note>span{color:#dbc2ff}
body.dark :is(.v12-notification-control-mark,.v12-notification-pref-icon,
  .v12-privacy-section-icon,.v12-privacy-row-icon,.v12-privacy-detail-icon,
  .v12-privacy-control-icon){background:#382c49;color:#e4ceff}
body.dark :is(.v12-privacy-status,.v12-feedback-trust)>span{color:#dbc2ff}
body.dark .campus-native-main{background:#241e30!important;border-color:#685879!important}
body.dark .v1622-code-empty strong{color:#f5f0fb}
body.dark .v1622-shopping-tool-head span{color:#dbc2ff}
body.dark .v12-near-category.active .near-category-premium-icon{background:#493262!important;color:#fff!important}
body.dark .v153-jobs-hero-badges b{background:#382c49;color:#e4ceff}
body.dark .v153-jobs-path>span{background:#382c49;color:#e4ceff}
body.dark .v11-calendar-holidays-head span{color:#dbc2ff}
body.dark :is(.v11-calendar-holidays-region,.v11-calendar-holiday-date){background:#382c49;color:#e4ceff}
body.dark .v1661-plan-hero-state{background:#30273e}
body.dark :is(.v1661-plan-hero-state,.v1661-plan-stats) strong{color:#f5f0fb!important}
body.dark .v12-reminders-float{background:#30273e;color:#dbc2ff}
body.dark .d1-notification-empty p{color:#cec3dd}
body.dark .v1630-help-emergency-card.emergency b{color:#ffd7d7}
body.dark :is(.v12-privacy-status,.v12-feedback-trust)>span{background:#382c49;color:#e4ceff}
body.dark .v1628-fit-gear-grid b{color:#dbc2ff}
/* These directory and drawer rules must outrank legacy !important surfaces. */
body.dark .campus-native-page .diio-campus-directory>.campus-native-row{background:#241e30!important;border-color:#685879!important}
body.dark .v10-premium-drawer-brand .brand-mark{background:#7040bd!important;color:#fff!important}
body.dark .v10-premium-drawer-brand .brand-mark span{color:#fff!important}
body.dark .v12-reminders-float :is(span,small){color:#e4ceff}
body.dark .v12-notification-feed .d1-notification-empty{background:#241e30;border-color:#685879}
body.dark .v12-notification-feed .d1-notification-empty p{color:#cec3dd}
body.dark .v1630-help-emergency-card.police b{color:#d8ddff}
body.dark :is(.v12-privacy-status,.v12-feedback-trust) span{color:#e4ceff;background:#382c49}
body.dark .v1630-help-emergency-card.urgent b{color:#e0ffee}

/* Header glyphs need their own colour; SVG fill defaults must not hide them. */
body.dark .topbar .v96-header-icon{color:#f5f0fb!important}
body.dark .topbar .mobile-icon-control{background:#30273e;border-color:#685879;color:#f5f0fb}
body.dark .topbar .mobile-menu-trigger{color:#f5f0fb}
body.dark .topbar .mobile-menu-trigger span{background:currentColor}
body.dark .topbar [data-route="share"]>svg{fill:none;stroke:currentColor;stroke-width:1.8}
body.dark[data-route="share"] .v1662-share-actions .btn.primary{background:#7040bd!important;color:#fff!important}
