/* Presentation only: no storage, navigation, data, or permission changes.
   Keep alert palettes and chart semantics separate from the neutral Zen palette. */
:root {
  --zen-paper: #f8f9f5;
  --zen-surface: #ffffff;
  --zen-ink: #243b30;
  --zen-muted: #566c5f;
  --zen-accent: #365c48;
  --zen-line: #d9e3da;
  --gt-bg: #edf2ee;
  --color-zinc-50: #f7f9f5;
  --color-zinc-100: #eef3ed;
  --color-zinc-200: #dae4db;
  --color-zinc-300: #bdcdbf;
  --color-zinc-400: #6c8071;
  --color-zinc-500: #566c5f;
  --color-zinc-600: #435b4d;
  --color-zinc-700: #344e3e;
  --color-zinc-800: #293f33;
  --color-zinc-900: #20372b;
  --color-zinc-950: #15271d;
  --pca-surface-primary: #f9fbf7;
  --pca-surface-raised: #ffffff;
  --pca-glass-border: #d9e3da;
  --pca-glass-shadow: 0 8px 28px #304c3b0a;
  --pca-shadow-sm: 0 2px 8px #304c3b05;
  --pca-shadow-md: 0 5px 18px #304c3b0b;
  --pca-shadow-lg: 0 12px 32px #304c3b12;
  --pca-gradient-brand: linear-gradient(130deg, #294b3b, #3c6250);
  --pca-gradient-mesh: radial-gradient(at 10% 0%, #e2ebe080, transparent 55%);
}

body { color: var(--zen-ink); background-color: var(--gt-bg); }
/* Scope overrides to the app; standalone printable briefs keep their own styles. */
#root :is(h1, h2, h3) { text-wrap: balance; }
#root :is(input, select, textarea) { accent-color: var(--zen-accent); }
#root :is(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #365c48;
  outline-offset: 3px;
}
#root :is(button, a):focus-visible { box-shadow: 0 0 0 5px #ffffff; }
#root .bg-black { background-color: var(--zen-accent); }
#root .text-black { color: var(--zen-ink); }
#root .glass-sidebar {
  background: #f6f8f2;
  border-right: 1px solid var(--zen-line);
  backdrop-filter: none;
}
#root .glass-card, #root .glass-panel {
  border-color: var(--zen-line);
  backdrop-filter: none;
}
#root .glass-card:hover { transform: none; border-color: #b9cbbb; }
#root .gradient-border::before { background: linear-gradient(135deg, #b7cbb8, #dce5d9); }
#root .glass-sidebar a[aria-current="page"] {
  background: #e1ebdf;
  color: #294b3b;
  box-shadow: inset 3px 0 #496f51;
  font-weight: 700;
}
#root .glass-sidebar nav > :is(a, button) { font-weight: 600; }
#root .glass-sidebar .tracking-widest { letter-spacing: .09em; font-size: 11px; }
#root .glass-sidebar h1 { font-weight: 700; letter-spacing: -.04em; }
#root .glass-sidebar .shadow-lg { box-shadow: var(--pca-shadow-sm); }
#root .glass-sidebar .group-hover\:rotate-3 { rotate: none; }
#root .version-badge { color: var(--zen-muted); border-color: var(--zen-line); }

/* Imported finances: calmer surfaces, unchanged amounts and status cues. */
#root .wrr-dashboard { --wrr-ink: #243b30; --wrr-muted: #566c5f; gap: 26px; }
#root .wrr-hero {
  background: linear-gradient(115deg, #e3eddf, #f3f6ee);
  color: var(--zen-ink);
  border: 1px solid #cddcc9;
  box-shadow: none;
  padding: 34px;
}
#root .wrr-hero h1 { font-weight: 650; letter-spacing: -.04em; }
#root .wrr-hero-description, #root .wrr-hero .wrr-eyebrow { color: #47624f; }
#root .wrr-hero-meta span { color: #3c5947; background: #ffffff80; border-color: #c6d6c4; }
#root .wrr-hero-action { color: #294b3b; background: #ffffff9e; border-color: #bfd1bb; }
#root .wrr-hero-action:hover { background: white; border-color: #6c8c66; }
#root .wrr-hero-action strong { font-weight: 600; }
#root .wrr-metric, #root .wrr-panel { border-color: var(--zen-line); box-shadow: var(--pca-shadow-sm); }
#root .wrr-metric { border-top: 3px solid var(--accent); border-radius: 20px; }
#root .wrr-blue { --accent: #4c7885; }
#root .wrr-violet { --accent: #807093; }
#root .wrr-green { --accent: #467453; }
#root .wrr-amber { --accent: #a36722; }
#root .wrr-metric .wrr-value { font-weight: 650; font-variant-numeric: tabular-nums; }
#root .wrr-section-head h2 { font-weight: 650; }
#root :is(.wrr-eyebrow, .wrr-exact, .wrr-metric-note, .wrr-footnote, .wrr-search) { color: var(--zen-muted); }
#root .wrr-budget-line, #root .wrr-action, #root .wrr-dashboard th { background: #f1f5ee; }
#root .wrr-dashboard tbody tr:nth-child(even) { background: #f8faf5; }
#root .wrr-dashboard tbody tr:hover { background: #e9f1e4; }
#root .wrr-dashboard td { border-color: #e1e8dc; }
#root .wrr-dashboard th { color: #455e4e; }
#root .wrr-dashboard td a, #root .wrr-text-link, #root .wrr-source a { color: #365c48; }
#root .wrr-dashboard button { color: #365c48; background: #f1f5ee; border-color: #b7c9b6; border-radius: 10px; }
#root .wrr-dashboard button:hover, #root .wrr-dashboard button[aria-pressed="true"], #root .wrr-button { background: #365c48; color: #ffffff; }
#root .wrr-button:hover { background: #284834; }
#root .wrr-search :is(input, select) { background: #fbfcf9; border-color: #b7c9b6; color: #243b30; }

/* Modals are portalled outside #root. Keep their existing focus trap and scroll. */
body [role="dialog"] { color: var(--zen-ink); }
body [role="dialog"] > div { border: 1px solid var(--zen-line); box-shadow: 0 20px 60px #19372630; }
body [role="dialog"] h3 { color: var(--zen-ink); font-weight: 650; }
body [role="dialog"] .wrr-workbench { --wrr-ink: #243b30; --wrr-muted: #566c5f; }
body [role="dialog"] .wrr-tools button { border-color: #b7c9b6; background: #f1f5ee; color: #365c48; }
body [role="dialog"] .wrr-tools button[aria-pressed="true"] { background: #365c48; color: white; }
body [role="dialog"] :focus-visible { outline: 3px solid #365c48; outline-offset: 3px; }

@media (max-width: 600px) {
  #root .wrr-dashboard { gap: 18px; }
  #root .wrr-hero { padding: 22px; }
  #root .wrr-dashboard button { min-height: 44px; }
  body [role="dialog"] .wrr-workbench button { min-height: 44px; }
  body [role="dialog"] > div > div { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  #root *, #root *::before, #root *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  body { background: white; }
  #root .wrr-hero, #root .wrr-panel, #root .wrr-metric { background: white; box-shadow: none; }
}
