/* Caliber Shared Design Tokens & Typographic Scale */
:root {
  --ink: #171717;
  --paper: #F7F3EA;
  --secondary-color: #5E5A52;
  --tertiary-color: #5E5A52;
  --primary-brand: #0F4C45;
  --accent: #B88A44;
  --soft-panel: #E9E2D6;
  --success: #6F8F72;
  --warning: #B66A50;
  --outline-color: #D8D0C3;
  --white: #FFFFFF;
}

html, body {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  background-color: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

body, p, .text-base, .text-md {
  font-size: 18px !important;
}

h1, h2, h3, h4, .font-display-lg, .heading-serif {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
}

h1, .font-display-lg {
  font-weight: 700;
}

/* Single coherent scale for labels (raised to 13px) */
.mono-label, .label-mono, .font-label-mono, .text-label-mono,
td.mono-label, span.mono-label, select.mono-label, button.mono-label,
.text-xs, .text-\[10px\], .text-\[11px\], .text-\[12px\],
[class*="text-[10px]"], [class*="text-[11px]"], [class*="text-[12px]"] {
  font-size: 13px !important;
}

.mono-label, .label-mono, .font-label-mono, .text-label-mono {
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.font-body-lg, .text-body-lg, .text-lg {
  font-size: 20px !important;
}
.font-body-md, .text-body-md {
  font-size: 18px !important;
}

/* Ensure contrast for secondary/tertiary grays */
.text-secondary, .text-tertiary, .text-on-surface-variant, .text-on-background-variant {
  color: var(--secondary-color) !important;
}

/* Hairlines only */
.hairline-border, .sharp-border {
  border: 1px solid var(--outline-color);
}
.hairline-divider {
  height: 1px;
  background-color: var(--outline-color);
  width: 100%;
}
.hairline-b { border-bottom: 1px solid var(--outline-color); }
.hairline-t { border-top: 1px solid var(--outline-color); }
.hairline-r { border-right: 1px solid var(--outline-color); }
.hairline-l { border-left: 1px solid var(--outline-color); }

/* Calm radius scale (2026-06): the hard-corner law is retired in favor of a quiet,
   consistent rounding — soft enough to be easy on the eye, small enough to stay
   editorial. Components opt in via these tokens. */
:root {
  --radius-sm: 8px;   /* controls: inputs, selects, buttons, chips */
  --radius-md: 12px;  /* cards, rows, dropdown panels */
  --radius-lg: 16px;  /* modals, hero panels, report containers */
}

/* Accent & Status Color Palettes (Warm Editorial Trust) */
.text-cobalt, .text-primary-brand {
  color: var(--primary-brand) !important;
}
.bg-cobalt, .bg-primary-brand {
  background-color: var(--primary-brand) !important;
  color: var(--white) !important;
}
.hover\:bg-cobalt-hover:hover, .hover\:bg-primary-brand-hover:hover {
  background-color: #0c3d37 !important; /* Slightly darker green hover */
}
.border-cobalt, .border-primary-brand {
  border-color: var(--primary-brand) !important;
}
.svg-cobalt, .svg-primary-brand {
  color: var(--primary-brand) !important;
}
.svg-cobalt path, .svg-primary-brand path {
  stroke: var(--primary-brand) !important;
}
.bg-warm-white {
  background-color: var(--white) !important;
}
.bg-paper {
  background-color: var(--paper) !important;
}
.bg-soft-panel {
  background-color: var(--soft-panel) !important;
}
.bg-accent {
  background-color: var(--accent) !important;
  color: var(--white) !important;
}
.text-accent {
  color: var(--accent) !important;
}

/* Status colors */
.status-verified, .text-success {
  color: var(--success) !important;
}
.status-review, .text-warning {
  color: var(--warning) !important;
}
.bg-status-verified, .bg-success {
  background-color: var(--success) !important;
  color: var(--white) !important;
}
.bg-status-review, .bg-warning {
  background-color: var(--warning) !important;
  color: var(--white) !important;
}
.bg-status-pending, .bg-soft-neutral {
  background-color: var(--soft-panel) !important;
  color: var(--secondary-color) !important;
  border: 1px solid var(--outline-color) !important;
}
.border-status-verified, .border-success {
  border-color: var(--success) !important;
}
.border-status-review, .border-warning {
  border-color: var(--warning) !important;
}


