/* Shared theme controls and legacy surface tokens. */
:root { color-scheme: light; }
:root[data-theme=dark] {
  color-scheme: dark;
  --c-bg:var(--mm-paper); --c-bg-alt:var(--mm-raised);
  --c-surface:var(--mm-surface); --c-text:var(--mm-ink);
  --c-text-muted:var(--mm-muted); --c-text-light:var(--mm-muted);
  --c-glass:var(--mm-surface); --c-glass-hover:var(--mm-raised);
  --c-glass-border:var(--mm-line);
}
.global-theme-toggle {
  position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:3000;
  min-height:44px; padding:10px 16px; border:1px solid var(--mm-line);
  border-radius:24px; background:var(--mm-surface); color:var(--mm-ink);
  box-shadow:var(--mm-shadow); font:600 13px/1.4 system-ui,sans-serif; cursor:pointer;
}
.global-theme-toggle:focus-visible { outline:3px solid var(--mm-gold); outline-offset:3px; }
body { padding-bottom:76px; }
:root[data-theme=dark] body { background-color:var(--mm-paper); color:var(--mm-ink); }
:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) {
  background-color:var(--mm-surface); color:var(--mm-ink); border-color:var(--mm-line);
}
:root[data-theme=dark] :is(.card,.cc-panel,.dropdown__menu,.modal__content,.wallet-public-card,.portal-section-editor__row,.legacy-import-suggestion) {
  background-color:var(--mm-surface); color:var(--mm-ink); border-color:var(--mm-line);
}
:root[data-theme=dark] :is(th,td) { border-color:var(--mm-line); }
:root[data-theme=dark] thead { background-color:var(--mm-raised); }
:root[data-theme=dark] main#main-content { background:var(--mm-surface); }
:root[data-theme=dark] :is(.intro,footer) { color:var(--mm-muted); }
:root[data-theme=dark] .contact { background:var(--mm-selection); }
:root[data-theme=dark] :is(header,main#main-content,footer) a { color:var(--mm-gold); }
@media print { .global-theme-toggle { display:none!important; } body { padding-bottom:0; } }

:root[data-theme=dark] :is(.chart-card,.legacy-import-modal,.legacy-import-row,.wallet-public-page) { background:var(--mm-surface); color:var(--mm-ink); }
:root[data-theme=dark] .kitchen-terminal { --kt-ink:var(--mm-ink); --kt-muted:var(--mm-muted); --kt-line:var(--mm-line); background:var(--mm-paper); }
@media print { :root { color-scheme:light; } }

/* The patterned login wrapper has its own opaque background image. */
:root[data-theme=dark] :is(body.portal-page--food-pattern,.auth-page--food-pattern) {
  background-color:var(--mm-paper);
  background-image:url('../img/login-food-pattern-dark.svg');
}

/* Desktop navigation and the mobile drawer share the current theme. */
:root[data-theme=dark] :is(.navbar,.navbar__nav--portal) {
  background:var(--mm-surface);
  color:var(--mm-ink);
  border-color:var(--mm-line);
}
:root[data-theme=dark] .navbar__link.active { color:var(--mm-gold); }
:root[data-theme=dark] .dropdown__sep { background:var(--mm-line); }
:root[data-theme=dark] :is(.dropdown__item:not(.dropdown__item--danger),.nav-toggle):hover { background:var(--mm-raised); }
