/* PropMan design tokens, compiled from tokens.json.
   Generated by dist/build-dist.mjs. Do not edit this file or a copy of it: edit the source and rebuild.

   Light is the default and also answers [data-theme="light"]. Dark answers a browser asking for dark
   that the page has not overruled, and [data-theme="dark"] anywhere in the tree. Print is forced by
   @media print whatever is on screen, and [data-theme="print"] draws it on screen for review. Forced
   colours points every token at its system colour. The typefaces are imported from propman-fonts.css
   beside this file, so a consumer that must supply its own font URLs replaces that one file. */

@import url("propman-fonts.css");

:root, [data-theme="light"] {
  color-scheme: light;
  --app-bg: #f7f7f9;
  --surface: #ffffff;
  --surface-subtle: #fafafb;
  --surface-inset: #f4f4f6;
  --border-strong: #e0e0e5;
  --border: #eaeaee;
  --border-control: #85858f;
  --border-on-tint: #71717a;
  --border-mark: #e4e4e9;
  --border-subtle: #f0f0f2;
  --border-hair: #f4f4f6;
  --text: #16161a;
  --text-2: #3f3f47;
  --text-muted: #5f5f69;
  --text-faint: #71717a;
  --accent: oklch(0.52 0.14 264);
  --accent-hover: oklch(0.42 0.14 264);
  --accent-text: oklch(0.40 0.14 264);
  --accent-tint: oklch(0.965 0.02 264);
  --accent-hairline: oklch(0.90 0.04 264);
  --done: oklch(0.55 0.13 150);
  --done-text: oklch(0.42 0.11 150);
  --done-tint: oklch(0.97 0.03 150);
  --done-hairline: oklch(0.86 0.07 150);
  --warning: oklch(0.70 0.14 70);
  --warning-text: oklch(0.45 0.11 70);
  --warning-tint: oklch(0.98 0.02 85);
  --warning-hairline: oklch(0.88 0.06 85);
  --on-warning: #16161a;
  --danger: oklch(0.58 0.19 25);
  --danger-text: oklch(0.45 0.17 25);
  --danger-tint: oklch(0.98 0.02 25);
  --danger-hairline: oklch(0.88 0.06 25);
  --on-danger: #ffffff;
  --fault: #5c5c66;
  --fault-text: #3f3f47;
  --fault-tint: #f2f2f5;
  --fault-hairline: #dcdce2;
  --solid: #16161a;
  --on-solid: #ffffff;
  --scrim: rgba(20, 20, 28, 0.45);
  --brand: #005c9b;
  --area-work: oklch(0.66 0.17 295);
  --area-work-text: oklch(0.42 0.14 295);
  --area-work-tint: oklch(0.965 0.02 295);
  --area-work-hairline: oklch(0.88 0.05 295);
  --area-money: oklch(0.62 0.13 180);
  --area-money-text: oklch(0.42 0.13 180);
  --area-money-tint: oklch(0.965 0.02 180);
  --area-money-hairline: oklch(0.88 0.05 180);
  --area-records: oklch(0.36 0.14 257);
  --area-records-text: oklch(0.36 0.14 257);
  --area-records-tint: oklch(0.965 0.02 257);
  --area-records-hairline: oklch(0.88 0.05 257);
  --area-compliance: oklch(0.57 0.18 325);
  --area-compliance-text: oklch(0.42 0.14 325);
  --area-compliance-tint: oklch(0.965 0.02 325);
  --area-compliance-hairline: oklch(0.88 0.05 325);
  --area-admin: oklch(0.48 0.04 245);
  --area-admin-text: oklch(0.42 0.04 245);
  --area-admin-tint: oklch(0.965 0.02 245);
  --area-admin-hairline: oklch(0.88 0.04 245);
  --area-none: oklch(0.33 0.025 80);
  --area-none-text: oklch(0.33 0.025 80);
  --area-none-tint: oklch(0.965 0.02 80);
  --area-none-hairline: oklch(0.88 0.025 80);
  --band-0: #d4d4db;
  --band-1: oklch(0.78 0.12 90);
  --band-2: oklch(0.72 0.15 65);
  --band-3: oklch(0.64 0.17 45);
  --band-4: oklch(0.56 0.19 28);
  --band-5: oklch(0.44 0.17 22);
  --band-pip-off: #e4e4e9;
  --band-mono-0: #9a9aa4;
  --band-mono-1: #7c7c88;
  --band-mono-2: #5c5c66;
  --band-mono-3: #3f3f47;
  --band-mono-4: #26262c;
  --band-mono-5: #16161a;
  --comp-held: oklch(0.55 0.13 150);
  --owner-green: oklch(0.62 0.14 150);
  --shadow-card: 0 1px 2px rgba(20, 20, 28, 0.03);
  --shadow-raised: 0 1px 2px rgba(20, 20, 28, 0.04), 0 18px 40px -24px rgba(20, 20, 28, 0.22);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --app-bg: #101014;
    --surface: #17171c;
    --surface-subtle: #1c1c22;
    --surface-inset: #1c1c22;
    --border-strong: #2b2b33;
    --border: #24242b;
    --border-control: #70707b;
    --border-on-tint: #8f8f9a;
    --border-mark: #2b2b33;
    --border-subtle: #212128;
    --border-hair: #212128;
    --text: #f4f4f6;
    --text-2: #c4c4cc;
    --text-muted: #a3a3ae;
    --text-faint: #8f8f9a;
    --accent: oklch(0.72 0.13 264);
    --accent-hover: oklch(0.80 0.11 264);
    --accent-text: oklch(0.80 0.11 264);
    --accent-tint: oklch(0.25 0.06 264);
    --accent-hairline: oklch(0.62 0.15 264);
    --done: oklch(0.72 0.13 150);
    --done-text: oklch(0.86 0.10 150);
    --done-tint: oklch(0.27 0.05 150);
    --done-hairline: oklch(0.46 0.09 150);
    --warning: oklch(0.80 0.13 70);
    --warning-text: oklch(0.85 0.11 70);
    --warning-tint: oklch(0.28 0.05 70);
    --warning-hairline: oklch(0.45 0.09 70);
    --on-warning: #16161a;
    --danger: oklch(0.65 0.19 25);
    --danger-text: oklch(0.78 0.13 25);
    --danger-tint: oklch(0.27 0.06 25);
    --danger-hairline: oklch(0.45 0.12 25);
    --on-danger: #101014;
    --fault: #8f8f9a;
    --fault-text: #c4c4cc;
    --fault-tint: #1f1f26;
    --fault-hairline: #33333c;
    --solid: #ffffff;
    --on-solid: #101014;
    --scrim: rgba(0, 0, 0, 0.6);
    --brand: #9ad6ff;
    --area-work: oklch(0.74 0.18 300);
    --area-work-text: oklch(0.84 0.09 300);
    --area-work-tint: oklch(0.27 0.05 300);
    --area-work-hairline: oklch(0.5 0.1 300);
    --area-money: oklch(0.76 0.14 195);
    --area-money-text: oklch(0.84 0.09 195);
    --area-money-tint: oklch(0.27 0.05 195);
    --area-money-hairline: oklch(0.5 0.1 195);
    --area-records: oklch(0.58 0.13 267);
    --area-records-text: oklch(0.84 0.09 267);
    --area-records-tint: oklch(0.27 0.05 267);
    --area-records-hairline: oklch(0.5 0.1 267);
    --area-compliance: oklch(0.58 0.13 355);
    --area-compliance-text: oklch(0.84 0.09 355);
    --area-compliance-tint: oklch(0.27 0.05 355);
    --area-compliance-hairline: oklch(0.5 0.1 355);
    --area-admin: oklch(0.66 0.035 245);
    --area-admin-text: oklch(0.84 0.03 245);
    --area-admin-tint: oklch(0.27 0.025 245);
    --area-admin-hairline: oklch(0.5 0.06 245);
    --area-none: oklch(0.9 0.02 80);
    --area-none-text: oklch(0.9 0.02 80);
    --area-none-tint: oklch(0.27 0.02 80);
    --area-none-hairline: oklch(0.5 0.02 80);
    --band-0: #5a5a64;
    --band-1: oklch(0.82 0.13 90);
    --band-2: oklch(0.78 0.15 65);
    --band-3: oklch(0.72 0.17 45);
    --band-4: oklch(0.66 0.19 28);
    --band-5: oklch(0.58 0.19 22);
    --band-pip-off: #33333c;
    --band-mono-0: #4a4a52;
    --band-mono-1: #6b6b76;
    --band-mono-2: #8f8f9a;
    --band-mono-3: #b4b4be;
    --band-mono-4: #d8d8de;
    --band-mono-5: #f4f4f6;
    --comp-held: oklch(0.72 0.13 150);
    --owner-green: oklch(0.74 0.14 150);
    --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-raised: 0 1px 2px rgba(0, 0, 0, 0.3), 0 18px 40px -24px rgba(0, 0, 0, 0.5);
  }
}

