@layer kit-office-controls;
/* Legacy consumer defaults: keep selectors, order and values; Till does not opt into office tokens. */
:root {
  --pos-font: Inter, "Noto Sans Bengali", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pos-bar: #def7dc;
  --pos-canvas: #edf1eb;
  --pos-surface: #ffffff;
  --pos-tint: #eefaf0;
  --pos-field: #f3f9ee;
  --pos-neutral-field: #f5f5f5;
  --pos-selected: #c9ffc2;
  --pos-border: #c8d8c9;
  --pos-ink: #27382a;
  --pos-muted: #626161;
  --pos-brand: var(--accent);
  --pos-action: var(--accent);
  --pos-action-aa: #0e7c00;
  --pos-control-radius: 10px;
  --pos-chip-radius: 12px;
  --pos-panel-radius: 18px;
  --pos-control-size: 40px;
  --pos-space: 8px;
  --pos-panel-space: 18px;
  /* The till's calm look (owner 2026-10-22: white surfaces, green only for the main action and the selected choice):
     the till screens' own surfaces. The office keeps its --pos-* tokens above. */
  --sa-calm-canvas: #f7f7f7;
  --sa-calm-bar: #ffffff;
  --sa-calm-tint: #f4f5f4;
  --sa-calm-line: #e4e5e7;
}

