/* Direction: Ledger — warm paper, deep bottle green, serif headings, mono figures */
/* Completed by the platform from the short form: both modes, every
   palette token, each text-on-ground pair at its floor. To restyle, write the
   short form again (the decisions in one :root) and it is completed again. */

:root {
  --canvas: #f6f4ee;
  --surface: #fbfaf7;
  --surface-2: #eae9e3;
  --border: #d4d4ce;
  --border-strong: #adafaa;
  --ink: #16211c;
  --muted: #5f635f;
  --accent: #0f6b4f;
  --accent-hover: #0d5b43;
  --accent-ink: #ffffff;
  --accent-text: #0b5a42;
  --accent-strong: #0f6b4f;
  --accent-soft: #d6e1d8;
  --accent-border: #8eb6a6;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #dbe6d9;
  --success-strong: #116d34;
  --warning: #9a5b00;
  --warning-ink: #ffffff;
  --warning-soft: #ebe2d1;
  --warning-strong: #8e5400;
  --danger: #b3261e;
  --danger-ink: #ffffff;
  --danger-soft: #eedbd5;
  --danger-strong: #b3261e;
  --chart-1: #0f6b4f;
  --chart-2: #1880a2;
  --chart-3: #4a3d8f;
  --chart-4: #a24b7e;
  --chart-5: #7c350b;
  --chart-6: #7a7515;

  --x-band: #12281f;
  --x-on-photo: #f4f1ea;
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --radius-card: 14px;
  --font-sans: "IBM Plex Sans", system-ui, sans-serif;
  --display-weight: 700;
  --display-tracking: -0.02em;
  --eyebrow-tracking: 0.08em;
}

html[data-theme="dark"] {
  --canvas: #020f0b;
  --surface: #1b2723;
  --surface-2: #0f1b17;
  --border: #25312d;
  --border-strong: #4e5754;
  --ink: #f6f4ee;
  --muted: #949893;
  --accent: #0f6b4f;
  --accent-hover: #338169;
  --accent-ink: #ffffff;
  --accent-text: #619d8b;
  --accent-strong: #539581;
  --accent-soft: #05231a;
  --accent-border: #08382a;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #062816;
  --success-strong: #499c68;
  --warning: #9a5b00;
  --warning-ink: #ffffff;
  --warning-soft: #232009;
  --warning-strong: #b07f38;
  --danger: #b3261e;
  --danger-ink: #ffffff;
  --danger-soft: #29140f;
  --danger-strong: #c9645e;
  --chart-1: #297d60;
  --chart-2: #2393b9;
  --chart-3: #7b72c9;
  --chart-4: #b75d90;
  --chart-5: #be6435;
  --chart-6: #8e8802;
}

.nav-link { @apply rounded-lg px-3 py-1.5 text-sm font-medium text-muted transition-colors hover:bg-surface-2 hover:text-ink focus-visible:outline-2 focus-visible:outline-offset-2; }
.nav-link.is-active { @apply bg-accent-soft text-accent-strong; }
.badge-locked { @apply bg-surface-2 text-ink; }
.login-band { background-image: repeating-linear-gradient(0deg, transparent 0 39px, rgb(255 255 255 / 0.05) 39px 40px); }
input[type="number"].input { -moz-appearance: textfield; }
tr[data-row] input:disabled { opacity: 0.75; cursor: not-allowed; }
tr[data-row].is-warn input[data-field="lop"] { border-color: var(--warning); }
#save-state.is-saved { color: var(--accent-text); }
#save-state.is-error { color: var(--danger); }
@media print { header { display: none; } }
