/* Northwind Trust - The Clear Ledger — generated from design tokens by app/theme.py. Do not hand-edit. */
/* tenant: northwind */
:root {
  color-scheme: dark;

  --mco-obsidian-950: #070e15;
  --mco-obsidian-900: #0b141d;
  --mco-carbon-800: #101b26;
  --mco-carbon-700: #15212e;
  --mco-graphite-600: #1e2d3c;
  --mco-brass-900: #0d3a39;
  --mco-brass-700: #2b7a77;
  --mco-gold-500: #5fc6bf;
  --mco-champagne-300: #a3e6e0;
  --mco-parchment-100: #dcf6f3;
  --mco-oxblood-700: #7a3340;
  --mco-oxblood-500: #a85565;

  --mco-text-primary: #eaf3f5;
  --mco-text-secondary: #b6c7ce;
  --mco-text-muted: #8fa5af;
  --mco-text-inverse: #04100f;

  --mco-success: #8fd0a8;
  --mco-success-subtle: #102219;
  --mco-warning: #dfc07e;
  --mco-warning-subtle: #241f13;
  --mco-danger: #e79a9a;
  --mco-danger-subtle: #2a1618;
  --mco-info: #9fc2d6;
  --mco-info-subtle: #121f28;

  --mco-canvas: var(--mco-obsidian-950);
  --mco-surface-base: var(--mco-obsidian-900);
  --mco-surface-sidebar: var(--mco-carbon-800);
  --mco-surface-card: var(--mco-carbon-700);
  --mco-surface-raised: var(--mco-graphite-600);

  --mco-border-subtle: rgba(95, 198, 191, 0.14);
  --mco-border-strong: rgba(95, 198, 191, 0.34);
  --mco-focus-ring: 0 0 0 3px rgba(95, 198, 191, 0.22);

  --mco-gradient-metal: linear-gradient(
    135deg,
    #2b7a77 0%,
    #a3e6e0 46%,
    #5fc6bf 68%,
    #1c5755 100%
  );

  --mco-font-display: Manrope, Inter, system-ui, sans-serif;
  --mco-font-ui: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mco-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --mco-radius-compact: 4px;
  --mco-radius-control: 5px;
  --mco-radius-card: 6px;
  --mco-radius-modal: 8px;
  --mco-shadow-card: 0 18px 50px rgba(0, 0, 0, 0.24);
  --mco-shadow-modal: 0 28px 90px rgba(0, 0, 0, 0.48);

  --mco-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --mco-fast: 120ms;
  --mco-standard: 180ms;
  --mco-panel: 260ms;
}

html {
  background: var(--mco-canvas);
  color: var(--mco-text-primary);
  font-family: var(--mco-font-ui);
  text-rendering: optimizeLegibility;
}

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 68% -10%, rgba(95, 198, 191, 0.055), transparent 32rem),
    var(--mco-canvas);
}

::selection {
  background: rgba(95, 198, 191, 0.28);
  color: var(--mco-text-primary);
}

:focus-visible {
  outline: 1px solid var(--mco-gold-500);
  outline-offset: 2px;
  box-shadow: var(--mco-focus-ring);
}

.mco-display {
  font-family: var(--mco-font-display);
  font-weight: 500;
  letter-spacing: 0.035em;
}

.mco-data,
.mco-money,
.mco-date {
  font-variant-numeric: tabular-nums slashed-zero;
}

.mco-id,
.mco-hash {
  font-family: var(--mco-font-mono);
  font-variant-numeric: tabular-nums slashed-zero;
}

.mco-card {
  border: 1px solid var(--mco-border-subtle);
  border-radius: var(--mco-radius-card);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 35%),
    var(--mco-surface-card);
  box-shadow: var(--mco-shadow-card);
}

.mco-primary-button {
  min-height: 44px;
  border: 1px solid rgba(220, 246, 243, 0.34);
  border-radius: var(--mco-radius-control);
  background: var(--mco-gradient-metal);
  color: var(--mco-text-inverse);
  font: 700 0.875rem/1 var(--mco-font-ui);
  transition:
    transform var(--mco-fast) var(--mco-ease),
    filter var(--mco-standard) var(--mco-ease);
}

.mco-primary-button:hover {
  filter: brightness(1.06);
}

.mco-primary-button:active {
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---- additive ---------------------------------------------------------- */
/* Channel triplets. CSS cannot decompose a hex custom property inside rgba(), so
   `rgba(var(--mco-accent-rgb), .28)` is the only way a tenant's accent can carry
   its own alpha blends. The landing stylesheet and the standalone page heads use
   these instead of the literals they used to hardcode. */
:root {
  --mco-accent-rgb: 95, 198, 191;
  --mco-accent-hi-rgb: 163, 230, 224;
  --mco-accent-lo-rgb: 43, 122, 119;
  --mco-canvas-rgb: 7, 14, 21;
  --mco-surface-base-rgb: 11, 20, 29;
  --mco-surface-card-rgb: 21, 33, 46;
  --mco-parchment-rgb: 220, 246, 243;
  --mco-text-primary-rgb: 234, 243, 245;
  --mco-success-rgb: 143, 208, 168;
  --mco-ink-rgb: 0, 0, 0;
}
