/* Shared S-LINE client display preferences. */
html[data-theme="light"] {
  --background: oklch(.975 .003 260); --foreground: oklch(.23 .016 260);
  --card: oklch(1 0 0); --card-foreground: var(--foreground);
  --popover: oklch(1 0 0); --popover-foreground: var(--foreground);
  --primary: oklch(.49 .19 251); --primary-foreground: oklch(1 0 0);
  --secondary: oklch(.925 .01 260); --secondary-foreground: var(--foreground);
  --muted: oklch(.945 .006 260); --muted-foreground: oklch(.43 .016 260);
  --accent: oklch(.925 .03 251); --accent-foreground: var(--foreground);
  --destructive: oklch(.48 .19 26); --destructive-foreground: oklch(1 0 0);
  --success: oklch(.43 .12 155); --success-foreground: oklch(1 0 0);
  --warning: oklch(.49 .1 65); --warning-foreground: oklch(1 0 0);
  --info: var(--primary); --info-foreground: var(--primary-foreground);
  --chrome: oklch(.43 .016 260); --graphite: oklch(.94 .008 260);
  --border: oklch(.78 .012 260); --border-strong: oklch(.58 .016 260);
  --input: oklch(.68 .012 260); --ring: var(--primary);
  --sidebar: oklch(.96 .008 260); --sidebar-foreground: var(--foreground);
  --sidebar-accent: var(--accent); --sidebar-border: var(--border);
  --chart-1: var(--primary); --chart-2: var(--chrome); --chart-3: var(--success); --chart-4: var(--warning); --chart-5: var(--destructive);
  --shadow-panel: 0 1px 3px oklch(0 0 0 / .08), 0 10px 30px -20px oklch(0 0 0 / .12);
}
html[data-theme="light"] body { background: var(--background); color: var(--foreground); }
html[data-theme="light"] .surface-panel, html[data-theme="light"] .surface-raised,
html[data-theme="light"] .surface-inset, html[data-theme="light"] .chrome-band,
html[data-theme="light"] header, html[data-theme="light"] nav, html[data-theme="light"] aside {
  background-color: var(--card); background-image: none; color: var(--foreground); border-color: var(--border); box-shadow: var(--shadow-panel);
}
html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]), html[data-theme="light"] textarea, html[data-theme="light"] select {
  background: var(--card); color: var(--foreground); border-color: var(--input);
}
html[data-theme="light"] input::placeholder, html[data-theme="light"] textarea::placeholder { color: var(--muted-foreground); }
html[data-theme="light"] .metal-text { background: none; color: var(--foreground); }
html[data-theme="light"] .sline-brand-banner { background: #101114; }
html[data-text-size="large"] { font-size: 18px; }
html[data-text-size="extra-large"] { font-size: 20px; }
html[data-text-size="large"] .text-caption, html[data-text-size="large"] .text-label { font-size: .85rem; }
html[data-text-size="extra-large"] .text-caption, html[data-text-size="extra-large"] .text-label { font-size: .95rem; }
html[data-contrast="strong"][data-theme="light"] { --foreground: #101114; --muted-foreground: #30343c; --chrome: #30343c; --border: #555b65; --input: #555b65; }
html[data-contrast="strong"][data-theme="dark"] { --foreground: #fff; --muted-foreground: #e4e7ed; --chrome: #e4e7ed; --border: #a0a6b0; --input: #a0a6b0; }
html[data-motion="reduced"] *, html[data-motion="reduced"] *::before, html[data-motion="reduced"] *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
.sline-appearance-trigger { position: fixed; right: max(1rem,env(safe-area-inset-right)); bottom: calc(5rem + env(safe-area-inset-bottom)); z-index: 45; border: 1px solid var(--border,#69717f); border-radius: 999px; padding: .5rem .85rem; min-height: 44px; color: var(--foreground,#fff); background: var(--card,#202329); font: 600 .85rem/1.3 system-ui,sans-serif; box-shadow: 0 2px 10px #0002; }
.sline-appearance-dialog { position: fixed; inset: 0; margin: auto; width: min(34rem,calc(100% - 2rem)); max-height: calc(100dvh - 3rem); overflow: auto; padding: 1.5rem; border: 1px solid var(--border,#69717f); border-radius: 1rem; color: var(--foreground,#fff); background: var(--card,#202329); font: 1rem/1.5 system-ui,sans-serif; }
.sline-appearance-dialog::backdrop { background: #0009; }
.sline-appearance-heading { display: flex; align-items: start; gap: 1rem; justify-content: space-between; }
.sline-appearance-heading h2 { font-size: 1.35rem; font-weight: 700; margin: 0; }
.sline-appearance-close { font-size: 1.6rem; min-width: 44px; min-height: 44px; }
.sline-appearance-dialog p { margin: .5rem 0 1rem; color: var(--muted-foreground,#d1d5db); }
.sline-appearance-dialog fieldset { margin: 1rem 0; padding: .75rem; border: 1px solid var(--border,#69717f); border-radius: .5rem; }
.sline-appearance-dialog legend { padding: 0 .35rem; font-weight: 650; }
.sline-appearance-dialog label { display: flex; align-items: center; gap: .65rem; min-height: 44px; cursor: pointer; }
.sline-appearance-dialog input[type="radio"] { width: 1.15rem; height: 1.15rem; min-height: 0; accent-color: var(--primary,#2679da); }
.sline-appearance-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; }
.sline-appearance-actions button { min-height: 44px; padding: .5rem .85rem; border: 1px solid var(--border,#69717f); border-radius: .5rem; background: var(--secondary,#30343c); color: var(--foreground,#fff); }
.sline-appearance-dialog button:focus-visible, .sline-appearance-trigger:focus-visible { outline: 3px solid var(--primary,#2679da); outline-offset: 3px; }
@media print { .sline-appearance-trigger { display:none; } }

/* Orders uses luxury panel utilities in addition to semantic colour tokens. */
html[data-theme="light"] {
  --gradient-panel: linear-gradient(180deg,#fff,#f8f9fc);
  --hairline: #bbc0c8;
  --shadow-float: 0 8px 30px #17203016;
  --shadow-inset-soft: inset 0 1px 0 #fff;
  --sidebar-primary: var(--primary);
  --sidebar-primary-foreground: var(--primary-foreground);
  --sidebar-accent-foreground: var(--foreground);
}
html[data-theme="light"] .card-lux,
html[data-theme="light"] .card-lux-hover,
html[data-theme="light"] .glass-panel {
  background: var(--card); color: var(--foreground); border-color: var(--border);
}