[data-theme="dark"] {
  color-scheme: dark;
  --app-bg: #101014;
  --surface: #17171c;
  --surface-subtle: #1c1c22;
  --surface-inset: #1c1c22;
  --border-strong: #2b2b33;
  --border: #24242b;
  --border-control: #70707b;
  --border-on-tint: #8f8f9a;
  --border-mark: #2b2b33;
  --border-subtle: #212128;
  --border-hair: #212128;
  --text: #f4f4f6;
  --text-2: #c4c4cc;
  --text-muted: #a3a3ae;
  --text-faint: #8f8f9a;
  --accent: oklch(0.72 0.13 264);
  --accent-hover: oklch(0.80 0.11 264);
  --accent-text: oklch(0.80 0.11 264);
  --accent-tint: oklch(0.25 0.06 264);
  --accent-hairline: oklch(0.62 0.15 264);
  --done: oklch(0.72 0.13 150);
  --done-text: oklch(0.86 0.10 150);
  --done-tint: oklch(0.27 0.05 150);
  --done-hairline: oklch(0.46 0.09 150);
  --warning: oklch(0.80 0.13 70);
  --warning-text: oklch(0.85 0.11 70);
  --warning-tint: oklch(0.28 0.05 70);
  --warning-hairline: oklch(0.45 0.09 70);
  --on-warning: #16161a;
  --danger: oklch(0.65 0.19 25);
  --danger-text: oklch(0.78 0.13 25);
  --danger-tint: oklch(0.27 0.06 25);
  --danger-hairline: oklch(0.45 0.12 25);
  --on-danger: #101014;
  --fault: #8f8f9a;
  --fault-text: #c4c4cc;
  --fault-tint: #1f1f26;
  --fault-hairline: #33333c;
  --solid: #ffffff;
  --on-solid: #101014;
  --scrim: rgba(0, 0, 0, 0.6);
  --brand: #9ad6ff;
  --area-work: oklch(0.74 0.18 300);
  --area-work-text: oklch(0.84 0.09 300);
  --area-work-tint: oklch(0.27 0.05 300);
  --area-work-hairline: oklch(0.5 0.1 300);
  --area-money: oklch(0.76 0.14 195);
  --area-money-text: oklch(0.84 0.09 195);
  --area-money-tint: oklch(0.27 0.05 195);
  --area-money-hairline: oklch(0.5 0.1 195);
  --area-records: oklch(0.58 0.13 267);
  --area-records-text: oklch(0.84 0.09 267);
  --area-records-tint: oklch(0.27 0.05 267);
  --area-records-hairline: oklch(0.5 0.1 267);
  --area-compliance: oklch(0.58 0.13 355);
  --area-compliance-text: oklch(0.84 0.09 355);
  --area-compliance-tint: oklch(0.27 0.05 355);
  --area-compliance-hairline: oklch(0.5 0.1 355);
  --area-admin: oklch(0.66 0.035 245);
  --area-admin-text: oklch(0.84 0.03 245);
  --area-admin-tint: oklch(0.27 0.025 245);
  --area-admin-hairline: oklch(0.5 0.06 245);
  --area-none: oklch(0.9 0.02 80);
  --area-none-text: oklch(0.9 0.02 80);
  --area-none-tint: oklch(0.27 0.02 80);
  --area-none-hairline: oklch(0.5 0.02 80);
  --band-0: #5a5a64;
  --band-1: oklch(0.82 0.13 90);
  --band-2: oklch(0.78 0.15 65);
  --band-3: oklch(0.72 0.17 45);
  --band-4: oklch(0.66 0.19 28);
  --band-5: oklch(0.58 0.19 22);
  --band-pip-off: #33333c;
  --band-mono-0: #4a4a52;
  --band-mono-1: #6b6b76;
  --band-mono-2: #8f8f9a;
  --band-mono-3: #b4b4be;
  --band-mono-4: #d8d8de;
  --band-mono-5: #f4f4f6;
  --comp-held: oklch(0.72 0.13 150);
  --owner-green: oklch(0.74 0.14 150);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-raised: 0 1px 2px rgba(0, 0, 0, 0.3), 0 18px 40px -24px rgba(0, 0, 0, 0.5);
}

