/* Appearance controls and warm dark surfaces. Loaded after the workspace CSS. */
:root {
  --scope-bg:#E4F8F5;
  --scope-ink:#241F1B;
  --scope-muted:#4B615C;
  --scope-line:#9CC7BD;
}
.theme-toggle.icon-button {
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:10px;
  flex:0 0 44px;
  background:var(--surface2);
  color:var(--deep);
  box-shadow:none;
}
.theme-toggle .dg-icon { width:21px; height:21px; }
.theme-toggle .theme-moon { display:block; }
.theme-toggle .theme-sun { display:none; }
:root[data-theme="dark"] .theme-toggle .theme-moon { display:none; }
:root[data-theme="dark"] .theme-toggle .theme-sun { display:block; }
.login-appearance { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.login-header { gap:16px; }
.theme-system {
  min-height:44px;
  padding:9px 12px;
  font-size:.72rem;
  line-height:1.5;
  color:var(--muted);
  background:var(--surface2);
  border-color:var(--line);
  box-shadow:none;
}
.theme-system:disabled { opacity:1; cursor:default; }
.sidebar-foot .theme-system { width:100%; margin-top:16px; }
.login-theme-setting { display:flex; justify-content:center; margin-top:18px; }
.login-theme-setting .theme-system { font-size:.74rem; }
.topbar>.row { flex-shrink:0; }
.breadcrumbs { flex:1; }
.breadcrumbs strong { overflow:hidden; text-overflow:ellipsis; }
.calendar-detail-close { width:44px; height:44px; min-width:44px; min-height:44px; padding:10px; flex-shrink:0; }

/* Screens inherit the app's warm neutral foundation. Print uses light tokens. */
@media screen {
  :root[data-theme="dark"] {
    color-scheme:dark;
    --bg:#16140F;
    --surface:#221F1A;
    --surface2:#2C2823;
    --ink:#F3EEE6;
    --muted:#B7AEA3;
    --faint:#9F9487;
    --line:#34302A;
    --line-soft:#2A2620;
    --primary:#1FC0B4;
    --dark:#0E988E;
    --deep:#6FE0D5;
    --teal:#6FE0D5;
    --soft:#173A33;
    --tint:#1B2D27;
    --on:#06342F;
    --gold:#3D3125;
    --danger:#FFC0B5;
    --glow:rgba(31,192,180,.22);
    --shadow:0 1px 2px #0004,0 10px 28px -12px #0009;
    --control-line:#807363;
    --teal-line:#477D70;
    --warning-bg:#3E301B;
    --warning-line:#846735;
    --warning-ink:#F3CD8B;
    --danger-bg:#412620;
    --danger-line:#98645D;
    --success-bg:#1C3529;
    --success-ink:#A7DBB4;
    --identity-ink:#E6C38E;
    --scope-bg:#173A33;
    --scope-ink:#F3EEE6;
    --scope-muted:#BAD6CD;
    --scope-line:#477D70;
  }
  :root[data-theme="dark"] ::selection { background:#266A5E; color:var(--ink); }
  :root[data-theme="dark"] body { color:var(--ink); }
  :root[data-theme="dark"] .brand img { filter:brightness(0) invert(1); }
  :root[data-theme="dark"] button { box-shadow:0 2px 5px -3px #0008; }
  :root[data-theme="dark"] button:hover { border-color:var(--teal-line); background:var(--tint); }
  :root[data-theme="dark"] .primary,
  :root[data-theme="dark"] button.primary {
    background:linear-gradient(180deg,var(--primary),#19B3A7);
    color:var(--on);
    border-color:transparent;
    box-shadow:0 8px 22px -8px var(--glow),inset 0 1px 0 #FFFFFF30;
  }
  :root[data-theme="dark"] .primary:hover { background:linear-gradient(180deg,#2FCABD,#1FC0B4); border-color:transparent; }
  :root[data-theme="dark"] .danger { border-color:var(--danger-line); }
  :root[data-theme="dark"] .danger:hover { background:var(--danger-bg); }
  :root[data-theme="dark"] .theme-toggle.icon-button { box-shadow:none; }
  :root[data-theme="dark"] .theme-system { box-shadow:none; }
  :root[data-theme="dark"] .theme-system:disabled:hover { border-color:var(--line); background:var(--surface2); }
  :root[data-theme="dark"] .context-back,
  :root[data-theme="dark"] .sidebar-close,
  :root[data-theme="dark"] .calendar-event,
  :root[data-theme="dark"] .calendar-clear,
  :root[data-theme="dark"] .calendar-more,
  :root[data-theme="dark"] .calendar-today,
  :root[data-theme="dark"] .calendar-timeline-date { box-shadow:none; }
  :root[data-theme="dark"] .workspace-label { border-color:var(--teal-line); background:linear-gradient(130deg,var(--tint),var(--soft)); }
  :root[data-theme="dark"] .nav-link[aria-current="page"] { box-shadow:inset 0 0 0 1px var(--teal-line); }
  :root[data-theme="dark"] .topbar { background:#16140FF2; }
  :root[data-theme="dark"] .avatar,
  :root[data-theme="dark"] .identity-mark { background:var(--gold); color:var(--identity-ink); }
  :root[data-theme="dark"] .status-dot { background:#80CFA0; }
  :root[data-theme="dark"] .local-banner { background:#32291B; border-color:#665032; color:var(--warning-ink); }
  :root[data-theme="dark"] .local-banner .local-secondary { color:#D7BC8E; }
  :root[data-theme="dark"] .stat-card { background:linear-gradient(150deg,var(--surface) 70%,var(--tint)); }
  :root[data-theme="dark"] .warning { background:var(--warning-bg); border-color:var(--warning-line); color:var(--warning-ink); }
  :root[data-theme="dark"] .badge.warning { background:var(--warning-bg); color:var(--warning-ink); }
  :root[data-theme="dark"] .badge.danger { background:var(--danger-bg); color:var(--danger); }
  :root[data-theme="dark"] .badge.success { background:var(--success-bg); color:var(--success-ink); }
  :root[data-theme="dark"] .empty>span { color:#8BC9B9; }
  :root[data-theme="dark"] .work-tabs,
  :root[data-theme="dark"] .tabs { background:#1C1915; }
  :root[data-theme="dark"] .work-tabs button,
  :root[data-theme="dark"] .tabs button { background:transparent; box-shadow:none; }
  :root[data-theme="dark"] .work-tabs button[aria-selected="true"],
  :root[data-theme="dark"] .work-tabs button[aria-pressed="true"],
  :root[data-theme="dark"] .work-tabs button.active,
  :root[data-theme="dark"] .tabs button[aria-selected="true"],
  :root[data-theme="dark"] .tabs button[aria-pressed="true"],
  :root[data-theme="dark"] .tabs button.active {
    background:var(--surface2);
    color:var(--deep);
    box-shadow:0 3px 9px -3px #0006,inset 0 0 0 1px #4A4238;
  }
  :root[data-theme="dark"] input,
  :root[data-theme="dark"] select,
  :root[data-theme="dark"] textarea {
    background:#191713;
    color:var(--ink);
    border-color:var(--control-line);
    box-shadow:inset 0 1px 2px #0003;
  }
  :root[data-theme="dark"] input:hover,
  :root[data-theme="dark"] select:hover,
  :root[data-theme="dark"] textarea:hover { border-color:#98A89A; }
  :root[data-theme="dark"] input:focus,
  :root[data-theme="dark"] select:focus,
  :root[data-theme="dark"] textarea:focus { border-color:var(--deep); box-shadow:0 0 0 3px #6FE0D522; }
  :root[data-theme="dark"] input::placeholder,
  :root[data-theme="dark"] textarea::placeholder { color:var(--muted); opacity:1; }
  :root[data-theme="dark"] input[type="checkbox"],
  :root[data-theme="dark"] input[type="radio"] { accent-color:var(--deep); box-shadow:none; }
  :root[data-theme="dark"] option { background:var(--surface); color:var(--ink); }
  :root[data-theme="dark"] .disclosure { box-shadow:0 1px 3px #0003; }
  :root[data-theme="dark"] th { background:var(--surface2); }
  :root[data-theme="dark"] tbody tr:hover { background:#1B2D2780; }
  :root[data-theme="dark"] .timeline-item { border-left-color:var(--teal-line); }
  :root[data-theme="dark"] .login-illustration:before { background:radial-gradient(ellipse at center,#244B3B,#1B3028); }
  :root[data-theme="dark"] .login-illustration img { filter:drop-shadow(0 13px 14px #0005); }
  :root[data-theme="dark"] #notice { background:#EEE6DA; color:#241F1B; border:1px solid #D8CFC2; }
  :root[data-theme="dark"] #notice.error { background:var(--danger-bg); color:var(--danger); border-color:var(--danger-line); }
  :root[data-theme="dark"] #notice:empty { border-width:0; }
  :root[data-theme="dark"] .pet-strip>.card { background:linear-gradient(130deg,var(--surface),var(--tint)); border-color:var(--teal-line); }
  :root[data-theme="dark"] .practice-contact { border-color:var(--teal-line); }
  :root[data-theme="dark"] .work-area-toolbar.is-stuck { box-shadow:0 9px 13px -13px #000C; }
  :root[data-theme="dark"] .mobile-area-picker { box-shadow:0 3px 10px #0003; }
  :root[data-theme="dark"] .mobile-area-picker select { background:var(--tint); border-color:var(--control-line); }

  /* Identity, fees, course cards and session dates share the same surfaces. */
  :root[data-theme="dark"] .money-panel { background:linear-gradient(125deg,var(--tint),#20392D); border-color:#47745E; }
  :root[data-theme="dark"] .money-panel .money-panel-note { border-color:#47745E; }
  :root[data-theme="dark"] .money-panel-neutral { background:var(--surface2); border-color:var(--line); }
  :root[data-theme="dark"] .money-panel-neutral .money-panel-note { border-color:var(--line); }
  :root[data-theme="dark"] .session-date { border-color:var(--teal-line); }
  :root[data-theme="dark"] .skill-list>li { border-left-color:var(--teal-line); }
  :root[data-theme="dark"] .pos-balance-card { border-top-color:#5DAF9B; }

  /* Product illustrations keep their colours; only their backdrops change. */
  :root[data-theme="dark"] .pos-search { background:#191713; border-color:var(--control-line); }
  :root[data-theme="dark"] .pos-search input,
  :root[data-theme="dark"] .pos-search input:focus { background:transparent; box-shadow:none; }
  :root[data-theme="dark"] .pos-categories button { background:transparent; border-color:transparent; box-shadow:none; }
  :root[data-theme="dark"] .pos-categories button:hover { background:var(--surface2); color:var(--ink); }
  :root[data-theme="dark"] .pos-categories [aria-pressed="true"] { background:var(--deep); color:var(--on); }
  :root[data-theme="dark"] .pos-categories [aria-pressed="true"]:hover { background:#8BEADD; color:var(--on); }
  :root[data-theme="dark"] .pos-product { background:var(--surface); border-color:#4A4238; box-shadow:0 4px 15px -10px #0009; }
  :root[data-theme="dark"] .pos-product:hover { background:var(--surface2); border-color:#70B9A8; box-shadow:0 12px 24px -15px #000B; }
  :root[data-theme="dark"] .pos-art { background:#382C20; }
  :root[data-theme="dark"] .pos-art-services,
  :root[data-theme="dark"] .pos-art-consultations { background:#1B3430; }
  :root[data-theme="dark"] .pos-art-passes { background:#322840; }
  :root[data-theme="dark"] .pos-art-vouchers { background:#3E2A26; }
  :root[data-theme="dark"] .pos-basket { background:var(--surface); box-shadow:0 12px 38px -24px #000B; }
  :root[data-theme="dark"] .pos-basket-summary { background:linear-gradient(110deg,var(--tint),var(--surface)); }
  :root[data-theme="dark"] .pos-docked .pos-basket-body { background:var(--surface); }
  :root[data-theme="dark"] .pos-cart-line { border-bottom-color:#544A3D; }
  :root[data-theme="dark"] .pos-empty>.dg-icon { color:#87B5A3; }
  :root[data-theme="dark"] .pos-balance-card { background:linear-gradient(160deg,var(--tint),var(--surface) 150px); }
  :root[data-theme="dark"] .pos-methods button { background:var(--surface2); }
  :root[data-theme="dark"] .pos-methods [aria-pressed="true"] { background:var(--soft); color:var(--deep); border-color:var(--deep); box-shadow:inset 0 0 0 1px var(--deep); }
  :root[data-theme="dark"] .pos-quantity button { box-shadow:none; }
  :root[data-theme="dark"] .pos-line-end>.icon-button { background:transparent; box-shadow:none; }
  :root[data-theme="dark"] .pos-line-end>.icon-button:hover { background:var(--danger-bg); color:var(--danger); }

  /* Calendar surfaces, day emphasis and separate semantic event palettes. */
  :root[data-theme="dark"] .calendar-summary>div { background:var(--surface); box-shadow:0 2px 9px -6px #0008; }
  :root[data-theme="dark"] .calendar-summary>div:nth-child(2) .calendar-summary-icon { background:var(--warning-bg); color:var(--warning-ink); }
  :root[data-theme="dark"] .calendar-summary .has-attention .calendar-summary-icon { background:var(--danger-bg); color:#F0B69A; }
  :root[data-theme="dark"] .calendar-surface,
  :root[data-theme="dark"] .calendar-weekdays,
  :root[data-theme="dark"] .calendar-month-day,
  :root[data-theme="dark"] .calendar-timeline-head,
  :root[data-theme="dark"] .calendar-timeline-date,
  :root[data-theme="dark"] .calendar-time-grid,
  :root[data-theme="dark"] .calendar-request-card { background:var(--surface); }
  :root[data-theme="dark"] .calendar-toolbar.work-area-toolbar { background:#221F1AF5; }
  :root[data-theme="dark"] .calendar-toolbar.work-area-toolbar.is-stuck { box-shadow:0 5px 14px -8px #0009; }
  :root[data-theme="dark"] .calendar-date-controls .icon-button { box-shadow:none; }
  :root[data-theme="dark"] .calendar-date-picker input,
  :root[data-theme="dark"] .calendar-resource-filters select { background:var(--surface2); border-color:var(--control-line); }
  :root[data-theme="dark"] .calendar-view-controls button { background:transparent; box-shadow:none; }
  :root[data-theme="dark"] .calendar-view-controls button[aria-pressed="true"] { background:var(--soft); border-color:var(--teal-line); color:var(--deep); box-shadow:none; }
  :root[data-theme="dark"] .calendar-search { background:#191713; border-color:var(--control-line); }
  :root[data-theme="dark"] .calendar-search input,
  :root[data-theme="dark"] .calendar-search input:focus { background:transparent; box-shadow:none; }
  :root[data-theme="dark"] .calendar-search input::placeholder { color:var(--muted); }
  :root[data-theme="dark"] .calendar-results-line,
  :root[data-theme="dark"] .calendar-view-caption,
  :root[data-theme="dark"] .calendar-footer { background:#26221D; }
  :root[data-theme="dark"] [data-calendar-feedback],
  :root[data-theme="dark"] .calendar-clock-note { background:var(--warning-bg); border-color:var(--warning-line); color:var(--warning-ink); }
  :root[data-theme="dark"] .calendar-weekdays>span:nth-last-child(-n+2) { color:#C8AE8B; }
  :root[data-theme="dark"] .calendar-month-day:nth-child(7n),
  :root[data-theme="dark"] .calendar-month-day:nth-child(7n-1) { background:#26221D; }
  :root[data-theme="dark"] .calendar-month-day.is-outside { background:#1E1B16; }
  :root[data-theme="dark"] .calendar-month-day.is-today { background:#20312B; }
  :root[data-theme="dark"] .calendar-month-day.is-selected { box-shadow:inset 0 0 0 1.5px #76BCA7; }
  :root[data-theme="dark"] .calendar-day-number { box-shadow:none; background:transparent; }
  :root[data-theme="dark"] .calendar-day-number:hover { background:var(--soft); }
  :root[data-theme="dark"] .calendar-day-number[aria-current="date"],
  :root[data-theme="dark"] .calendar-day-number[aria-current="date"]:hover,
  :root[data-theme="dark"] .calendar-timeline-date.is-today strong { background:var(--deep); color:var(--on); }
  :root[data-theme="dark"] .calendar-day-count { background:#383128; }
  :root[data-theme="dark"] .calendar-event,
  :root[data-theme="dark"] .calendar-boarding {
    --cal-event-bg:#20372C;
    --cal-event-line:#74C9A0;
    --cal-event-ink:#C1E9D0;
    --cal-event-faint:#A2CEB4;
  }
  :root[data-theme="dark"] .calendar-daycare {
    --cal-event-bg:#3C2E1B;
    --cal-event-line:#DEB366;
    --cal-event-ink:#F6D494;
    --cal-event-faint:#DEC49B;
  }
  :root[data-theme="dark"] .calendar-appointment {
    --cal-event-bg:#22333F;
    --cal-event-line:#84B7DC;
    --cal-event-ink:#CAE6F6;
    --cal-event-faint:#AECCDF;
  }
  :root[data-theme="dark"] .calendar-class {
    --cal-event-bg:#322A42;
    --cal-event-line:#BA9DDB;
    --cal-event-ink:#E5D7F7;
    --cal-event-faint:#CABBDC;
  }
  :root[data-theme="dark"] .calendar-protected {
    --cal-event-bg:#312C25;
    --cal-event-line:#A99C8B;
    --cal-event-ink:#DBD2C6;
    --cal-event-faint:#BDAFA0;
  }
  :root[data-theme="dark"] .calendar-event:hover {
    background:var(--cal-event-bg);
    border-color:var(--cal-event-line);
    border-left-color:var(--cal-event-line);
    box-shadow:0 2px 5px -3px #0008;
    filter:none;
  }
  :root[data-theme="dark"] .calendar-event.is-pending {
    --cal-event-bg:#42321C;
    --cal-event-line:#B69158;
    --cal-event-ink:#F3D39A;
    --cal-event-faint:#D8BA87;
    background:var(--cal-event-bg);
    color:var(--cal-event-ink);
    border-color:var(--cal-event-line);
    border-left-color:var(--cal-event-line);
  }
  :root[data-theme="dark"] .calendar-event.is-closed {
    --cal-event-bg:#2C2823;
    --cal-event-line:#70655A;
    --cal-event-ink:#CDC3B7;
    --cal-event-faint:#B7AA9B;
    background:var(--cal-event-bg);
    color:var(--cal-event-ink);
    border-color:transparent;
    border-left-color:var(--cal-event-line);
  }
  :root[data-theme="dark"] .calendar-event.is-closed:hover { border-color:var(--cal-event-line); }
  :root[data-theme="dark"] .calendar-event.is-overdue { border-left-color:#E3A181; }
  :root[data-theme="dark"] .calendar-timeline-date.is-selected { background:var(--tint); }
  :root[data-theme="dark"] .calendar-span-row { background:#26221D; }
  :root[data-theme="dark"] .calendar-time-day.is-today { background:#1D2A24; }
  :root[data-theme="dark"] .calendar-hour { background:linear-gradient(to bottom,transparent calc(50% - .5px),#51483A50 50%,transparent calc(50% + .5px)); }
  :root[data-theme="dark"] .calendar-missing-hour { background:repeating-linear-gradient(135deg,#302B23,#302B23 5px,#25211B 5px,#25211B 10px); }
  :root[data-theme="dark"] .calendar-now-line,
  :root[data-theme="dark"] .calendar-now-line:before { background:#F09A80; }
  :root[data-theme="dark"] .calendar-agenda-icon { background:#FFFFFF0D; }
  :root[data-theme="dark"] .calendar-badge { background:var(--soft); color:var(--deep); }
  :root[data-theme="dark"] .calendar-badge.is-pending { background:var(--warning-bg); color:var(--warning-ink); }
  :root[data-theme="dark"] .calendar-badge.is-closed { background:#383128; color:#D0C5B7; }
  :root[data-theme="dark"] .calendar-legend-dot { background:#74C9A0; border-color:#74C9A0; }
  :root[data-theme="dark"] .calendar-legend-dot.is-pending { background:#B69158; border-color:#F3D39A; }
  :root[data-theme="dark"] .calendar-legend-dot.is-closed { background:#70655A; border-color:#B7AA9B; }
  :root[data-theme="dark"] .calendar-empty>.dg-icon { color:#87B5A3; }
  :root[data-theme="dark"] .calendar-request-heading>span { background:var(--warning-bg); color:var(--warning-ink); }
  :root[data-theme="dark"] .calendar-request { background:#342A1C; border-color:var(--warning-line); }
  :root[data-theme="dark"] .calendar-request:hover { background:#3E321F; border-color:#BA9459; }
  :root[data-theme="dark"] .calendar-request .dg-icon { color:var(--warning-ink); }
  :root[data-theme="dark"] .calendar-dialog { background:var(--surface); box-shadow:0 24px 90px -28px #000C; }
  :root[data-theme="dark"] .calendar-dialog::backdrop { background:#090C09C0; }
  :root[data-theme="dark"] .calendar-detail-head { border-bottom-color:var(--line); }
  :root[data-theme="dark"] .calendar-detail-icon { background:#FFFFFF0D; }
  :root[data-theme="dark"] .calendar-detail-close { background:#FFFFFF0D; color:var(--ink); box-shadow:none; }
  :root[data-theme="dark"] .calendar-detail-close:hover { background:#FFFFFF18; border-color:var(--cal-event-line,var(--teal-line)); }
  :root[data-theme="dark"] .calendar-detail-body>.calendar-badge.is-pending { background:var(--warning-bg); }
  :root[data-theme="dark"] .calendar-detail-body>.calendar-badge.is-closed { background:#383128; }
  :root[data-theme="dark"] .calendar-detail-notice { border-color:var(--teal-line); }
  :root[data-theme="dark"] .calendar-detail-notice.is-attention { background:var(--warning-bg); border-color:var(--warning-line); color:var(--warning-ink); }

  /* Link buttons and the Today board share the warm dark surfaces. */
  :root[data-theme="dark"] a.button { box-shadow:0 2px 5px -3px #0008; }
  :root[data-theme="dark"] a.button:hover { border-color:var(--teal-line); background:var(--tint); }
  :root[data-theme="dark"] a.button.secondary { background:var(--surface2); }
  :root[data-theme="dark"] a.button.primary { background:linear-gradient(180deg,var(--primary),#19B3A7); color:var(--on); border-color:transparent; box-shadow:0 8px 22px -8px var(--glow),inset 0 1px 0 #FFFFFF30; }
  :root[data-theme="dark"] a.button.primary:hover { background:linear-gradient(180deg,#2FCABD,#1FC0B4); }
  :root[data-theme="dark"] .today-jump { background:#1C1915; }
  :root[data-theme="dark"] .today-jump button:hover { background:var(--surface2); }
  :root[data-theme="dark"] a.today-item:hover { border-color:var(--teal-line); background:var(--tint); }
  :root[data-theme="dark"] .today-item.is-warning,
  :root[data-theme="dark"] a.today-item.is-warning:hover { border-left-color:#B69158; }
  :root[data-theme="dark"] .today-item.is-danger,
  :root[data-theme="dark"] a.today-item.is-danger:hover { border-left-color:#C77F72; }
}

/* Reserve full touch targets for the four mobile shell controls. */
@media screen and (max-width:780px) {
  .topbar { padding-inline:14px; gap:10px; }
  .nav-compact .topbar { padding-inline:14px; }
  .mobile-brand { flex:1 1 0; min-width:0; gap:10px; }
  .mobile-brand .brand { flex:0 1 auto; min-width:0; max-width:100%; }
  .mobile-brand .brand img { max-width:100%; }
  .mobile-brand .brand-caption { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .topbar>.row { flex:0 0 auto; gap:8px; }
  .topbar #lock { width:44px; height:44px; min-width:44px; min-height:44px; flex:0 0 44px; padding:10px; }
  .login-appearance { gap:8px; }
  .calendar-date-controls { grid-template-columns:44px 44px max-content minmax(0,1fr); }
  .calendar-date-controls .icon-button { width:44px; height:44px; min-height:44px; padding:10px; }
  .calendar-view-controls button { min-height:44px; }
  .pos-line-end>.icon-button { width:44px; }
  :root[data-theme="dark"] .sidebar { box-shadow:20px 0 60px #0007; }
  :root[data-theme="dark"] .menu-scrim.is-open { background:#090807A8; box-shadow:none; }
  :root[data-theme="dark"] .mobile-nav { background:#221F1AF2; border-color:var(--line); box-shadow:0 10px 30px -8px #0009,inset 0 0 0 1px #34302A; }
  :root[data-theme="dark"] .mobile-nav button,
  :root[data-theme="dark"] .mobile-menu { box-shadow:none; }
  :root[data-theme="dark"] .pos-basket { box-shadow:0 8px 28px #0006; }
}
@media screen and (max-width:420px) {
  .topbar,
  .nav-compact .topbar { padding-inline:12px; }
  .calendar-date-controls { grid-template-columns:44px 44px minmax(0,1fr); gap:6px; }
  .calendar-date-controls [data-calendar-step="-1"] { grid-column:1; grid-row:2; }
  .calendar-date-controls [data-calendar-step="1"] { grid-column:2; grid-row:2; }
  .calendar-date-controls .calendar-today { grid-column:3; grid-row:1; width:44px; min-width:44px; padding:10px; justify-self:end; }
  .calendar-today>.dg-icon { display:block; }
  .calendar-today>span { display:none; }
  .calendar-date-controls h2 { grid-column:1/-1; grid-row:1; min-height:44px; display:flex; align-items:center; padding-right:52px; margin:0; }
  .calendar-date-picker { grid-column:3; grid-row:2; width:100%; justify-self:end; }
  .calendar-date-picker input { min-height:44px; }
}
@media screen and (max-width:380px) {
  .login-header { gap:8px; }
  .login-header .brand { min-width:0; }
  .login-header .brand img { width:105px; max-width:100%; }
  .login-status { font-size:.61rem; padding:7px; gap:5px; }
  .login-status .status-dot { margin-right:0; }
}

/* Paper always uses the light palette, including a receipt printed from dark mode. */
@media print {
  :root[data-theme="dark"] { color-scheme:light; }
  .theme-toggle,
  .theme-system,
  .login-appearance,
  .login-theme-setting { display:none!important; }
  .print-receipt,
  .receipt { color:#241F1B; background:#FFFFFF; box-shadow:none; }
  .print-receipt th,
  .receipt th { background:#F4EEE6; color:#4B433B; }
  .print-receipt td,
  .receipt td { border-color:#B8B0A6; }
  .print-receipt .muted,
  .print-receipt small,
  .receipt .muted,
  .receipt small { color:#5D554D; }
}
