/* Loaded only by the dashboard and guest menu; one shared token palette. */
:root:has(body.dinetap-premium) {
  --bg: #050b08;
  --sidebar: #0c1912;
  --surface: #14271e;
  --surface2: #203c2d;
  --surface-hover: #2c4b3b;
  --text: #f2f7f4;
  --muted: #c2d1c9;
  --mint: #71e6ad;
  --mint2: #b4f5d2;
  --line: #456451;
  --control-line: #72947f;
  --action: #087547;
  --action-hover: #075e39;
  --on-action: #ffffff;
  --selected: #204b37;
  --success-surface: #224c35;
  --success-text: #b4f5cc;
  --warning-surface: #453419;
  --warning-text: #ffe0a3;
  --danger-surface: #4b2b2b;
  --danger-text: #ffc1b9;
  --connection-surface: #e0f6eb;
  --connection-text: #0b3d2e;
  --preparing-surface: #262846;
  --preparing-text: #c6ccff;
  --paid-surface: #173548;
  --paid-text: #b4e7ff;
  --dt-glass: var(--surface);
  --dt-glass-strong: var(--surface2);
  --dt-edge: var(--line);
  --dt-edge-hot: var(--control-line);
  --dt-glow: var(--shadow);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --ease-out: cubic-bezier(.2,.7,.2,1);
  --duration-fast: 160ms;
  --duration-normal: 260ms;
  --glass: rgb(20 39 30 / 94%);
  --sidebar-glass: rgb(12 25 18 / 95%);
  --glow: 0 0 24px rgb(65 230 151 / 12%);
  --shadow: 0 14px 36px rgb(0 0 0 / 30%);
  --action-end: #06643e;
}

@media screen {
  body.dinetap-premium { font-family: var(--font-body); line-height: 1.6; font-variant-numeric: tabular-nums; }
  .dinetap-premium :is(button, input, select, textarea) { font-family: var(--font-body); }
  .dinetap-premium h1, .dinetap-premium h2, .dinetap-premium h3,
  .dinetap-premium .value, .dinetap-premium .billing-plan-price,
  .dinetap-premium .dish-price, .dinetap-premium #total,
  .dinetap-premium #stickyCartTotal, .dinetap-premium #addonSheetTotal { font-family: var(--font-display); }
  .dinetap-premium .value, .dinetap-premium .billing-plan-price,
  .dinetap-premium .dish-price, .dinetap-premium .row strong,
  .dinetap-premium .line, .dinetap-premium td,
  .dinetap-premium #stickyCartTotal { font-variant-numeric: tabular-nums; }
  .dinetap-premium .notyf__toast {
    background: var(--surface2) !important; color: var(--text);
    border: 1px solid var(--control-line); border-radius: var(--radius-md);
    box-shadow: var(--shadow); max-width: min(420px, calc(100vw - 32px));
  }
  .dinetap-premium .notyf__ripple { display: none; }
  .dinetap-premium .notyf__message { color: var(--text); overflow-wrap: anywhere; }
  .dinetap-premium .notyf__dismiss-btn { opacity: 1; }
  .dinetap-premium .notyf { z-index: 2000; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .dinetap-premium .premium-toast-fallback {
    position: fixed; right: 16px; bottom: 24px; z-index: 2000;
    max-width: min(420px, calc(100vw - 32px)); padding: 16px 20px;
    background: var(--surface2); color: var(--text); border: 1px solid var(--control-line);
    border-radius: var(--radius-md); box-shadow: var(--shadow);
  }
}
@media (prefers-reduced-motion: reduce) {
  .dinetap-premium *, .dinetap-premium *::before, .dinetap-premium *::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
}

/* Standalone scan and missing-page screens share the product palette. */
.standalone-page { margin: 0; min-height: 100dvh; display: grid; place-items: center; padding: 24px; box-sizing: border-box; color: var(--text); background: radial-gradient(ellipse at 80% 0,rgb(16 137 81 / 22%),transparent 55%),var(--bg); }
.standalone-panel { box-sizing: border-box; width: min(520px,100%); padding: 32px 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); text-align: center; color: var(--text); }
.standalone-panel[hidden] { display: none; }
.standalone-brand { font: 600 24px var(--font-body); color: var(--text); text-decoration: none; }
.standalone-brand span { color: var(--mint); }
.standalone-panel h1 { font-size: clamp(28px,6vw,42px); margin: 24px 0 16px; }
.standalone-panel p { color: var(--muted); }
.standalone-code { font-size: 13px; letter-spacing: .15em; }
.standalone-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.standalone-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; box-sizing: border-box; border: 1px solid var(--control-line); border-radius: var(--radius-sm); color: var(--text); text-decoration: none; }
.standalone-actions a:first-child { background: var(--mint); color: var(--connection-text); }