[data-theme="print"] {
  color-scheme: light;
  --app-bg: #ffffff;
  --surface: #ffffff;
  --surface-subtle: #ffffff;
  --surface-inset: #ffffff;
  --border-strong: #16161a;
  --border: #3f3f47;
  --border-control: #3f3f47;
  --border-on-tint: #3f3f47;
  --border-mark: #3f3f47;
  --border-subtle: #71717a;
  --border-hair: #9c9ca6;
  --text: #000000;
  --text-2: #16161a;
  --text-muted: #3f3f47;
  --text-faint: #3f3f47;
  --accent: oklch(0.45 0.14 264);
  --accent-hover: oklch(0.45 0.14 264);
  --accent-text: oklch(0.40 0.14 264);
  --accent-tint: #ffffff;
  --accent-hairline: #71717a;
  --done: oklch(0.45 0.13 150);
  --done-text: oklch(0.40 0.11 150);
  --done-tint: #ffffff;
  --done-hairline: #71717a;
  --warning: oklch(0.63 0.13 70);
  --warning-text: oklch(0.42 0.11 70);
  --warning-tint: #ffffff;
  --warning-hairline: #71717a;
  --on-warning: #16161a;
  --danger: oklch(0.50 0.19 25);
  --danger-text: oklch(0.42 0.17 25);
  --danger-tint: #ffffff;
  --danger-hairline: #71717a;
  --on-danger: #ffffff;
  --fault: #3f3f47;
  --fault-text: #16161a;
  --fault-tint: #ffffff;
  --fault-hairline: #71717a;
  --solid: #16161a;
  --on-solid: #ffffff;
  --scrim: rgba(0, 0, 0, 0);
  --brand: #000000;
  --area-work: oklch(0.5 0.17 295);
  --area-work-text: oklch(0.4 0.17 295);
  --area-work-tint: #ffffff;
  --area-work-hairline: #71717a;
  --area-money: oklch(0.45 0.12 180);
  --area-money-text: oklch(0.4 0.12 180);
  --area-money-tint: #ffffff;
  --area-money-hairline: #71717a;
  --area-records: oklch(0.36 0.14 257);
  --area-records-text: oklch(0.36 0.14 257);
  --area-records-tint: #ffffff;
  --area-records-hairline: #71717a;
  --area-compliance: oklch(0.45 0.18 325);
  --area-compliance-text: oklch(0.4 0.18 325);
  --area-compliance-tint: #ffffff;
  --area-compliance-hairline: #71717a;
  --area-admin: oklch(0.42 0.04 245);
  --area-admin-text: oklch(0.4 0.04 245);
  --area-admin-tint: #ffffff;
  --area-admin-hairline: #71717a;
  --area-none: oklch(0.33 0.025 80);
  --area-none-text: oklch(0.33 0.025 80);
  --area-none-tint: #ffffff;
  --area-none-hairline: #71717a;
  --band-0: #d4d4db;
  --band-1: oklch(0.78 0.12 90);
  --band-2: oklch(0.72 0.15 65);
  --band-3: oklch(0.64 0.17 45);
  --band-4: oklch(0.56 0.19 28);
  --band-5: oklch(0.44 0.17 22);
  --band-pip-off: #c8c8cf;
  --band-mono-0: #9a9aa4;
  --band-mono-1: #7c7c88;
  --band-mono-2: #5c5c66;
  --band-mono-3: #3f3f47;
  --band-mono-4: #26262c;
  --band-mono-5: #16161a;
  --comp-held: oklch(0.55 0.13 150);
  --owner-green: oklch(0.62 0.14 150);
  --shadow-card: none;
  --shadow-raised: none;
}

