/* Exact v1 values: apps/frontend/app/globals.css, Investigate block (1322ff),
   and apps/frontend/app/dashboard/dashboard.module.css. No palette approximation.
   Application preference changes contrast only; the v1 brand remains purple. */
:root {
  --ink: oklch(0.255 0.038 276);
  --ink-soft: oklch(0.405 0.032 273);
  --muted: oklch(0.56 0.026 270);
  --paper: oklch(0.971 0.014 238);
  --paper-raised: oklch(0.992 0.006 245);
  --paper-deep: oklch(0.932 0.025 238);
  --line: oklch(0.835 0.027 247);
  --line-strong: oklch(0.675 0.038 257);
  --rail: oklch(0.285 0.085 285);
  --rail-soft: oklch(0.375 0.105 283);
  --brand-primary: oklch(0.59 0.14 278);
  --brand-deep: oklch(0.43 0.13 282);
  --brand-pale: oklch(0.91 0.055 273);
  --brand-cyan: oklch(0.68 0.115 224);
  --radius-sm: 4px;
  --radius-md: 8px;
  --surface:var(--paper-raised); --soft:var(--ink-soft); --wash:var(--paper-deep);
  --accent:var(--brand-deep); --danger:oklch(0.43 0.145 31);
  --green:oklch(0.46 0.08 162); --amber:oklch(0.46 0.11 72); --blue:oklch(0.43 0.08 252);
}
.dashboard {
  --paper:oklch(.32 .024 285); --paper-raised:oklch(.365 .025 285); --paper-deep:oklch(.405 .026 285);
  --ink:oklch(.97 .005 285); --ink-soft:oklch(.88 .01 285); --muted:oklch(.79 .015 285);
  --line:oklch(.46 .027 285); --line-strong:oklch(.57 .027 285);
  --chart-gold:oklch(.82 .095 77); --chart-green:oklch(.76 .075 165);
  --map-land:oklch(.47 .025 285); --map-border:oklch(.355 .023 285); --map-accent:oklch(.76 .08 165); --map-point:oklch(.86 .09 75);
  color:var(--ink);background:var(--paper);min-height:100vh;
}

.dashboard {--surface:var(--paper-raised);--soft:var(--ink-soft);--wash:var(--paper-deep);--accent:var(--chart-gold);--green:var(--chart-green);--amber:var(--chart-gold);--blue:oklch(.81 .07 250);--danger:oklch(.79 .1 35);max-width:none;}
.layout{grid-template-columns:232px minmax(0,1fr)}
.rail{width:232px;padding:24px 16px;color:oklch(0.955 0.014 245)}
.brand{padding:0 8px;gap:12px}.brand-mark{width:32px;height:38px;background:var(--brand-primary);color:oklch(0.985 0.008 245);font-size:1.55rem}.brand strong{font-size:1.65rem}.brand small{color:oklch(0.76 0.035 248);letter-spacing:.04em}
.rail-label,.rail-bottom{color:oklch(0.76 0.035 248)}.rail-bottom{border-color:oklch(0.4 0.07 282)}
.rail nav a{min-height:42px;color:oklch(0.79 0.035 250)}.rail nav a:hover,.rail nav a[aria-current=page]{background:var(--rail-soft);color:oklch(0.985 0.008 245)}.nav-symbol{color:var(--brand-cyan)}
.topbar{height:64px;background:oklch(0.982 0.01 242 / .95)}
.page{max-width:1500px;padding:48px clamp(24px,4vw,64px) 64px}.page.dashboard{max-width:none}
.page-heading h1{color:var(--brand-deep)}.dashboard .page-heading h1{color:var(--ink)}.dashboard .eyebrow{color:var(--chart-gold)}
.button.primary{background:var(--brand-deep);border-color:var(--brand-deep);color:oklch(0.985 0.008 245)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--brand-primary)}
.tag.danger,.notice.error{color:var(--danger)}.dot.danger{background:var(--danger)}
.dashboard .tag,.dashboard .notice,.dashboard .button,.dashboard input,.dashboard select{background:var(--surface);color:var(--ink);border-color:var(--line)}
.dashboard .tag.danger{color:var(--danger)}.dashboard .tag.blue{color:var(--blue)}.dashboard .tag.good{color:var(--green)}.dashboard .notice.warning{color:var(--chart-gold)}
.dashboard .button.primary{background:var(--chart-gold);color:oklch(.24 .025 285)}
.login-side{background:var(--rail)}.login-side .eyebrow{color:oklch(0.77 0.035 248)}
html[data-theme=dark]{--paper:oklch(.32 .024 285);--surface:oklch(.365 .025 285);--wash:oklch(.405 .026 285);--ink:oklch(.97 .005 285);--soft:oklch(.88 .01 285);--muted:oklch(.79 .015 285);--line:oklch(.46 .027 285);--accent:oklch(.82 .095 77);--danger:oklch(.79 .1 35)}
html[data-theme=dark] .page-heading h1{color:var(--ink)}html[data-theme=dark] .topbar{background:var(--surface)}
@media(max-width:1100px){.page{padding-inline:24px}}
@media(max-width:760px){.layout{display:block}.rail{width:min(300px,85vw);padding:24px 16px}.page{padding:25px 16px 48px}.topbar{height:64px}}
