@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Playfair+Display:wght@600;700&display=swap');

:root {
  /* Brand */
  --color-navy: #0B2239;
  --color-navy-2: #102F4C;
  --color-teal: #2F7E79;
  --color-teal-dark: #256B67;
  --color-gold: #D7B56D;

  /* Surfaces */
  --bg: #F8FAFC;
  --surface: #FFFFFF;
  --surface-soft: #F4F7FB;
  --surface-muted: #EEF4F8;
  --border: #D9E2EC;

  /* Text */
  --text: #102033;
  --text-strong: #0B2239;
  --text-muted: #667085;
  --text-soft: #8A98AA;
  --text-inverse: #FFFFFF;

  /* Status */
  --success: #067647;
  --success-bg: #ECFDF3;
  --success-border: #ABEFC6;

  --warning: #B54708;
  --warning-bg: #FFFAEB;
  --warning-border: #FEDF89;

  --danger: #B42318;
  --danger-bg: #FEF3F2;
  --danger-border: #FECDCA;

  --info: #175CD3;
  --info-bg: #EFF8FF;
  --info-border: #B2DDFF;

  /* Typography */
  --font-body: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Playfair Display', Georgia, serif;

  /* Radius scale */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-sm: 0 6px 16px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 14px 34px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.12);

  /* Layout */
  --sidebar-width: 292px;
  --content-max: 1180px;
}

html.certus-dark-mode,
body.certus-dark-mode {
  --bg: #07111F;
  --surface: #0F1D30;
  --surface-soft: #13253B;
  --surface-muted: #172B45;
  --border: rgba(255, 255, 255, 0.12);

  --text: #E5EDF7;
  --text-strong: #FFFFFF;
  --text-muted: #AAB6C7;
  --text-soft: #8EA0B6;

  --shadow-sm: 0 6px 16px rgba(0, 0, 0, 0.18);
  --shadow-md: 0 14px 34px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, 0.34);
}

/* CERTUS SPRINT 4 BATCH 1 — Stability tokens */
:root{
  --bp-mobile:640px;
  --bp-tablet:768px;
  --bp-laptop:1024px;
  --bp-desktop:1366px;
  --bp-wide:1920px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --text-xs:.78rem;
  --text-sm:.875rem;
  --text-md:1rem;
  --text-lg:1.125rem;
  --text-xl:1.35rem;
  --text-2xl:1.75rem;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:24px;
  --radius-pill:999px;
  --shadow-sm:0 2px 8px rgba(15,23,42,.06);
  --shadow-md:0 12px 32px rgba(15,23,42,.10);
  --shadow-lg:0 24px 60px rgba(15,23,42,.16);
  --focus-ring:rgba(47,126,121,.35);
  --safe-bottom:max(20px,env(safe-area-inset-bottom));
  --safe-right:max(20px,env(safe-area-inset-right));
}

html.certus-dark-mode{
  --bg:#07111F;
  --surface:#0F1D30;
  --surface-soft:#101F33;
  --border:rgba(255,255,255,.12);
  --text:#E6EDF7;
  --text-strong:#F3F7FC;
  --text-muted:#AAB6C7;
  --color-teal:#5CC5B8;
}

html.certus-comfort-mode{
  --font-size-base:16px;
  --line-height-base:1.65;
  --density-scale:1.12;
}

/* CERTUS SPRINT 4 BATCH 3 — Legacy dashboard token aliases */
:root{
  --primary:var(--color-navy,#0B2239);
  --accent:var(--color-teal,#2F7E79);
  --accent-dark:#246B67;
  --blue:var(--info,#175CD3);
  --muted:var(--text-muted,#667085);
  --danger:var(--danger,#B42318);
  --warning:var(--warning,#B45309);
  --success:var(--success,#166534);
  --danger-bg:var(--danger-bg,#FEE4E2);
  --danger-border:var(--danger-border,#FECDCA);
  --warning-bg:var(--warning-bg,#FFF7ED);
  --warning-border:var(--warning-border,#FEDF89);
  --success-bg:var(--success-bg,#DCFAE6);
  --success-border:var(--success-border,#ABEFC6);
}