/* The selector list is wider than it looks necessary, on purpose: the dark rule above is on
   :root:not([data-theme="light"]), and a plain :root here would lose to it for a reader printing from
   a dark screen. This list carries the same weight and comes later, so paper is light every time. */
@media print {
  :root, :root:not([data-theme="light"]), [data-theme] {
    color-scheme: light;
    --app-bg: #ffffff;
    --surface: #ffffff;
    --surface-subtle: #ffffff;
    --surface-inset: #ffffff;
    --border-strong: #16161a;
    --border: #3f3f47;
    --border-control: #3f3f47;
    --border-on-tint: #3f3f47;
    --border-mark: #3f3f47;
    --border-subtle: #71717a;
    --border-hair: #9c9ca6;
    --text: #000000;
    --text-2: #16161a;
    --text-muted: #3f3f47;
    --text-faint: #3f3f47;
    --accent: oklch(0.45 0.14 264);
    --accent-hover: oklch(0.45 0.14 264);
    --accent-text: oklch(0.40 0.14 264);
    --accent-tint: #ffffff;
    --accent-hairline: #71717a;
    --done: oklch(0.45 0.13 150);
    --done-text: oklch(0.40 0.11 150);
    --done-tint: #ffffff;
    --done-hairline: #71717a;
    --warning: oklch(0.63 0.13 70);
    --warning-text: oklch(0.42 0.11 70);
    --warning-tint: #ffffff;
    --warning-hairline: #71717a;
    --on-warning: #16161a;
    --danger: oklch(0.50 0.19 25);
    --danger-text: oklch(0.42 0.17 25);
    --danger-tint: #ffffff;
    --danger-hairline: #71717a;
    --on-danger: #ffffff;
    --fault: #3f3f47;
    --fault-text: #16161a;
    --fault-tint: #ffffff;
    --fault-hairline: #71717a;
    --solid: #16161a;
    --on-solid: #ffffff;
    --scrim: rgba(0, 0, 0, 0);
    --brand: #000000;
    --area-work: oklch(0.5 0.17 295);
    --area-work-text: oklch(0.4 0.17 295);
    --area-work-tint: #ffffff;
    --area-work-hairline: #71717a;
    --area-money: oklch(0.45 0.12 180);
    --area-money-text: oklch(0.4 0.12 180);
    --area-money-tint: #ffffff;
    --area-money-hairline: #71717a;
    --area-records: oklch(0.36 0.14 257);
    --area-records-text: oklch(0.36 0.14 257);
    --area-records-tint: #ffffff;
    --area-records-hairline: #71717a;
    --area-compliance: oklch(0.45 0.18 325);
    --area-compliance-text: oklch(0.4 0.18 325);
    --area-compliance-tint: #ffffff;
    --area-compliance-hairline: #71717a;
    --area-admin: oklch(0.42 0.04 245);
    --area-admin-text: oklch(0.4 0.04 245);
    --area-admin-tint: #ffffff;
    --area-admin-hairline: #71717a;
    --area-none: oklch(0.33 0.025 80);
    --area-none-text: oklch(0.33 0.025 80);
    --area-none-tint: #ffffff;
    --area-none-hairline: #71717a;
    --band-0: #d4d4db;
    --band-1: oklch(0.78 0.12 90);
    --band-2: oklch(0.72 0.15 65);
    --band-3: oklch(0.64 0.17 45);
    --band-4: oklch(0.56 0.19 28);
    --band-5: oklch(0.44 0.17 22);
    --band-pip-off: #c8c8cf;
    --band-mono-0: #9a9aa4;
    --band-mono-1: #7c7c88;
    --band-mono-2: #5c5c66;
    --band-mono-3: #3f3f47;
    --band-mono-4: #26262c;
    --band-mono-5: #16161a;
    --comp-held: oklch(0.55 0.13 150);
    --owner-green: oklch(0.62 0.14 150);
    --shadow-card: none;
    --shadow-raised: none;
  }
}

