/* BOSKANTINE design system. Component CSS owns layout; this file owns appearance.
 * Light by default; explicit device-local choice. Never invert images or status meaning.
 */
:root{
 --ds-navy:#0A2E5B;--ds-cyan:#00D9FF;--ds-blue:#0066FF;
 --ds-brand-mid:#123D6B;--ds-brand-deep:#071E3C;
 --ds-canvas:#F3F6FB;--ds-surface:#FFFFFF;--ds-raised:#F8FAFD;--ds-soft:#EDF3FA;
 --ds-text:#102D4D;--ds-muted:#52657D;--ds-link:#0052CC;
 --ds-line:#D5DFEB;--ds-line-strong:#8296AF;
 --ds-control-surface:var(--ds-surface);--ds-control-line:var(--ds-line);
 --ds-control-accent:var(--ds-blue);
 --ds-nav-active-surface:var(--ds-raised);--ds-nav-active-text:var(--ds-text);
 --ds-on-brand:#FFFFFF;--ds-on-brand-muted:#D5E5F6;
 --ds-on-brand-success:#B6F0D0;--ds-on-brand-danger:#FFD2D9;
 --ds-success-text:#14633E;--ds-success-soft:#EAF7F0;--ds-success-line:#91C8AC;--ds-success-fill:#157347;
 --ds-danger-text:#A62635;--ds-danger-soft:#FCEEF0;--ds-danger-line:#E7A6AF;--ds-danger-fill:#B9273A;
 --ds-warning-text:#854614;--ds-warning-soft:#FFF5E6;--ds-warning-line:#DEB779;--ds-warning-fill:#8C4A13;
 --ds-purple-text:#6541A5;--ds-purple-soft:#F2EDFB;--ds-purple-line:#C7B6E7;--ds-purple-fill:#6941B0;
 --ds-info-text:#145A86;--ds-info-soft:#EAF4FC;--ds-info-line:#A0C7E5;--ds-info-fill:#125B86;
 --ds-focus:#0066FF;--ds-focus-ring:0 0 0 4px #0066FF22;
 --ds-shadow-sm:0 3px 10px #0A2E5B08;
 --ds-shadow-card:0 8px 28px #0A2E5B0C;
 --ds-shadow-overlay:0 24px 80px #031D4233;
 --ds-radius-xs:6px;--ds-radius-sm:10px;--ds-radius-control:12px;--ds-radius-card:20px;--ds-radius-dialog:24px;
 --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;
 --ds-font:Inter,Arial,sans-serif;--ds-ease:cubic-bezier(.2,.7,.2,1);--ds-speed:150ms;
 --ds-icon-target:32px;
 color-scheme:light;
}
@media screen{
 :root[data-theme=dark]{
  /* Navy canvas, slate surfaces and a distinct control plane; never pure black. */
  --ds-canvas:#142235;--ds-surface:#1E3046;--ds-raised:#293E55;--ds-soft:#334B63;
  --ds-text:#EDF3FA;--ds-muted:#C0CEDF;--ds-link:#9FCBFF;
  --ds-line:#4B627C;--ds-line-strong:#91A7BF;
  --ds-dialog-line:var(--ds-line);
  --ds-control-surface:#263C53;--ds-control-line:#8198B0;
  --ds-control-accent:#65DACE;
  --ds-action-start:#0066FF;--ds-action-end:#0052CC;
  --ds-nav-active-surface:#31566A;--ds-nav-active-text:#C5F5F0;
  --ds-success-text:#9DE6C1;--ds-success-soft:#243F3C;--ds-success-line:#76B89C;
  --ds-danger-text:#FFBAC4;--ds-danger-soft:#443344;--ds-danger-line:#D08C9D;
  --ds-warning-text:#F7D49B;--ds-warning-soft:#413C32;--ds-warning-line:#BA9B6C;
  --ds-purple-text:#DCCBFF;--ds-purple-soft:#3B3652;--ds-purple-line:#A28AC5;
  --ds-info-text:#B2DFFF;--ds-info-soft:#294354;--ds-info-line:#7EAAC6;
  --ds-focus:#65DACE;--ds-focus-ring:0 0 0 4px #65DACE25;
  --ds-shadow-sm:0 3px 12px #0A182522;--ds-shadow-card:0 8px 28px #0A182530;--ds-shadow-overlay:0 24px 70px #08152680;
  color-scheme:dark;
 }
 html[data-theme=dark]{scrollbar-color:var(--ds-line-strong) var(--ds-surface)}
 /* Native fields (including iOS dates, disabled values and browser autofill). */
 :where([data-theme=dark]) :where(input,select,textarea):disabled{-webkit-text-fill-color:var(--ds-muted);opacity:1}
 html[data-theme=dark] :is(input,textarea):is(:autofill,:-webkit-autofill){box-shadow:0 0 0 1000px var(--ds-control-surface) inset;-webkit-text-fill-color:var(--ds-text);caret-color:var(--ds-text);transition-property:border-color}
 :where([data-theme=dark]) :where(input,select,textarea,.app-select-trigger){--ds-line:var(--ds-control-line);caret-color:var(--ds-focus)}
}
img.theme-logo-dark{display:none}
@media screen{
 :where([data-theme=dark]) img.theme-logo-light{display:none}
 :where([data-theme=dark]) img.theme-logo-dark{display:block}
}
html{background:var(--ds-canvas);accent-color:var(--ds-control-accent);text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-family:var(--ds-font);-webkit-font-smoothing:antialiased}
:where(button,input,select,textarea){font:inherit}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ds-focus)!important;outline-offset:3px}
:where(input,textarea)::placeholder{color:var(--ds-muted);opacity:1}
:where(button,a,summary){-webkit-tap-highlight-color:transparent}
:where(button,.btn,.navbtn,.input,select,textarea){transition:background-color var(--ds-speed) var(--ds-ease),border-color var(--ds-speed) var(--ds-ease),box-shadow var(--ds-speed) var(--ds-ease)}
::selection{color:var(--ds-navy);background:var(--ds-cyan)}
/* Shared modal lock. Gesture handling in view-scroll.js also stops chaining to menus. */
html.bos-dialog-open,html.bos-dialog-open body{overflow:hidden;overscroll-behavior:none}
@media(max-width:767px),(any-pointer:coarse){
 :root{--ds-icon-target:44px}
 /* Keep compact inline help links inline; actual controls remain touch-friendly. */
 /* Product tiles already define a larger, shared touch minimum in component CSS. */
 :is(button,.btn,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),summary):not(.admin-product-add-end,.admin-product-editor>summary){min-height:44px!important}
 :is(button[aria-label],.icon-btn){min-width:44px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
 :where(button,input,select,textarea,.card){border:1px solid CanvasText}
}
@media print{
 :root{color-scheme:light;--ds-canvas:#fff;--ds-surface:#fff;--ds-raised:#fff;--ds-soft:#f2f2f2;--ds-text:#111;--ds-muted:#444;--ds-line:#bbb;--ds-success-text:#14532d;--ds-danger-text:#991b1b;--ds-warning-text:#713f12;--ds-info-text:#164e63;--ds-purple-text:#581c87;--ds-success-soft:#fff;--ds-danger-soft:#fff;--ds-warning-soft:#fff;--ds-info-soft:#fff;--ds-purple-soft:#fff;--ds-shadow-card:none;--ds-shadow-sm:none}
}