:root { --bg:#f7f7f7; --surface:#ffffff; --raised:#e8f5e3; --border:#e4e5e7; --fg:#001e00; --muted:#5e6d55; --accent:#0e7c00; --brand-green:var(--accent); --on-accent:#fff; --ok:var(--accent); --focus:var(--accent); --danger:#b91c1c; --warn:#9a4306; --info:#1d4ed8; --side:#0f1a13; --side-fg:#eef5ee; --side-muted:#94a597; --side-on:#173b18; --shadow:0 10px 30px rgba(20,40,20,.12); --radius:14px; --gap:16px; color-scheme:light; }
/* Only office pages adopt the light green surfaces. More specific palette/dark
   declarations below retain their existing preference precedence. */
:root:where(:not([data-palette]):not([data-kit-pos]):not(:has(.sa-root[data-sa-page="sale"]))) { --bg:var(--pos-canvas); --surface:var(--pos-surface); --raised:var(--pos-tint); --border:var(--pos-border); --fg:var(--pos-ink); --muted:var(--pos-muted); --accent:var(--pos-action-aa); --brand-green:var(--accent); --on-accent:#fff; --ok:var(--accent); --focus:var(--pos-action-aa); --danger:#b91c1c; --warn:#9a4306; --info:#1d4ed8; --side:var(--pos-field); --side-fg:var(--pos-ink); --side-muted:var(--pos-muted); --side-on:var(--pos-selected); --shadow:0 10px 30px rgba(20,40,20,.12); --radius:var(--pos-panel-radius); --gap:var(--pos-panel-space); }
:root[data-theme="dark"] { --bg:#0f1412; --surface:#171d1a; --raised:#173b18; --border:#2a332e; --fg:#f2f5f2; --muted:#9aa79a; --accent:#3fcb3a; --brand-green:var(--accent); --on-accent:#04200a; --ok:var(--accent); --focus:var(--accent); --danger:#f28b7f; --warn:#e3b65f; --info:#9bbdf0; --side:#0a0f0c; --side-fg:#eef5ee; --side-muted:#8a9a8d; --side-on:#173b18; --shadow:0 10px 30px rgba(0,0,0,.5); color-scheme:dark; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#0f1412; --surface:#171d1a; --raised:#173b18; --border:#2a332e; --fg:#f2f5f2; --muted:#9aa79a; --accent:#3fcb3a; --brand-green:var(--accent); --on-accent:#04200a; --ok:var(--accent); --focus:var(--accent); --danger:#f28b7f; --warn:#e3b65f; --info:#9bbdf0; --side:#0a0f0c; --side-fg:#eef5ee; --side-muted:#8a9a8d; --side-on:#173b18; --shadow:0 10px 30px rgba(0,0,0,.5); color-scheme:dark; } }
/* Action states (owner 2026-10-22, PARTS.md "Green is the default action colour"): every button state is a token made
   from --accent once, so every palette and both themes follow, and a palette or shop setting can override any line. */
:root {
  --action: var(--accent);
  --action-ink: var(--on-accent);
  --action-hover: color-mix(in srgb, var(--accent) 85%, black);
  --action-pressed: color-mix(in srgb, var(--accent) 70%, black);
  --action-fill: var(--action);
  --action-quiet-bg: var(--surface);
  --action-quiet-ink: var(--accent);
  --action-quiet-line: color-mix(in srgb, var(--accent) 45%, var(--border));
  --action-off-bg: color-mix(in srgb, var(--accent) 10%, var(--surface));
  --action-off-ink: color-mix(in srgb, var(--accent) 45%, var(--muted));
  --action-ring: var(--focus);
  --action-danger: var(--danger);
  --action-danger-ink: var(--surface);
}
/* palettes: no data-palette = Clean green (the tokens above); the rest below, light and dark each */
:root[data-palette="midnight"] { --bg:#f6f2e9; --surface:#fffdf7; --raised:#fbf0d9; --border:#e5ddcb; --fg:#352c1d; --muted:#776a54; --accent:#805510; --on-accent:#fff; --ok:var(--accent); --focus:var(--accent); --danger:#a93227; --warn:#825915; --info:#2f5a8a; --side:#1f1a12; --side-fg:#efe7d6; --side-muted:#a99d85; --side-on:#3a2f1b; --shadow:0 10px 30px rgba(40,30,10,.14); --radius:14px; --gap:16px; color-scheme:light; }
:root[data-palette="midnight"][data-theme="dark"] { --bg:#100f0c; --surface:#191713; --raised:#302719; --border:#393225; --fg:#f5f0e4; --muted:#bdb29d; --accent:#dda94f; --on-accent:#20180c; --ok:var(--accent); --focus:var(--accent); --danger:#f28b7f; --warn:#e3b65f; --info:#9bbdf0; --side:#0b0a08; --side-fg:#efe7d6; --side-muted:#8f846c; --side-on:#2e2515; --shadow:0 10px 30px rgba(0,0,0,.5); color-scheme:dark; }
@media (prefers-color-scheme: dark) { :root[data-palette="midnight"]:not([data-theme="light"]) { --bg:#100f0c; --surface:#191713; --raised:#302719; --border:#393225; --fg:#f5f0e4; --muted:#bdb29d; --accent:#dda94f; --on-accent:#20180c; --ok:var(--accent); --focus:var(--accent); --danger:#f28b7f; --warn:#e3b65f; --info:#9bbdf0; --side:#0b0a08; --side-fg:#efe7d6; --side-muted:#8f846c; --side-on:#2e2515; --shadow:0 10px 30px rgba(0,0,0,.5); color-scheme:dark; } }
:root[data-palette="forest"] { --bg:#f3f5f3;--surface:#ffffff;--raised:#edf6f2;--border:#e3e8e5;--fg:#233b32;--muted:#63756b;--accent:#176658;--on-accent:#ffffff;--focus:var(--accent);--side:#141916;--side-fg:#edf4ef;--side-muted:#98a59d;--side-on:#edf6f2;color-scheme:light; }
:root[data-palette="forest"][data-theme="dark"] { --bg:#181e1b;--surface:#202723;--raised:#203a33;--border:#35413c;--fg:#edf4ef;--muted:#b3c3b9;--accent:#8bd7bf;--on-accent:#102c24;--focus:var(--accent);--side:#0e1210;--side-fg:#edf4ef;--side-muted:#8f9c94;--side-on:#203a33;color-scheme:dark; }
@media (prefers-color-scheme: dark) { :root[data-palette="forest"]:not([data-theme="light"]) { --bg:#181e1b;--surface:#202723;--raised:#203a33;--border:#35413c;--fg:#edf4ef;--muted:#b3c3b9;--accent:#8bd7bf;--on-accent:#102c24;--focus:var(--accent);--side:#0e1210;--side-fg:#edf4ef;--side-muted:#8f9c94;--side-on:#203a33;color-scheme:dark; } }
:root[data-palette="cobalt"] { --bg:#f3f5fa;--surface:#ffffff;--raised:#edf1ff;--border:#e0e5ef;--fg:#24324c;--muted:#64718a;--accent:#304fca;--on-accent:#ffffff;--focus:var(--accent);--side:#131721;--side-fg:#edf2ff;--side-muted:#97a0b4;--side-on:#edf1ff;color-scheme:light; }
:root[data-palette="cobalt"][data-theme="dark"] { --bg:#171c27;--surface:#202735;--raised:#27334c;--border:#374257;--fg:#edf2ff;--muted:#b2bdd4;--accent:#abc0ff;--on-accent:#162750;--focus:var(--accent);--side:#0d1017;--side-fg:#edf2ff;--side-muted:#8e97a9;--side-on:#27334c;color-scheme:dark; }
@media (prefers-color-scheme: dark) { :root[data-palette="cobalt"]:not([data-theme="light"]) { --bg:#171c27;--surface:#202735;--raised:#27334c;--border:#374257;--fg:#edf2ff;--muted:#b2bdd4;--accent:#abc0ff;--on-accent:#162750;--focus:var(--accent);--side:#0d1017;--side-fg:#edf2ff;--side-muted:#8e97a9;--side-on:#27334c;color-scheme:dark; } }
:root[data-palette="aubergine"] { --bg:#f7f3ef;--surface:#fffdf9;--raised:#f5edf3;--border:#e9e0e4;--fg:#392b36;--muted:#796c76;--accent:#704568;--on-accent:#ffffff;--focus:var(--accent);--side:#1c171b;--side-fg:#f5ecf2;--side-muted:#aa9ea7;--side-on:#f5edf3;color-scheme:light; }
:root[data-palette="aubergine"][data-theme="dark"] { --bg:#211c20;--surface:#2b242a;--raised:#402d3d;--border:#473b45;--fg:#f5ecf2;--muted:#c9bac5;--accent:#e1b7d6;--on-accent:#35202e;--focus:var(--accent);--side:#131013;--side-fg:#f5ecf2;--side-muted:#a0949d;--side-on:#402d3d;color-scheme:dark; }
@media (prefers-color-scheme: dark) { :root[data-palette="aubergine"]:not([data-theme="light"]) { --bg:#211c20;--surface:#2b242a;--raised:#402d3d;--border:#473b45;--fg:#f5ecf2;--muted:#c9bac5;--accent:#e1b7d6;--on-accent:#35202e;--focus:var(--accent);--side:#131013;--side-fg:#f5ecf2;--side-muted:#a0949d;--side-on:#402d3d;color-scheme:dark; } }
:root[data-palette="graphite"] { --bg:#f5f4f0;--surface:#fffefa;--raised:#fff4dc;--border:#e5e3dc;--fg:#343538;--muted:#70716f;--accent:#8b5700;--on-accent:#ffffff;--focus:var(--accent);--side:#161718;--side-fg:#f2f2ef;--side-muted:#a3a49e;--side-on:#fff4dc;color-scheme:light; }
:root[data-palette="graphite"][data-theme="dark"] { --bg:#1b1c1d;--surface:#252628;--raised:#3d3320;--border:#41413b;--fg:#f2f2ef;--muted:#c0c1bb;--accent:#f0c36c;--on-accent:#302307;--focus:var(--accent);--side:#101011;--side-fg:#f2f2ef;--side-muted:#999a95;--side-on:#3d3320;color-scheme:dark; }
@media (prefers-color-scheme: dark) { :root[data-palette="graphite"]:not([data-theme="light"]) { --bg:#1b1c1d;--surface:#252628;--raised:#3d3320;--border:#41413b;--fg:#f2f2ef;--muted:#c0c1bb;--accent:#f0c36c;--on-accent:#302307;--focus:var(--accent);--side:#101011;--side-fg:#f2f2ef;--side-muted:#999a95;--side-on:#3d3320;color-scheme:dark; } }
/* Shared component roles. Future themes override these roles, never component declarations. */
:root {
  --kp-on-emphasis: #fff;
  --kp-nav-surface:#fff;--kp-nav-ink:#162032;--kp-nav-muted:#65758b;--kp-nav-border:#e1e5eb;
  --kp-nav-hover:#f4f5f3;--kp-nav-active:#078000;--kp-nav-active-ink:#fff;
  --kp-nav-heading:#60738c;--kp-nav-bar-border:#dce1e7;--kp-nav-focus:#2f7d32;
  --kp-nav-hover-fill: rgba(255,255,255,.07);
  --kp-nav-count-fill: rgba(255,255,255,.16);
  --kp-nav-current-count-fill: rgba(0,0,0,.18);
  --kp-tag-positive-fill: var(--accent);
  --kp-tag-warning-fill: #825915;
  --kp-drawer-scrim: rgba(20,14,4,.42);
  --kp-module-sell-ink: #2f5a8a;
  --kp-module-stock-ink: var(--accent);
  --kp-module-buy-ink: #825915;
  --kp-module-money-ink: #704568;
  --kp-print-scrim: rgba(20,14,4,.5);
  --kp-paper-surface: #fff;
  --kp-paper-ink: #111;
  --kp-paper-shadow-ink: rgba(0,0,0,.4);
  --kp-paper-border: #ddd;
  --kp-paper-muted: #555;
  --kp-paper-line: #333;
  --kp-top-focus: var(--accent);
  --kp-setup-surface: #fff;
  --kp-setup-canvas: #edf1eb;
  --kp-setup-ink: #27382a;
  --kp-setup-border: #c8d8c9;
  --kp-setup-shadow-ink: #2343280d;
  --kp-setup-banner: #def7dc;
  --kp-setup-banner-ink: var(--accent);
  --kp-setup-action: var(--accent);
  --kp-setup-muted: #626161;
  --kp-setup-field-border: #9cb69f;
  --kp-setup-field: #f3f9ee;
  --kp-setup-selected: #e9f9e7;
  --kp-setup-disabled: #f5f5f5;
  --kp-setup-disabled-action: #e3e8e2;
  --kp-setup-tint: #eefaf0;
  --kp-setup-danger: #b91c1c;
  --kp-swatch-green-surface: #f7f7f7;
  --kp-swatch-green-accent: var(--pos-action-aa);
  --kp-swatch-midnight-surface: #f6f2e9;
  --kp-swatch-midnight-accent: #805510;
  --kp-swatch-forest-surface: #f3f5f3;
  --kp-swatch-forest-accent: #176658;
  --kp-swatch-cobalt-surface: #f3f5fa;
  --kp-swatch-cobalt-accent: #304fca;
  --kp-swatch-aubergine-surface: #f7f3ef;
  --kp-swatch-aubergine-accent: #704568;
  --kp-swatch-graphite-surface: #f5f4f0;
  --kp-swatch-graphite-accent: #8b5700;
  --kp-preview-canvas: #040911;
  --kp-preview-ink: #f8fafc;
  --kp-preview-badge-ink: #fef08a;
  --kp-preview-muted: #94a3b8;
  --kp-preview-action-start: var(--accent);
  --kp-preview-action-end: var(--accent);
  --kp-preview-action-ink: #04130d;
  --kp-dialog-scrim: rgba(10, 15, 12, .55);
  --kp-search-scrim: rgba(10, 15, 12, .45);
  --kp-search-shadow-ink: rgba(0, 0, 0, .45);
  --kp-search-shadow-soft-ink: rgba(0, 0, 0, .25);
  --kp-popover-shadow-ink: rgba(0, 0, 0, .4);
  --kp-preview-border: rgba(16, 185, 129, 0.28);
  --kp-preview-badge-fill: rgba(16, 185, 129, 0.16);
  --kp-preview-badge-border: rgba(250, 204, 21, 0.45);
  --kp-preview-glow: rgba(16, 185, 129, 0.14);
  --kp-preview-stage-fill: rgba(4, 9, 17, 0.96);
  --kp-preview-stage-border: rgba(148, 163, 184, 0.16);
  --kp-preview-card-fill: rgba(15, 23, 42, 0.86);
  --kp-preview-card-border: rgba(16, 185, 129, 0.32);
  --kp-preview-line-fill: rgba(30, 41, 59, 0.9);
  --kp-preview-line-border: rgba(148, 163, 184, 0.22);
  --kp-preview-shadow-ink: rgba(0, 0, 0, 0.45);
  --kp-control-border: #a8a8a8;
  --kp-control-surface: #fff;
  --kp-control-ink: #242424;
  --kp-control-hover-border: #686868;
  --kp-control-invalid: #b42318;
  --kp-control-disabled-surface: #f4f4f4;
  --kp-control-disabled-ink: #737373;
  --kp-control-disabled-border: #d4d4d4;
  --kp-control-selected-fill: #edf6ec;
  --kp-control-hover-fill: #f0f0f0;
  --kp-control-option-focus: var(--accent);
  --kp-control-shadow-ink: rgb(0 0 0 / 10%);
  --kp-control-color-scheme: light;
}

/* Office variables only. Each palette keeps white working surfaces in light mode. */
:root:is([data-layout],[data-office-surface]) {
  --bg:#fff; --surface:#fff; --subtle:#f6f7f8; --raised:#f6f7f8;
  --border:#e5e7eb; --fg:#111827; --muted:#637084;
  --accent:#0e7c00; --accent-soft:#e8f5e3; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff;
  --brand-green:var(--accent); --brand-soft:#e8f5e3; --on-brand:#fff;
  --danger:#b91c1c; --danger-soft:#fef2f2; --warn:#b45309; --warn-soft:#fff7ed;
  --focus:var(--accent); --overlay:rgba(17,24,39,.28); --shadow:0 16px 64px rgba(17,24,39,.15);
  --shadow-small:0 2px 8px rgba(17,24,39,.06);
  --font:Inter,'Noto Sans Bengali',sans-serif;
  --xs:11px; --label:12px; --secondary:13px; --body:14px; --intro:16px;
  --h2:20px; --title:20px; --hero-size:32px;
  --lh-label:16px; --lh-small:18px; --lh:20px; --lh-h2:28px; --lh-title:26px; --lh-hero:40px;
  --regular:400; --medium:500; --bold:600;
  --s0:0px; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px; --s8:32px; --s12:48px;
  --radius:6px; --card-radius:10px; --pill:999px;
  --control:36px; --row:40px; --tap:44px; --panel-row:32px;
  --rail:56px; --panel:232px; --header:56px; --subnav:44px;
  --line:1px; --underline:2px; --icon:20px;
  --z-nav:10; --z-sheet:20; --z-dialog:30; --content:1200px; --dialog:640px; --sheet:460px;
  --duration:180ms; --ease:ease-out;
  --transparent:transparent;
}

html { scrollbar-gutter: stable; background: var(--bg); }
:root:is([data-layout],[data-office-surface])[data-theme="dark"] {
  --bg:#0f1412; --surface:#171d1a; --subtle:#1c2320; --raised:#1c2320;
  --border:#2a332e; --fg:#f2f5f2; --muted:#a6b2a6;
  --accent:#3fcb3a; --accent-soft:#173b18; --on-accent:#04200a;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#04200a;
  --brand-green:var(--accent); --brand-soft:#173b18; --on-brand:#04200a;
  --danger:#fca5a5; --danger-soft:#3c2020; --warn:#fdba74; --warn-soft:#39291d;
  --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="green"] {
  --accent:#0e7c00; --accent-soft:#e8f5e3; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="midnight"] {
  --accent:#805510; --accent-soft:#fff4de; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="forest"] {
  --accent:#176658; --accent-soft:#e5f3ee; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="cobalt"] {
  --accent:#304fca; --accent-soft:#edf1ff; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="aubergine"] {
  --accent:#704568; --accent-soft:#f5edf3; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="graphite"] {
  --accent:#8b5700; --accent-soft:#fff4dc; --on-accent:#fff;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#fff; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="green"][data-theme="dark"] {
  --accent:#3fcb3a; --accent-soft:#173b18; --on-accent:#04200a;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#04200a; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="midnight"][data-theme="dark"] {
  --accent:#dda94f; --accent-soft:#302719; --on-accent:#20180c;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#20180c; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="forest"][data-theme="dark"] {
  --accent:#8bd7bf; --accent-soft:#203a33; --on-accent:#102c24;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#102c24; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="cobalt"][data-theme="dark"] {
  --accent:#abc0ff; --accent-soft:#27334c; --on-accent:#162750;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#162750; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="aubergine"][data-theme="dark"] {
  --accent:#e1b7d6; --accent-soft:#402d3d; --on-accent:#35202e;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#35202e; --focus:var(--accent);
}
:root:is([data-layout],[data-office-surface])[data-palette="graphite"][data-theme="dark"] {
  --accent:#f0c36c; --accent-soft:#3d3320; --on-accent:#302307;
  --active-fill:var(--accent); --hero:var(--accent); --on-hero:#302307; --focus:var(--accent);
}
@media (prefers-color-scheme:dark) {
  :root:is([data-layout],[data-office-surface]):not([data-theme]) {
    --bg:#0f1412; --surface:#171d1a; --subtle:#1c2320; --raised:#1c2320;
    --border:#2a332e; --fg:#f2f5f2; --muted:#a6b2a6;
    --accent:#3fcb3a; --accent-soft:#173b18; --on-accent:#04200a;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#04200a;
    --brand-green:var(--accent); --brand-soft:#173b18; --on-brand:#04200a;
    --danger:#fca5a5; --danger-soft:#3c2020; --warn:#fdba74; --warn-soft:#39291d;
    --focus:var(--accent);
  }
  :root:is([data-layout],[data-office-surface])[data-palette="green"]:not([data-theme]) {
    --accent:#3fcb3a; --accent-soft:#173b18; --on-accent:#04200a;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#04200a; --focus:var(--accent);
  }
  :root:is([data-layout],[data-office-surface])[data-palette="midnight"]:not([data-theme]) {
    --accent:#dda94f; --accent-soft:#302719; --on-accent:#20180c;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#20180c; --focus:var(--accent);
  }
  :root:is([data-layout],[data-office-surface])[data-palette="forest"]:not([data-theme]) {
    --accent:#8bd7bf; --accent-soft:#203a33; --on-accent:#102c24;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#102c24; --focus:var(--accent);
  }
  :root:is([data-layout],[data-office-surface])[data-palette="cobalt"]:not([data-theme]) {
    --accent:#abc0ff; --accent-soft:#27334c; --on-accent:#162750;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#162750; --focus:var(--accent);
  }
  :root:is([data-layout],[data-office-surface])[data-palette="aubergine"]:not([data-theme]) {
    --accent:#e1b7d6; --accent-soft:#402d3d; --on-accent:#35202e;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#35202e; --focus:var(--accent);
  }
  :root:is([data-layout],[data-office-surface])[data-palette="graphite"]:not([data-theme]) {
    --accent:#f0c36c; --accent-soft:#3d3320; --on-accent:#302307;
    --active-fill:var(--accent); --hero:var(--accent); --on-hero:#302307; --focus:var(--accent);
  }
}
@media (prefers-reduced-motion:reduce) {
  :root:is([data-layout],[data-office-surface]) { --duration:0ms; }
}

/* Home category colours from the approved Bold prototype. */
:root[data-layout]{--icon-blue:#1d4ed8;--icon-blue-bg:#eff6ff;--icon-violet:#6d28d9;--icon-violet-bg:#f5f3ff;--icon-amber:#92400e;--icon-amber-bg:#fff7ed}
:root[data-layout][data-theme=dark]{--icon-blue:#a9c7ff;--icon-blue-bg:#172b49;--icon-violet:#d4bdff;--icon-violet-bg:#302047;--icon-amber:#ffd197;--icon-amber-bg:#39291d}
@media(prefers-color-scheme:dark){:root[data-layout]:not([data-theme]){--icon-blue:#a9c7ff;--icon-blue-bg:#172b49;--icon-violet:#d4bdff;--icon-violet-bg:#302047;--icon-amber:#ffd197;--icon-amber-bg:#39291d}}

/* The chip component follows the document's existing semantic palette. */
:root:is([data-layout],[data-office-surface]){
 --kp-chip-surface:var(--subtle);--kp-chip-border:var(--border);--kp-chip-ink:var(--fg);
 --kp-chip-hover-surface:color-mix(in srgb,var(--fg) 4%,var(--surface));--kp-chip-hover-border:color-mix(in srgb,var(--fg) 35%,var(--border));
 /* One chip look (owner 2026-10-22): a choice is white with a hairline; the chosen one is the action green. */
 --kp-chip-pick-surface:var(--surface);--kp-chip-pick-radius:10px;
 --kp-chip-selected-surface:var(--action);--kp-chip-selected-border:var(--action);--kp-chip-selected-ink:var(--action-ink);
 --kp-chip-selected-count:color-mix(in srgb,var(--action-ink) 24%,transparent);
 --kp-chip-count-surface:color-mix(in srgb,var(--fg) 7%,transparent);
 --kp-chip-positive-surface:color-mix(in srgb,var(--ok) 10%,var(--surface));--kp-chip-positive-ink:var(--ok);--kp-chip-positive-border:color-mix(in srgb,var(--ok) 22%,var(--border));
 --kp-chip-warning-surface:color-mix(in srgb,var(--warn) 8%,var(--surface));--kp-chip-warning-ink:var(--warn);--kp-chip-warning-border:color-mix(in srgb,var(--warn) 22%,var(--border));
 --kp-chip-danger-surface:var(--danger-soft);--kp-chip-danger-ink:var(--danger);--kp-chip-danger-border:color-mix(in srgb,var(--danger) 22%,var(--border));
 --kp-chip-info-surface:color-mix(in srgb,var(--info) 8%,var(--surface));--kp-chip-info-ink:var(--info);--kp-chip-info-border:color-mix(in srgb,var(--info) 22%,var(--border));
}

/* Module fallbacks retain their previous values for office and browser print. */
:root {
 --kp-module-surface-fallback: #fff;
 --kp-module-border-fallback: #e4e5e7;
 --kp-module-focus-fallback: var(--accent);
 --kp-module-muted-fallback: #5e6d55;
 --kp-module-accent-fallback: var(--accent);
 --kp-module-ink-fallback: #001e00;
 --kp-module-warning-fallback: #9a4306;
 --kp-module-danger-fallback: #b91c1c;
 --kp-module-info-fallback: #1d4ed8;
 --kp-inventory-option-border: #dfe5d8;
 --kp-module-raised-fallback: #e8f5e3;
 --kp-inventory-option-surface: #f4f6f2;
 --kp-inventory-alert-ink: #b3261e;
 --kp-inventory-invalid-ink: #b42318;
 --kp-code-ink: #000;
 --kp-paper-caption-ink: #444;
 --kp-paper-guide-ink: #888;
 --kp-paper-guide-border: #aaa;
 --kp-inventory-bar-shadow-ink: rgb(0 40 0 / .08);
 --kp-report-table-border: #b7bfcc;
 --kp-report-rule-fallback: #2b3a55;
 --kp-report-odd-fallback: #ffffff;
 --kp-report-even-fallback: #f2f4f7;
 --kp-sale-due-light: #3f5bc4;
 --kp-sale-due-dark: #8ea2ff;
 --kp-sale-wallet-tint: #bf185e;
 --kp-sale-bank-tint: #237cb2;
 --kp-sale-account-tint: #b99a3c;
 --kp-sale-negative-ink: #b42318;
 --kp-sale-positive-ink: var(--accent);
 --kp-sale-returned-ink: #7c5cd6;
 --kp-sale-khata-ink: #0e8f8f;
 --kp-sale-progress-surface: #d7e1d2;
 --kp-sale-progress-ink: var(--accent);
 --kp-sale-popup-shadow-ink: rgba(0,0,0,.14);
 --kp-sale-card-shadow-ink: rgba(0, 0, 0, .18);
 --kp-sale-hover-shadow-ink: rgba(0, 0, 0, .22);
 --kp-sale-panel-shadow-ink: rgb(0 0 0 / .35);
 --kp-sale-wallet-accent: #d6246e;
 --kp-sale-bank-accent: #2a74b8;
 --kp-sale-account-accent: #7a4fc4;
 --kp-sale-other-accent: #b8860b;
 --kp-paper-ink: #111;
 --kp-purchase-voucher-rule: #e3e3e3;
}

/* Payroll keeps its print colours while screen components follow the shared theme. */
@layer pr {
 .pr-root {
  --pr-fg: var(--component-ink,light-dark(#1d2125, #e7e9ec));
  --pr-muted: var(--component-muted,light-dark(#5b6570, #a3acb6));
  --pr-bg: var(--component-surface,light-dark(#ffffff, #15181b));
  --pr-surface: var(--component-subtle,light-dark(#f6f7f9, #1e2226));
  --pr-border: var(--component-border,light-dark(#d8dde3, #343a41));
  --pr-accent: var(--accent);
  --pr-danger: var(--component-danger,light-dark(#b42318, #f97066));
  --pr-ok: var(--accent);
  --pr-warn: var(--component-warn,light-dark(#a15c07, #fbbf24));
  --pr-focus: var(--component-accent,light-dark(#2563eb, #93c5fd));
 }
 @media print { .pr-root {
  --pr-fg: #000000;
  --pr-muted: #000000;
  --pr-bg: #ffffff;
  --pr-surface: #ffffff;
  --pr-border: #000000;
 } }
}

:root { --kp-purchase-flyout-shadow-ink:rgb(0 0 0 / 0.25); }

/* Office setup and booking retain their existing colour roles. */
:root {
 --kp-office-setup-surface:#fff;
 --kp-office-setup-card-border:#d3e8df;
 --kp-office-setup-table-border:#e5e7eb;
 --kp-office-setup-table-head:#f4f7f6;
 --kp-office-setup-field-border:#ccd7d2;
 --kp-office-setup-field-ink:#18332c;
 --kp-office-setup-button-border:#b5d7c5;
 --kp-office-setup-button-surface:#e4f8eb;
 --kp-office-setup-button-ink:var(--accent);
 --kp-office-setup-primary-surface:var(--accent);
 --kp-office-setup-error-surface:#fff0f0;
 --kp-office-setup-error-ink:#ad2020;
 --kp-booking-error-ink:#b42318;
}

/* Native field contract. Existing Till tokens and consumers remain independent. */
:root {
  --field-style:box;
  --field-line:var(--field-border);
  --field-line-focus:var(--accent);
  --panel-tint:var(--surface);
  --field-edge-width:var(--field-border-width);
  --field-corner:var(--field-radius);
  --field-surface:var(--field-bg);
  --field-line-width:1px;
  --field-line-width-focus:2px;
  --field-height-md:44px;
  --field-height-sm:32px;
  --field-pad-x-md:12px;
  --field-pad-x-sm:8px;
  --field-pad-y-md:11px;
  --field-pad-y-sm:5px;
  --field-font:Inter,"Noto Sans Bengali",system-ui,sans-serif;
  --field-font-size:14px;
  --field-line-height:20px;
  --field-weight:400;
  --field-radius:8px;
  --field-border-width:1px;
  --field-border-focus:var(--accent);
  --field-choice-selected-bg:var(--accent);
  --field-choice-selected-fg:var(--on-accent);
  --field-choice-radius:4px;
  --field-choice-mark:12px;
  --field-choice-inset:3px;
  --field-ring-width:2px;
  --field-ring-offset:2px;
  --field-icon:16px;
  --field-adornment-slot:24px;
  --field-gap:4px;
  --field-helper-size:12px;
  --field-helper-line:18px;
  --field-textarea-md:88px;
  --field-textarea-sm:64px;
  --field-chevron:url("/kit/shell/select-chevron.svg");
  --field-bg:#ffffff;
  --field-fg:#242424;
  --field-border:#d7dcd6;
  --field-hover-border:var(--field-border);
  --field-focus:var(--accent);
  --field-error:#b42318;
  --field-muted:#626161;
  --field-disabled-bg:#f4f4f4;
  --field-disabled-fg:#737373;
  --field-disabled-border:var(--field-border);
  --field-readonly-bg:#f4f4f4;
}
:root[data-theme="dark"] {
  --field-line:var(--field-border);
  --field-line-focus:var(--accent);
  --panel-tint:var(--surface);
  --field-chevron:url("/kit/shell/select-chevron-dark.svg");
  --field-bg:#171d1a;
  --field-fg:#f2f5f2;
  --field-border:color-mix(in srgb,var(--fg) 20%,var(--surface));
  --field-hover-border:var(--field-border);
  --field-focus:var(--accent);
  --field-error:#fca5a5;
  --field-muted:#a6b2a6;
  --field-disabled-bg:#242c27;
  --field-disabled-fg:#a6b2a6;
  --field-disabled-border:var(--field-border);
  --field-readonly-bg:#242c27;
}
@media(prefers-color-scheme:dark){
:root:not([data-theme="light"]) {
  --field-line:var(--field-border);
  --field-line-focus:var(--accent);
  --panel-tint:var(--surface);
  --field-chevron:url("/kit/shell/select-chevron-dark.svg");
  --field-bg:#171d1a;
  --field-fg:#f2f5f2;
  --field-border:color-mix(in srgb,var(--fg) 20%,var(--surface));
  --field-hover-border:var(--field-border);
  --field-focus:var(--accent);
  --field-error:#fca5a5;
  --field-muted:#a6b2a6;
  --field-disabled-bg:#242c27;
  --field-disabled-fg:#a6b2a6;
  --field-disabled-border:var(--field-border);
  --field-readonly-bg:#242c27;
}
}

/* Fields keep their light paper roles when printing, independent of the screen theme. */
@media print{
:root[data-theme],:root:not([data-theme]){
  --field-chevron:url("/kit/shell/select-chevron.svg");
  --field-bg:#ffffff;
  --field-fg:#242424;
  --field-border:#d7dcd6;
  --field-hover-border:var(--field-border);
  --field-focus:var(--accent);
  --field-error:#b42318;
  --field-muted:#626161;
  --field-disabled-bg:#f4f4f4;
  --field-disabled-fg:#737373;
  --field-disabled-border:var(--field-border);
  --field-readonly-bg:#f4f4f4;
}
}

/* Office filter layout widths; native control geometry stays in the Field tokens. */
:root { --kp-filter-width-search:280px; --kp-filter-width-facet:200px; --kp-filter-width-short:144px; --kp-filter-width-range:600px; --kp-filter-range-input-width:400px; --kp-toolbar-menu-min:192px; }

/* Calm fields are opt-in; only the New sale / draft editor currently opts in. */
[data-field-look="calm"] {
  --field-style:underline;
  --field-line:#858e98;
  --panel-tint:#f3f4f6;
  --field-edge-width:0px;
  --field-corner:0px;
  --field-surface:transparent;
  --field-pad-x-md:4px;
  --field-pad-x-sm:4px;
  --field-weight:600;
}
:root[data-theme="dark"] [data-field-look="calm"] { --field-line:#76808b; --panel-tint:#20262d; }
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) [data-field-look="calm"] { --field-line:#76808b; --panel-tint:#20262d; }
}

/* Compact Field / document lines palette, owner design 2026-10-23. */
:root {
  --kp-lines-action: #2f7d32;
  --kp-lines-ink: #232923;
  --kp-lines-muted: #677067;
  --kp-lines-divider: #e1e5e0;
  --kp-lines-hover: #f4f5f3;
  --kp-lines-disabled-surface: #f5f6f4;
  --kp-lines-picker-border: #b9c1b7;
  --kp-lines-shadow: #0001;
  --kp-lines-selected: var(--select-option-active);
  --kp-lines-header-border: #cbd2c9;
  --kp-lines-readonly-surface: #fafbf9;
  --kp-lines-stock-ink: #525d51;
  --kp-lines-error-ink: #a13b2a;
  --kp-lines-chip-border: #d7ddd4;
  --kp-lines-action-hover: #256629;
  --kp-lines-disabled-action: #e5e7e3;
  --kp-lines-disabled-action-ink: #737a70;
  --kp-lines-toast-ink: #252c24;
  --kp-lines-toast-shadow: #0002;
  --kp-lines-backdrop: #0003;
  --kp-lines-card-border: #dce1d9;
  --kp-lines-label: #626a62;
  --kp-lines-border: #d7dcd6;
  --kp-lines-surface: var(--kp-control-surface);
  --kp-lines-affix: #737b72;
  --kp-lines-invalid: #b04735;
  --kp-lines-invalid-ring: var(--kp-lines-focus-ring);
  --kp-lines-disabled-border: #e2e5df;
  --kp-lines-disabled-ink: #879084;
  --kp-lines-placeholder: #8a9188;
  --kp-lines-focus-surface: #fcfcfb;
  --kp-lines-warning: #895710;
}

/* The one office dropdown (kit-page select-choice.css is its sole owner). Tokens only; New sale never reads them. */
:root {
  --select-border: #d7dcd6;
  --select-border-hover: #a6ada6;
  --select-fill: #ffffff;
  --select-fill-hover: #f7f8f7;
  --select-text: #252a2d;
  --select-placeholder: #5c6370;
  --select-disabled-fill: #f5f6f5;
  --select-disabled-text: #737a80;
  --select-error: #b42318;
  --select-focus-ring: #5c6370;
  /* Board 586 (Astra list spec, owner 2026-10-26): ONE row look per theme, the same for every family and palette. Active = pale tint + 1px perimeter + 2px leading bar (both are the mark, drawn inset so nothing moves); hover = the same tint with no mark; chosen = the list's own background (a checkmark carries it). */
  --kit-menu-bg: #ffffff;
  --kit-menu-row-tint: #eef2f6;
  --kit-menu-row-ink: #17212b;
  --kit-menu-row-mark: #64748b;
  --select-active-fill: var(--kit-menu-row-tint);
  --select-option-active: linear-gradient(var(--kit-menu-row-mark),var(--kit-menu-row-mark)) 0 4px / 2px calc(100% - 8px) no-repeat, var(--kit-menu-row-tint);
  --select-option-ink: var(--kit-menu-row-ink);
  --select-option-active-mark: inset 0 0 0 1px var(--kit-menu-row-mark);
  --select-option-chosen: transparent;
  --select-shadow: rgb(0 0 0 / 12%);
  --select-scrim: rgb(0 0 0 / 33%);
  --choice-accent: #2f7d32;
  --choice-accent-ink: #ffffff;
  --choice-ink: #232923;
  --choice-ink-quiet: #879084;
}
:root[data-theme="dark"] {
  --select-border: var(--border);
  --select-border-hover: #4a5650;
  --select-fill: var(--surface);
  --select-fill-hover: #1f2723;
  --select-text: var(--fg);
  --select-placeholder: var(--muted);
  --select-disabled-fill: #1b211e;
  --select-disabled-text: #7d8a82;
  --select-error: #ff8a7a;
  --select-focus-ring: #a6b2a6;
  --kit-menu-bg: #111827;
  --kit-menu-row-tint: #273444;
  --kit-menu-row-ink: #f8fafc;
  --select-shadow: rgb(0 0 0 / 50%);
  --choice-ink: var(--fg);
  --choice-ink-quiet: #7d8a82;
}

:root:is([data-layout],[data-office-surface])[data-dark-version="green"][data-theme="dark"] {
  --bg:#081c15;--surface:#10291f;--subtle:#17372b;--raised:#17372b;--border:#315344;
  --fg:#edf7ef;--muted:#b0c9b8;--accent:#87d86a;--accent-soft:#25482b;--on-accent:#10220c;
  --brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);
  --side:#06150f;--side-fg:var(--fg);--side-muted:var(--muted);--side-on:#25482b;
  --field-bg:var(--surface);--field-fg:var(--fg);--field-muted:var(--muted);--field-disabled-bg:var(--subtle);--field-readonly-bg:var(--subtle);
  --top-bg:var(--surface);--top-fg:var(--fg);color-scheme:dark;
}
:root:is([data-layout],[data-office-surface])[data-dark-version="black"][data-theme="dark"] {
  --bg:#101010;--surface:#181818;--subtle:#222;--raised:#222;--border:#3a3a3a;
  --fg:#f1f1f1;--muted:#b6b6b6;--accent:#a5e96c;--accent-soft:#28371e;--on-accent:#142008;
  --brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);
  --side:#0c0c0c;--side-fg:var(--fg);--side-muted:var(--muted);--side-on:#28371e;
  --field-bg:var(--surface);--field-fg:var(--fg);--field-muted:var(--muted);--field-disabled-bg:var(--subtle);--field-readonly-bg:var(--subtle);
  --top-bg:var(--surface);--top-fg:var(--fg);color-scheme:dark;
}
/* Board 586: dark row tint per dark version. Astra (serial-look-ANSWERS 1): "dark cool" = Deep green dark, "dark neutral" = Near-black dark. --kit-menu-bg is the list/popup background (answers 2); the trigger keeps --select-fill. Ink and mark are shared by both darks (set on the dark root above). Auto in a dark OS uses the configured dark version's set. */
:root:is([data-layout],[data-office-surface])[data-dark-version="green"][data-theme="dark"] { --kit-menu-bg:#111827; --kit-menu-row-tint:#273444; }
:root:is([data-layout],[data-office-surface])[data-dark-version="black"][data-theme="dark"] { --kit-menu-bg:#202020; --kit-menu-row-tint:#353535; }
@media (prefers-color-scheme: dark) {
:root[data-theme="auto"] { --kit-menu-bg:#111827; --kit-menu-row-tint:#273444; --kit-menu-row-ink:#f8fafc; --select-shadow:rgb(0 0 0 / 50%); --choice-ink:var(--fg); --choice-ink-quiet:#7d8a82; }
:root:is([data-layout],[data-office-surface])[data-dark-version="green"][data-theme="auto"] { --kit-menu-bg:#111827; --kit-menu-row-tint:#273444; }
:root:is([data-layout],[data-office-surface])[data-dark-version="black"][data-theme="auto"] { --kit-menu-bg:#202020; --kit-menu-row-tint:#353535; }
}
.swatch.p-green-dark{background:#10291f}.swatch.p-green-dark i{background:#87d86a}
.swatch.p-green-black{background:#181818}.swatch.p-green-black i{background:#a5e96c}

:root[data-theme="dark"] {
  --sa-calm-canvas:var(--bg);--sa-calm-bar:var(--surface);--sa-calm-tint:var(--subtle);--sa-calm-line:var(--border);
  --sa-dark-paper:var(--surface);--sa-dark-ink:var(--fg);--sa-dark-muted:var(--muted);
  --sa-dark-soft:var(--subtle);--sa-dark-rule:var(--border);--sa-dark-danger:var(--danger);
}
:root[data-theme="dark"] .sa-root[data-sa-page] { --muted:var(--sa-dark-muted);--line:var(--sa-dark-rule); }

:root[data-theme="dark"] {
  --kp-nav-surface:var(--surface);--kp-nav-ink:var(--fg);--kp-nav-muted:var(--muted);--kp-nav-border:var(--border);
  --kp-nav-hover:var(--subtle);--kp-nav-active:var(--accent);--kp-nav-active-ink:var(--on-accent);
  --kp-nav-heading:var(--muted);--kp-nav-bar-border:var(--border);
  --kp-office-input-bg:var(--surface);--kp-office-input-ink:var(--fg);--kp-office-input-border:var(--border);
  --kp-control-surface:var(--surface);--kp-control-ink:var(--fg);--kp-control-border:var(--border);--kp-control-color-scheme:dark;
}

@media (prefers-color-scheme: dark) {
:root:is([data-layout],[data-office-surface])[data-dark-version="green"][data-theme="auto"] {
  --bg:#081c15;--surface:#10291f;--subtle:#17372b;--raised:#17372b;--border:#315344;
  --fg:#edf7ef;--muted:#b0c9b8;--accent:#87d86a;--accent-soft:#25482b;--on-accent:#10220c;
  --brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);
  --side:#06150f;--side-fg:var(--fg);--side-muted:var(--muted);--side-on:#25482b;
  --field-bg:var(--surface);--field-fg:var(--fg);--field-muted:var(--muted);--field-disabled-bg:var(--subtle);--field-readonly-bg:var(--subtle);
  --top-bg:var(--surface);--top-fg:var(--fg);color-scheme:dark;
}
:root:is([data-layout],[data-office-surface])[data-dark-version="black"][data-theme="auto"] {
  --bg:#101010;--surface:#181818;--subtle:#222;--raised:#222;--border:#3a3a3a;
  --fg:#f1f1f1;--muted:#b6b6b6;--accent:#a5e96c;--accent-soft:#28371e;--on-accent:#142008;
  --brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);
  --side:#0c0c0c;--side-fg:var(--fg);--side-muted:var(--muted);--side-on:#28371e;
  --field-bg:var(--surface);--field-fg:var(--fg);--field-muted:var(--muted);--field-disabled-bg:var(--subtle);--field-readonly-bg:var(--subtle);
  --top-bg:var(--surface);--top-fg:var(--fg);color-scheme:dark;
}
:root[data-theme="auto"] {
  --sa-calm-canvas:var(--bg);--sa-calm-bar:var(--surface);--sa-calm-tint:var(--subtle);--sa-calm-line:var(--border);
  --sa-dark-paper:var(--surface);--sa-dark-ink:var(--fg);--sa-dark-muted:var(--muted);
  --sa-dark-soft:var(--subtle);--sa-dark-rule:var(--border);--sa-dark-danger:var(--danger);
}
:root[data-theme="auto"] .sa-root[data-sa-page] { --muted:var(--sa-dark-muted);--line:var(--sa-dark-rule); }
:root[data-theme="auto"] {
  --kp-nav-surface:var(--surface);--kp-nav-ink:var(--fg);--kp-nav-muted:var(--muted);--kp-nav-border:var(--border);
  --kp-nav-hover:var(--subtle);--kp-nav-active:var(--accent);--kp-nav-active-ink:var(--on-accent);
  --kp-nav-heading:var(--muted);--kp-nav-bar-border:var(--border);
  --kp-office-input-bg:var(--surface);--kp-office-input-ink:var(--fg);--kp-office-input-border:var(--border);
  --kp-control-surface:var(--surface);--kp-control-ink:var(--fg);--kp-control-border:var(--border);--kp-control-color-scheme:dark;
}
}

/* Dark counterparts for component fallbacks; light and print keep their existing values. */
@media screen{:root[data-theme="dark"]{

  --pos-bar:var(--surface);--pos-canvas:var(--bg);--pos-surface:var(--surface);--pos-tint:var(--subtle);--pos-field:var(--subtle);--pos-neutral-field:var(--subtle);
  --pos-selected:var(--accent-soft);--pos-border:var(--border);--pos-ink:var(--fg);--pos-muted:var(--muted);--pos-action-aa:var(--accent);
  --kp-control-hover-border:var(--muted);--kp-control-invalid:var(--danger);--kp-control-disabled-surface:var(--subtle);--kp-control-disabled-ink:var(--muted);
  --kp-control-disabled-border:var(--border);--kp-control-selected-fill:var(--accent-soft);--kp-control-hover-fill:var(--subtle);
  --kp-module-info-fallback:var(--info);--kp-module-raised-fallback:var(--subtle);
  --kp-inventory-option-border:var(--border);--kp-inventory-option-surface:var(--subtle);--kp-inventory-alert-ink:var(--danger);--kp-inventory-invalid-ink:var(--danger);
  --kp-report-table-border:var(--border);--kp-report-rule-fallback:var(--border);--kp-report-odd-fallback:var(--surface);--kp-report-even-fallback:var(--subtle);
  --kp-sale-negative-ink:var(--danger);--kp-sale-returned-ink:#c9b5ff;--kp-sale-khata-ink:#79d7d7;--kp-sale-due-light:var(--kp-sale-due-dark);--kp-sale-progress-surface:var(--subtle);
  --kp-lines-focus-ring:color-mix(in srgb,var(--accent) 40%,transparent);

  --kp-on-emphasis:var(--on-accent);--kp-tag-warning-fill:var(--warn);--action-danger-ink:var(--on-accent);--kp-nav-focus:var(--accent);
  --kp-module-sell-ink:var(--info);--kp-module-buy-ink:var(--warn);--kp-module-money-ink:#d9b8e8;
  --kp-paper-surface:var(--surface);--kp-paper-ink:var(--fg);--kp-paper-border:var(--border);--kp-paper-muted:var(--muted);--kp-paper-line:var(--border);
  --kp-paper-caption-ink:var(--muted);--kp-paper-guide-ink:var(--muted);--kp-paper-guide-border:var(--border);--kp-purchase-voucher-rule:var(--border);
  --kp-setup-surface:var(--surface);--kp-setup-canvas:var(--bg);--kp-setup-ink:var(--fg);--kp-setup-border:var(--border);--kp-setup-banner:var(--subtle);
  --kp-setup-muted:var(--muted);--kp-setup-field-border:var(--border);--kp-setup-field:var(--surface);--kp-setup-selected:var(--accent-soft);
  --kp-setup-disabled:var(--subtle);--kp-setup-disabled-action:var(--subtle);--kp-setup-tint:var(--subtle);--kp-setup-danger:var(--danger);
  --kp-office-setup-surface:var(--surface);--kp-office-setup-card-border:var(--border);--kp-office-setup-table-border:var(--border);--kp-office-setup-table-head:var(--subtle);
  --kp-office-setup-field-border:var(--border);--kp-office-setup-field-ink:var(--fg);--kp-office-setup-button-border:var(--border);--kp-office-setup-button-surface:var(--subtle);
  --kp-office-setup-error-surface:var(--danger-soft);--kp-office-setup-error-ink:var(--danger);--kp-booking-error-ink:var(--danger);
  --kp-lines-action:var(--accent);--kp-lines-ink:var(--fg);--kp-lines-muted:var(--muted);--kp-lines-divider:var(--border);--kp-lines-hover:var(--subtle);
  --kp-lines-disabled-surface:var(--subtle);--kp-lines-picker-border:var(--border);--kp-lines-header-border:var(--border);
  --kp-lines-readonly-surface:var(--subtle);--kp-lines-stock-ink:var(--muted);--kp-lines-error-ink:var(--danger);--kp-lines-chip-border:var(--border);
  --kp-lines-action-hover:var(--action-hover);--kp-lines-disabled-action:var(--subtle);--kp-lines-disabled-action-ink:var(--muted);--kp-lines-toast-ink:var(--fg);
  --kp-lines-card-border:var(--border);--kp-lines-label:var(--muted);--kp-lines-border:var(--border);--kp-lines-affix:var(--muted);
  --kp-lines-invalid:var(--danger);--kp-lines-disabled-border:var(--border);--kp-lines-disabled-ink:var(--muted);--kp-lines-placeholder:var(--muted);--kp-lines-focus-surface:var(--surface);--kp-lines-warning:var(--warn);
  --danger:#fca5a5;--danger-soft:#3c2020;--warn:#fdba74;--warn-soft:#39291d;--info:#9bbdf0;
  --select-fill:var(--surface);--select-text:var(--fg);--select-placeholder:var(--muted);--select-border:var(--border);--select-error:var(--danger);--select-focus-ring:var(--accent);
  --field-error:var(--danger);--field-disabled-fg:var(--muted);--field-chevron:url("/kit/shell/select-chevron-dark.svg");
  --component-surface:var(--surface);--component-subtle:var(--subtle);--component-border:var(--border);
  --component-ink:var(--fg);--component-muted:var(--muted);--component-accent:var(--accent);--component-on-accent:var(--on-accent);
  --component-danger:var(--danger);--component-warn:var(--warn);
  --component-tint-warning:color-mix(in srgb,var(--warn) 12%,var(--surface));--component-tint-error:var(--danger-soft);
  --office-warn:var(--warn);--office-info:var(--info);
  --tint-info:color-mix(in srgb,var(--info) 12%,var(--surface));--tint-success:color-mix(in srgb,var(--ok) 12%,var(--surface));
  --tint-warning:var(--component-tint-warning);--tint-error:var(--danger-soft);
  --select-border-hover:var(--muted);--select-fill-hover:var(--subtle);--select-disabled-fill:var(--subtle);--select-disabled-text:var(--muted);
  --choice-accent:var(--accent);--choice-accent-ink:var(--on-accent);--choice-ink:var(--fg);--choice-ink-quiet:var(--muted);
  --kp-module-surface-fallback:var(--surface);--kp-module-border-fallback:var(--border);--kp-module-muted-fallback:var(--muted);--kp-module-ink-fallback:var(--fg);
  --kp-module-warning-fallback:var(--warn);--kp-module-danger-fallback:var(--danger);
}
}
@media screen and (prefers-color-scheme:dark){:root[data-theme="auto"]{

  --pos-bar:var(--surface);--pos-canvas:var(--bg);--pos-surface:var(--surface);--pos-tint:var(--subtle);--pos-field:var(--subtle);--pos-neutral-field:var(--subtle);
  --pos-selected:var(--accent-soft);--pos-border:var(--border);--pos-ink:var(--fg);--pos-muted:var(--muted);--pos-action-aa:var(--accent);
  --kp-control-hover-border:var(--muted);--kp-control-invalid:var(--danger);--kp-control-disabled-surface:var(--subtle);--kp-control-disabled-ink:var(--muted);
  --kp-control-disabled-border:var(--border);--kp-control-selected-fill:var(--accent-soft);--kp-control-hover-fill:var(--subtle);
  --kp-module-info-fallback:var(--info);--kp-module-raised-fallback:var(--subtle);
  --kp-inventory-option-border:var(--border);--kp-inventory-option-surface:var(--subtle);--kp-inventory-alert-ink:var(--danger);--kp-inventory-invalid-ink:var(--danger);
  --kp-report-table-border:var(--border);--kp-report-rule-fallback:var(--border);--kp-report-odd-fallback:var(--surface);--kp-report-even-fallback:var(--subtle);
  --kp-sale-negative-ink:var(--danger);--kp-sale-returned-ink:#c9b5ff;--kp-sale-khata-ink:#79d7d7;--kp-sale-due-light:var(--kp-sale-due-dark);--kp-sale-progress-surface:var(--subtle);
  --kp-lines-focus-ring:color-mix(in srgb,var(--accent) 40%,transparent);

  --kp-on-emphasis:var(--on-accent);--kp-tag-warning-fill:var(--warn);--action-danger-ink:var(--on-accent);--kp-nav-focus:var(--accent);
  --kp-module-sell-ink:var(--info);--kp-module-buy-ink:var(--warn);--kp-module-money-ink:#d9b8e8;
  --kp-paper-surface:var(--surface);--kp-paper-ink:var(--fg);--kp-paper-border:var(--border);--kp-paper-muted:var(--muted);--kp-paper-line:var(--border);
  --kp-paper-caption-ink:var(--muted);--kp-paper-guide-ink:var(--muted);--kp-paper-guide-border:var(--border);--kp-purchase-voucher-rule:var(--border);
  --kp-setup-surface:var(--surface);--kp-setup-canvas:var(--bg);--kp-setup-ink:var(--fg);--kp-setup-border:var(--border);--kp-setup-banner:var(--subtle);
  --kp-setup-muted:var(--muted);--kp-setup-field-border:var(--border);--kp-setup-field:var(--surface);--kp-setup-selected:var(--accent-soft);
  --kp-setup-disabled:var(--subtle);--kp-setup-disabled-action:var(--subtle);--kp-setup-tint:var(--subtle);--kp-setup-danger:var(--danger);
  --kp-office-setup-surface:var(--surface);--kp-office-setup-card-border:var(--border);--kp-office-setup-table-border:var(--border);--kp-office-setup-table-head:var(--subtle);
  --kp-office-setup-field-border:var(--border);--kp-office-setup-field-ink:var(--fg);--kp-office-setup-button-border:var(--border);--kp-office-setup-button-surface:var(--subtle);
  --kp-office-setup-error-surface:var(--danger-soft);--kp-office-setup-error-ink:var(--danger);--kp-booking-error-ink:var(--danger);
  --kp-lines-action:var(--accent);--kp-lines-ink:var(--fg);--kp-lines-muted:var(--muted);--kp-lines-divider:var(--border);--kp-lines-hover:var(--subtle);
  --kp-lines-disabled-surface:var(--subtle);--kp-lines-picker-border:var(--border);--kp-lines-header-border:var(--border);
  --kp-lines-readonly-surface:var(--subtle);--kp-lines-stock-ink:var(--muted);--kp-lines-error-ink:var(--danger);--kp-lines-chip-border:var(--border);
  --kp-lines-action-hover:var(--action-hover);--kp-lines-disabled-action:var(--subtle);--kp-lines-disabled-action-ink:var(--muted);--kp-lines-toast-ink:var(--fg);
  --kp-lines-card-border:var(--border);--kp-lines-label:var(--muted);--kp-lines-border:var(--border);--kp-lines-affix:var(--muted);
  --kp-lines-invalid:var(--danger);--kp-lines-disabled-border:var(--border);--kp-lines-disabled-ink:var(--muted);--kp-lines-placeholder:var(--muted);--kp-lines-focus-surface:var(--surface);--kp-lines-warning:var(--warn);
  --danger:#fca5a5;--danger-soft:#3c2020;--warn:#fdba74;--warn-soft:#39291d;--info:#9bbdf0;
  --select-fill:var(--surface);--select-text:var(--fg);--select-placeholder:var(--muted);--select-border:var(--border);--select-error:var(--danger);--select-focus-ring:var(--accent);
  --field-error:var(--danger);--field-disabled-fg:var(--muted);--field-chevron:url("/kit/shell/select-chevron-dark.svg");
  --component-surface:var(--surface);--component-subtle:var(--subtle);--component-border:var(--border);
  --component-ink:var(--fg);--component-muted:var(--muted);--component-accent:var(--accent);--component-on-accent:var(--on-accent);
  --component-danger:var(--danger);--component-warn:var(--warn);
  --component-tint-warning:color-mix(in srgb,var(--warn) 12%,var(--surface));--component-tint-error:var(--danger-soft);
  --office-warn:var(--warn);--office-info:var(--info);
  --tint-info:color-mix(in srgb,var(--info) 12%,var(--surface));--tint-success:color-mix(in srgb,var(--ok) 12%,var(--surface));
  --tint-warning:var(--component-tint-warning);--tint-error:var(--danger-soft);
  --select-border-hover:var(--muted);--select-fill-hover:var(--subtle);--select-disabled-fill:var(--subtle);--select-disabled-text:var(--muted);
  --choice-accent:var(--accent);--choice-accent-ink:var(--on-accent);--choice-ink:var(--fg);--choice-ink-quiet:var(--muted);
  --kp-module-surface-fallback:var(--surface);--kp-module-border-fallback:var(--border);--kp-module-muted-fallback:var(--muted);--kp-module-ink-fallback:var(--fg);
  --kp-module-warning-fallback:var(--warn);--kp-module-danger-fallback:var(--danger);
}}

:root:is([data-layout],[data-office-surface])[data-palette="midnight"][data-theme="dark"][data-dark-version]{ --accent:#dda94f;--accent-soft:#302719;--on-accent:#20180c;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="forest"][data-theme="dark"][data-dark-version]{ --accent:#8bd7bf;--accent-soft:#203a33;--on-accent:#102c24;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="cobalt"][data-theme="dark"][data-dark-version]{ --accent:#abc0ff;--accent-soft:#27334c;--on-accent:#162750;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="aubergine"][data-theme="dark"][data-dark-version]{ --accent:#e1b7d6;--accent-soft:#402d3d;--on-accent:#35202e;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="graphite"][data-theme="dark"][data-dark-version]{ --accent:#f0c36c;--accent-soft:#3d3320;--on-accent:#302307;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

@media(prefers-color-scheme:dark){

:root:is([data-layout],[data-office-surface])[data-palette="midnight"][data-theme="auto"][data-dark-version]{ --accent:#dda94f;--accent-soft:#302719;--on-accent:#20180c;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="forest"][data-theme="auto"][data-dark-version]{ --accent:#8bd7bf;--accent-soft:#203a33;--on-accent:#102c24;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="cobalt"][data-theme="auto"][data-dark-version]{ --accent:#abc0ff;--accent-soft:#27334c;--on-accent:#162750;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="aubergine"][data-theme="auto"][data-dark-version]{ --accent:#e1b7d6;--accent-soft:#402d3d;--on-accent:#35202e;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }

:root:is([data-layout],[data-office-surface])[data-palette="graphite"][data-theme="auto"][data-dark-version]{ --accent:#f0c36c;--accent-soft:#3d3320;--on-accent:#302307;--brand-green:var(--accent);--brand-soft:var(--accent-soft);--on-brand:var(--on-accent);--on-hero:var(--on-accent);--side-on:var(--accent-soft); }
}

/* Till on paper is always the light look: every token a dark rule sets goes back to the palette's light value (green when no palette), whatever the theme, palette or dark version. */
@media print {
  :root[data-office-surface="till"] { color-scheme:light !important; --accent:#0e7c00 !important; --accent-soft:#e8f5e3 !important; --active-fill:#0e7c00 !important; --bg:#fff !important; --border:#e5e7eb !important; --brand-green:#0e7c00 !important; --brand-soft:#e8f5e3 !important; --choice-ink:#232923 !important; --choice-ink-quiet:#879084 !important; --danger:#b91c1c !important; --danger-soft:#fef2f2 !important; --fg:#111827 !important; --field-bg:#ffffff !important; --field-border:#0e7c00 !important; --field-chevron:url("/kit/shell/select-chevron.svg") !important; --field-disabled-bg:#f4f4f4 !important; --field-disabled-border:#0e7c00 !important; --field-disabled-fg:#737373 !important; --field-error:#b42318 !important; --field-fg:#242424 !important; --field-focus:#0e7c00 !important; --field-hover-border:#0e7c00 !important; --field-line:#0e7c00 !important; --field-line-focus:#0e7c00 !important; --field-muted:#626161 !important; --field-readonly-bg:#f4f4f4 !important; --focus:#0e7c00 !important; --hero:#0e7c00 !important; --info:#1d4ed8 !important; --kit-menu-bg:#ffffff !important; --kit-menu-row-ink:#17212b !important; --kit-menu-row-tint:#eef2f6 !important; --kp-control-border:#a8a8a8 !important; --kp-control-color-scheme:light !important; --kp-control-ink:#242424 !important; --kp-control-surface:#fff !important; --kp-nav-active:#078000 !important; --kp-nav-active-ink:#fff !important; --kp-nav-bar-border:#dce1e7 !important; --kp-nav-border:#e1e5eb !important; --kp-nav-heading:#60738c !important; --kp-nav-hover:#f4f5f3 !important; --kp-nav-ink:#162032 !important; --kp-nav-muted:#65758b !important; --kp-nav-surface:#fff !important; --kp-office-input-bg:initial !important; --kp-office-input-border:initial !important; --kp-office-input-ink:initial !important; --muted:#637084 !important; --ok:#0e7c00 !important; --on-accent:#fff !important; --on-brand:#fff !important; --on-hero:#fff !important; --panel-tint:#fff !important; --raised:#f6f7f8 !important; --sa-calm-bar:#ffffff !important; --sa-calm-canvas:#f7f7f7 !important; --sa-calm-line:#e4e5e7 !important; --sa-calm-tint:#f4f5f4 !important; --sa-dark-danger:initial !important; --sa-dark-ink:initial !important; --sa-dark-muted:initial !important; --sa-dark-paper:initial !important; --sa-dark-rule:initial !important; --sa-dark-soft:initial !important; --select-border:#d7dcd6 !important; --select-border-hover:#a6ada6 !important; --select-disabled-fill:#f5f6f5 !important; --select-disabled-text:#737a80 !important; --select-error:#b42318 !important; --select-fill:#ffffff !important; --select-fill-hover:#f7f8f7 !important; --select-focus-ring:#5c6370 !important; --select-placeholder:#5c6370 !important; --select-shadow:rgb(0 0 0 / 12%) !important; --select-text:#252a2d !important; --shadow:0 16px 64px rgba(17,24,39,.15) !important; --side:#f3f9ee !important; --side-fg:#27382a !important; --side-muted:#626161 !important; --side-on:#c9ffc2 !important; --subtle:#f6f7f8 !important; --surface:#fff !important; --top-bg:initial !important; --top-fg:initial !important; --top-focus:initial !important; --warn:#b45309 !important; --warn-soft:#fff7ed !important; }
  :root[data-office-surface="till"][data-palette="green"] { --side:#0f1a13 !important; --side-fg:#eef5ee !important; --side-muted:#94a597 !important; --side-on:#173b18 !important; --top-bg:#0f1a13 !important; --top-fg:#eef5ee !important; --top-focus:#0e7c00 !important; }
  :root[data-office-surface="till"][data-palette="midnight"] { --accent:#805510 !important; --accent-soft:#fff4de !important; --active-fill:#805510 !important; --brand-green:#805510 !important; --field-border:#805510 !important; --field-disabled-border:#805510 !important; --field-focus:#805510 !important; --field-hover-border:#805510 !important; --field-line:#805510 !important; --field-line-focus:#805510 !important; --focus:#805510 !important; --hero:#805510 !important; --info:#2f5a8a !important; --ok:#805510 !important; --side:#1f1a12 !important; --side-fg:#efe7d6 !important; --side-muted:#a99d85 !important; --side-on:#3a2f1b !important; --top-bg:#1f1a12 !important; --top-fg:#efe7d6 !important; --top-focus:#805510 !important; }
  :root[data-office-surface="till"][data-palette="forest"] { --accent:#176658 !important; --accent-soft:#e5f3ee !important; --active-fill:#176658 !important; --brand-green:#176658 !important; --field-border:#176658 !important; --field-disabled-border:#176658 !important; --field-focus:#176658 !important; --field-hover-border:#176658 !important; --field-line:#176658 !important; --field-line-focus:#176658 !important; --focus:#176658 !important; --hero:#176658 !important; --ok:#176658 !important; --side:#141916 !important; --side-fg:#edf4ef !important; --side-muted:#98a59d !important; --side-on:#edf6f2 !important; --top-bg:#141916 !important; --top-fg:#edf4ef !important; --top-focus:#176658 !important; }
  :root[data-office-surface="till"][data-palette="cobalt"] { --accent:#304fca !important; --accent-soft:#edf1ff !important; --active-fill:#304fca !important; --brand-green:#304fca !important; --field-border:#304fca !important; --field-disabled-border:#304fca !important; --field-focus:#304fca !important; --field-hover-border:#304fca !important; --field-line:#304fca !important; --field-line-focus:#304fca !important; --focus:#304fca !important; --hero:#304fca !important; --ok:#304fca !important; --side:#131721 !important; --side-fg:#edf2ff !important; --side-muted:#97a0b4 !important; --side-on:#edf1ff !important; --top-bg:#131721 !important; --top-fg:#edf2ff !important; --top-focus:#304fca !important; }
  :root[data-office-surface="till"][data-palette="aubergine"] { --accent:#704568 !important; --accent-soft:#f5edf3 !important; --active-fill:#704568 !important; --brand-green:#704568 !important; --field-border:#704568 !important; --field-disabled-border:#704568 !important; --field-focus:#704568 !important; --field-hover-border:#704568 !important; --field-line:#704568 !important; --field-line-focus:#704568 !important; --focus:#704568 !important; --hero:#704568 !important; --ok:#704568 !important; --side:#1c171b !important; --side-fg:#f5ecf2 !important; --side-muted:#aa9ea7 !important; --side-on:#f5edf3 !important; --top-bg:#1c171b !important; --top-fg:#f5ecf2 !important; --top-focus:#704568 !important; }
  :root[data-office-surface="till"][data-palette="graphite"] { --accent:#8b5700 !important; --accent-soft:#fff4dc !important; --active-fill:#8b5700 !important; --brand-green:#8b5700 !important; --field-border:#8b5700 !important; --field-disabled-border:#8b5700 !important; --field-focus:#8b5700 !important; --field-hover-border:#8b5700 !important; --field-line:#8b5700 !important; --field-line-focus:#8b5700 !important; --focus:#8b5700 !important; --hero:#8b5700 !important; --ok:#8b5700 !important; --side:#161718 !important; --side-fg:#f2f2ef !important; --side-muted:#a3a49e !important; --side-on:#fff4dc !important; --top-bg:#161718 !important; --top-fg:#f2f2ef !important; --top-focus:#8b5700 !important; }
  :root[data-office-surface="till"] [data-field-look="calm"] { --field-line:#858e98 !important; --panel-tint:#f3f4f6 !important; }
  :root[data-office-surface="till"] .sa-root[data-sa-page] { --muted:inherit !important; --line:inherit !important; }
}

/* Menu highlight Green: restore the pre-calm shared ACTIVE/HOVER/CHOSEN tokens
   (b3a352706 parent). Calm retains Board 586 above; absent settings default to Green. */
:root:not([data-menu-style="calm"]) {
  --select-active-fill:#f0f2f0;
  --select-option-active:#4ca541;
  --select-option-active-mark:inset 3px 0 0 var(--select-text);
  --select-option-chosen:var(--accent-soft,#e8f5e3);
  --select-option-ink:var(--select-text);
}
:root:not([data-menu-style="calm"])[data-theme="dark"] { --select-active-fill:#243029; --select-option-active:#327a31; }
@media(prefers-color-scheme:dark) {
  :root:not([data-menu-style="calm"])[data-theme="auto"] { --select-active-fill:#243029; }
}
/* Board 586, keyboard-active row fill: one explicit colour per family and look, no mixes. Each is >=3:1 on that look's list and carries the row text at >=4.5:1 (the product of the two is fixed by list and text, so about 3.1 and 4.6 is the most that fits). Green is the base; a palette overrides it. */
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="midnight"] { --select-option-active:#b58b4a; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="forest"] { --select-option-active:#43a192; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="cobalt"] { --select-option-active:#7f90cb; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="aubergine"] { --select-option-active:#b383ab; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="graphite"] { --select-option-active:#b38c47; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-dark-version="green"][data-theme="dark"] { --select-option-active:#487b33; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-dark-version="black"][data-theme="dark"] { --select-option-active:#4f7330; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="midnight"][data-dark-version="green"][data-theme="dark"] { --select-option-active:#886a38; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="midnight"][data-dark-version="black"][data-theme="dark"] { --select-option-active:#806534; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="forest"][data-dark-version="green"][data-theme="dark"] { --select-option-active:#337b66; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="forest"][data-dark-version="black"][data-theme="dark"] { --select-option-active:#2f755f; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="cobalt"][data-dark-version="green"][data-theme="dark"] { --select-option-active:#526bb9; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="cobalt"][data-dark-version="black"][data-theme="dark"] { --select-option-active:#4b65b5; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="aubergine"][data-dark-version="green"][data-theme="dark"] { --select-option-active:#af4892; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="aubergine"][data-dark-version="black"][data-theme="dark"] { --select-option-active:#a5458c; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="graphite"][data-dark-version="green"][data-theme="dark"] { --select-option-active:#886a38; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="graphite"][data-dark-version="black"][data-theme="dark"] { --select-option-active:#806534; }
@media (prefers-color-scheme: dark) {
:root:not([data-menu-style="calm"])[data-theme="auto"] { --select-option-active:#327a31; --select-shadow:rgb(0 0 0 / 50%); --choice-ink:var(--fg); --choice-ink-quiet:#7d8a82; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-dark-version="green"][data-theme="auto"] { --select-option-active:#487b33; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-dark-version="black"][data-theme="auto"] { --select-option-active:#4f7330; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="midnight"][data-dark-version="green"][data-theme="auto"] { --select-option-active:#886a38; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="midnight"][data-dark-version="black"][data-theme="auto"] { --select-option-active:#806534; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="forest"][data-dark-version="green"][data-theme="auto"] { --select-option-active:#337b66; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="forest"][data-dark-version="black"][data-theme="auto"] { --select-option-active:#2f755f; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="cobalt"][data-dark-version="green"][data-theme="auto"] { --select-option-active:#526bb9; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="cobalt"][data-dark-version="black"][data-theme="auto"] { --select-option-active:#4b65b5; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="aubergine"][data-dark-version="green"][data-theme="auto"] { --select-option-active:#af4892; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="aubergine"][data-dark-version="black"][data-theme="auto"] { --select-option-active:#a5458c; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="graphite"][data-dark-version="green"][data-theme="auto"] { --select-option-active:#886a38; }
:root:not([data-menu-style="calm"]):is([data-layout],[data-office-surface])[data-palette="graphite"][data-dark-version="black"][data-theme="auto"] { --select-option-active:#806534; }
}

/* Working result cards have their own roles; nested menus keep the menu roles. */
:root {
  --kit-result-active-bg: var(--accent-soft, #e8f5e3);
  --kit-result-active-ink: var(--fg, #111827);
  --kit-result-active-bar: var(--accent, #0e7c00);
}
:root[data-menu-style="calm"] {
  --kit-result-active-bg: var(--kit-menu-row-tint);
  --kit-result-active-ink: var(--kit-menu-row-ink);
  --kit-result-active-bar: var(--kit-menu-row-mark);
}
/* Wave is opt-in. Animate only the background, leaving text and controls still. */
:root[data-menu-style="wave"] {
  --select-active-fill: var(--accent-soft, #e8f5e3) !important;
  --select-option-active: var(--accent-soft, #e8f5e3) !important;
  --select-option-ink: var(--fg, #111827) !important;
  --select-option-active-mark: inset 3px 0 0 var(--accent, #0e7c00) !important;
  --select-option-chosen: transparent !important;
  --kit-result-active-bg: var(--accent-soft, #e8f5e3);
  --kit-result-active-ink: var(--fg, #111827);
  --kit-result-active-bar: var(--accent, #0e7c00);
  --kit-menu-wave: linear-gradient(105deg, transparent 35%, color-mix(in srgb, #74dc50 25%, transparent) 50%, transparent 65%);
}
/* Keep the original neutral shimmer as a separate opt-in choice. */
:root[data-menu-style="wave-calm"] {
  --select-active-fill: var(--kit-menu-row-tint) !important;
  --select-option-active: var(--kit-menu-row-tint) !important;
  --select-option-ink: var(--kit-menu-row-ink) !important;
  --select-option-active-mark: inset 3px 0 0 var(--kit-menu-row-mark) !important;
  --select-option-chosen: transparent !important;
  --kit-result-active-bg: var(--kit-menu-row-tint);
  --kit-result-active-ink: var(--kit-menu-row-ink);
  --kit-result-active-bar: var(--kit-menu-row-mark);
  --kit-menu-wave: linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--kit-menu-row-mark) 16%, transparent) 50%, transparent 65%);
}
@property --kit-menu-wave-position {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 150%;
}
@keyframes kit-menu-wave {
  from { --kit-menu-wave-position: 150%; }
  to { --kit-menu-wave-position: -150%; }
}

/* One source for shared office focus, semantic tones and geometry. */
:root{
  /* The ONE office focus ring (board 580): the control's own border takes --office-ring-line, plus a soft 2px halo on it. No outline, no inset ring, no second box. */
  --office-ring-line:var(--component-accent,var(--accent,#2f7d32));
  --office-ring-halo:0 0 0 2px color-mix(in srgb,var(--office-ring-line) 12%,transparent);
  --kp-lines-focus-ring:color-mix(in srgb,var(--office-ring-line) 12%,transparent);
  --office-focus-ring:var(--office-ring-halo);
  --office-warn:var(--component-warn,#795008);--office-info:var(--component-muted,#4e5868);
  --tint-info:var(--component-subtle,#f2f4f6);--tint-success:var(--component-subtle,#eff6ed);--tint-warning:var(--component-tint-warning,#fff6e5);--tint-error:var(--component-tint-error,#fcf0ed);
  --radius-control:6px;--radius-overlay:8px;--radius-sheet:14px;--overlay-gap:4px;
}
