/* =====================================================================
   MyCivic — Corporate Identity tokens (v1, 2026-06-09)
   Canonical brand colours, derived from the official decks + mycivic.eu.
   Spec: docs/BRAND.md.  Mobile apps reuse these token NAMES.
   Retires the EU palette (#003399 / #FFCC00) and the dark-editorial theme.
   ===================================================================== */
:root {
  /* ---- Brand ---- */
  --mc-navy:        #033661;   /* primary: headings, primary buttons, brand bar */
  --mc-navy-deep:   #022647;   /* primary hover/active */
  --mc-blue:        #155BA0;   /* interactive: links, primary actions */
  --mc-blue-logo:   #21588C;   /* logo, secondary headings */
  --mc-blue-bright: #1E6BB8;   /* focus ring, selected, data-viz primary */
  --mc-sky:         #A8C0D8;   /* light blue fills, chart bands */
  --mc-teal:        #179E9F;   /* accent: success/active/positive, citizen accent */
  --mc-teal-deep:   #117B7C;   /* teal hover/active */

  /* ---- Neutrals (light) ---- */
  --mc-paper:       #F4F6F8;   /* app background */
  --mc-surface:     #FFFFFF;   /* cards, panels */
  --mc-surface-alt: #E6F0F0;   /* mint secondary surface */
  --mc-line:        #E2E4E6;   /* borders, dividers */
  --mc-line-strong: #C9CED3;   /* input borders, strong dividers */
  --mc-ink:         #14222E;   /* primary text */
  --mc-ink-muted:   #66768D;   /* secondary text, labels */
  --mc-ink-faint:   #9AA5AE;   /* captions, disabled, placeholder */

  /* ---- Status: case lifecycle (maps to the up-to-11 statuses) ---- */
  --mc-st-new:       #155BA0;  /* submitted / received */
  --mc-st-assigned:  #033661;  /* under review / assigned */
  --mc-st-progress:  #179E9F;  /* in progress */
  --mc-st-waiting:   #C9A24B;  /* waiting — external */
  --mc-st-done:      #3E9B6B;  /* resolved / closed */
  --mc-st-alert:     #C5544A;  /* overdue / escalated */
  --mc-st-muted:     #9AA5AE;  /* rejected / duplicate / none */

  /* ---- Diverging KPI scale (dashboards/charts) ---- */
  --mc-good:        #3E9B6B;
  --mc-attention:   #C9A24B;
  --mc-warn:        #D98341;
  --mc-breach:      #C5544A;
  --mc-none:        #9AA5AE;

  /* ---- Six civic indices ---- */
  --mc-i-responsiveness: #155BA0;
  --mc-i-resolution:     #3E9B6B;
  --mc-i-speed:          #179E9F;
  --mc-i-recurrence:     #C9A24B;
  --mc-i-transparency:   #6AA9D6;
  --mc-i-trust:          #033661;

  /* ---- Service categories (12, tenant-customizable) ---- */
  --mc-c-roads:        #155BA0;
  --mc-c-water:        #179E9F;
  --mc-c-parks:        #3E9B6B;
  --mc-c-lighting:     #C9A24B;
  --mc-c-waste:        #9C8460;
  --mc-c-mobility:     #1E6BB8;
  --mc-c-publicspace:  #6AA9D6;
  --mc-c-environment:  #117B7C;
  --mc-c-hygiene:      #7FB0A0;
  --mc-c-safety:       #C5544A;
  --mc-c-democracy:    #5C6B8C;
  --mc-c-other:        #9AA5AE;

  /* ---- Type ---- */
  --mc-font-display: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mc-font-body:    'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mc-font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  /* ---- Shape ---- */
  --mc-radius:    10px;
  --mc-radius-sm: 6px;
  --mc-shadow:    0 1px 2px rgba(3,54,97,.06), 0 4px 16px rgba(3,54,97,.06);

  /* ---- Logo (set when operator supplies PNGs; see docs/BRAND.md §Logo) ---- */

  /* ---- AA text variants (2026-06-10 WCAG audit) — use for TEXT-SIZED ink on light
     surfaces; the parent tokens stay for fills/strokes/bands (1.4.11 only needs 3:1). ---- */
  --mc-good-text:       #327E57;   /* was --mc-good #3E9B6B (3.17:1 on paper) */
  --mc-attention-text:  #8A6C29;   /* was --mc-attention #C9A24B (2.21:1) */
  --mc-warn-text:       #AA5D22;   /* was --mc-warn #D98341 (2.67:1) */
  --mc-breach-text:     #C1493E;   /* was --mc-breach #C5544A (4.09:1, large-only) */
  --mc-none-text:       #65737E;   /* was --mc-none / ink-faint #9AA5AE (2.32:1) */
  --mc-teal-text:       #127D7E;   /* was --mc-teal #179E9F (3.02:1) */
  --mc-blue-text:       #155BA0;   /* = --mc-blue in light; split token so dark can ramp
                                      link/badge TEXT (#6FA8DC) while --mc-blue stays a fill */
  --mc-ink-muted-text:  #5E6D82;   /* was --mc-ink-muted #66768D (4.27 on paper, 3.98 on
                                      surface-alt); 4.86/5.27/4.54 on paper/surface/surface-alt */
  --mc-sky-text:        #2F76A9;   /* was --mc-sky / transparency #6AA9D6 (2.35:1) */
  --mc-i-resolution-text:     #327E57;
  --mc-i-speed-text:          #127D7E;
  --mc-i-recurrence-text:     #8A6C29;
  --mc-i-transparency-text:   #2F76A9;
  /* i-responsiveness (#155BA0) and i-trust (#033661) need no -text variant — they pass AA as-is. */
  --mc-c-waste-text:    #826E50;
  --mc-c-hygiene-text:  #4C7A6B;
}

/* ---- Brand mark image (MyCivic "C" mark, transparent PNG): replaces the lettered "M" badge.
   The badge's navy fill would hide the navy mark, so it is dropped; in dark theme the mark
   sits on a light rounded badge to keep contrast. The login card's teal dot is part of the mark. */
.mark-img { width: 100%; height: 100%; object-fit: contain; display: block; }
.login-mark.has-img, .nav-brand .mark.has-img, .pp-brand .mark.has-img { background: transparent; padding: 0; }
.login-mark.has-img::after { display: none; }
html:not(.theme-light) .login-mark.has-img,
html:not(.theme-light) .nav-brand .mark.has-img,
html:not(.theme-light) .pp-brand .mark.has-img { background: #f5f2ea; padding: 3px; }