@media (forced-colors: active) {
  :root, :root:not([data-theme="light"]), [data-theme] {
    --app-bg: Canvas;
    --surface: Canvas;
    --surface-subtle: Canvas;
    --surface-inset: Canvas;
    --border-strong: CanvasText;
    --border: CanvasText;
    --border-control: CanvasText;
    --border-on-tint: CanvasText;
    --border-mark: CanvasText;
    --border-subtle: GrayText;
    --border-hair: GrayText;
    --text: CanvasText;
    --text-2: CanvasText;
    --text-muted: CanvasText;
    --text-faint: CanvasText;
    --accent: LinkText;
    --accent-hover: LinkText;
    --accent-text: LinkText;
    --accent-tint: Canvas;
    --accent-hairline: CanvasText;
    --done: CanvasText;
    --done-text: CanvasText;
    --done-tint: Canvas;
    --done-hairline: CanvasText;
    --warning: CanvasText;
    --warning-text: CanvasText;
    --warning-tint: Canvas;
    --warning-hairline: CanvasText;
    --on-warning: Canvas;
    --danger: CanvasText;
    --danger-text: CanvasText;
    --danger-tint: Canvas;
    --danger-hairline: CanvasText;
    --on-danger: Canvas;
    --fault: CanvasText;
    --fault-text: CanvasText;
    --fault-tint: Canvas;
    --fault-hairline: CanvasText;
    --solid: ButtonText;
    --on-solid: ButtonFace;
    --scrim: Canvas;
    --brand: CanvasText;
    --area-work: CanvasText;
    --area-work-text: CanvasText;
    --area-work-tint: Canvas;
    --area-work-hairline: CanvasText;
    --area-money: CanvasText;
    --area-money-text: CanvasText;
    --area-money-tint: Canvas;
    --area-money-hairline: CanvasText;
    --area-records: CanvasText;
    --area-records-text: CanvasText;
    --area-records-tint: Canvas;
    --area-records-hairline: CanvasText;
    --area-compliance: CanvasText;
    --area-compliance-text: CanvasText;
    --area-compliance-tint: Canvas;
    --area-compliance-hairline: CanvasText;
    --area-admin: CanvasText;
    --area-admin-text: CanvasText;
    --area-admin-tint: Canvas;
    --area-admin-hairline: CanvasText;
    --area-none: CanvasText;
    --area-none-text: CanvasText;
    --area-none-tint: Canvas;
    --area-none-hairline: CanvasText;
    --band-0: CanvasText;
    --band-1: CanvasText;
    --band-2: CanvasText;
    --band-3: CanvasText;
    --band-4: CanvasText;
    --band-5: CanvasText;
    --band-pip-off: Canvas;
    --band-mono-0: CanvasText;
    --band-mono-1: CanvasText;
    --band-mono-2: CanvasText;
    --band-mono-3: CanvasText;
    --band-mono-4: CanvasText;
    --band-mono-5: CanvasText;
    --comp-held: CanvasText;
    --owner-green: CanvasText;
    --shadow-card: none;
    --shadow-raised: none;
  }
}

:root {
  --font-ui: "Atkinson Hyperlegible Next", system-ui, "Segoe UI", Arial, sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --font-figures: "Inter Figures", "Atkinson Hyperlegible Next", system-ui, sans-serif;
  --fs-display: 28px;
  --fs-screen-title: 24px;
  --fs-section: 14px;
  --fs-panel-head: 16px;
  --fs-body: 14px;
  --fs-secondary: 13px;
  --fs-caption: 12px;
  --fs-col-head: 11px;
  --space-2: 2px;
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --radius-card: 10px;
  --radius-inset: 9px;
  --radius-control: 8px;
  --radius-chip: 7px;
  --radius-badge: 5px;
  --control-height: 38px;
  --control-height-quiet: 28px;
  --input-height: 38px;
  --segment-height: 32px;
  --touch-height: 44px;
  --page-padding: 28px;
  --sidebar-width: 236px;
  --topbar-height: 52px;
  --content-max: 1200px;
  --row-height-comfortable: 10px;
  --row-height-compact: 6px;
  --icon-size: 16px;
  --icon-stroke: 1.5px;
  --measure-prose: 68ch;
  --measure-lede: 78ch;
  --measure-form: 72ch;
}

.type-display { font-family: var(--font-ui); font-size: 28px; line-height: 1.15; font-weight: 500; letter-spacing: -0.015em; }
.type-screen-title { font-family: var(--font-ui); font-size: 24px; line-height: 1.25; font-weight: 600; letter-spacing: -0.015em; }
.type-panel-head { font-family: var(--font-ui); font-size: 16px; line-height: 1.35; font-weight: 600; }
.type-section { font-family: var(--font-ui); font-size: 14px; line-height: 1.4; font-weight: 600; }
.type-body { font-family: var(--font-ui); font-size: 14px; line-height: 1.55; font-weight: 400; }
.type-secondary { font-family: var(--font-ui); font-size: 13px; line-height: 1.5; font-weight: 400; }
.type-caption { font-family: var(--font-ui); font-size: 12px; line-height: 1.45; font-weight: 400; }
.type-col-head { font-family: var(--font-ui); font-size: 11px; line-height: 1.4; font-weight: 600; letter-spacing: 0.06em; }
.type-money { font-family: var(--font-mono); font-size: 13px; line-height: 1.5; font-weight: 400; }
.type-stamp { font-family: var(--font-mono); font-size: 13px; line-height: 1.5; font-weight: 400; }
