/* pp-theme.css — the module colour palette, for every page in the platform.
 *
 * WHY THIS FILE EXISTS
 * These tokens were first added inline to dashboard.php. That worked for the
 * modules rendered inside it and broke every page that is NOT rendered inside
 * it — helpdesk/ticket-view.php and its siblings have their own <html> and load
 * no stylesheet, so every var(--m-*) in them resolved to nothing and the text
 * became invisible. One shared file, loaded by every page, is the fix: a token
 * that is defined in one page's <style> block is not defined anywhere else.
 *
 * THE RULE FOR DARK VALUES
 * Each dark value is byte-identical to the hardcoded colour it replaced. That
 * is not an aesthetic choice — it is what lets 1,483 colours be converted with
 * the default theme rendering exactly as it did before. Do not "tidy" two
 * near-identical greys into one: that changes dark mode, which this must never
 * do. Light values are chosen for contrast and verified against WCAG AA (4.5:1
 * for body text) on both the card and panel surfaces.
 *
 * FILL VERSUS TEXT
 * Some colours mean different things depending on the property they land in.
 * --m-gold on a button background must stay gold in both themes; the same gold
 * as TEXT on a white card is 1.9:1 and unreadable. Hence the -ink variants.
 * Likewise --m-on-accent is dark in BOTH themes, because it is dark on account
 * of the bright button underneath it, not because the page is dark.
 */

:root {
  /* ---- surfaces — Midnight Navy ---- */
  --m-card:       #162035;   /* deep midnight card / panel background */
  --m-panel:      #1e293b;   /* raised slate surface, inputs, wells */
  --m-line:       rgba(255, 255, 255, 0.12);   /* default border */
  --m-line2:      rgba(255, 255, 255, 0.18);   /* stronger border */
  --m-line3:      rgba(255, 255, 255, 0.25);   /* strongest border / divider */

  /* ---- text ---- */
  --m-ink:        #f8fafc;   /* primary text */
  --m-ink2:       #f1f5f9;   /* primary text, alt */
  --m-ink3:       #cbd5e1;   /* secondary text */
  --m-muted:      #94a3b8;   /* muted text */
  --m-muted2:     #94a3b8;
  --m-muted3:     #64748b;
  --m-muted4:     #64748b;
  --m-faint:      #64748b;   /* faint text */
  --m-faint2:     #475569;   /* faintest text — de-emphasised by design */

  /* ---- brand and status — Royal Postal Blue & Emerald ---- */
  --m-gold:       #3b82f6;   /* FILLS and borders only — Royal Blue */
  --m-gold-ink:   #60a5fa;   /* the same royal blue used as TEXT */
  --m-ok:         #10b981;
  --m-ok-bg:      rgba(16, 185, 129, 0.14);
  --m-danger:     #ef4444;
  --m-danger2:    #dc2626;
  --m-pink:       #ec4899;
  --m-pink2:      #f472b6;
  --m-warn:       #f59e0b;
  --m-warn-bg:    rgba(245, 158, 11, 0.14);
  --m-blue:       #38bdf8;

  /* ---- text that sits ON a bright accent ----
     Royal Blue solid fills take crisp white text in both themes */
  --m-on-accent:  #ffffff;
  --m-on-accent2: #ffffff;
  --m-on-pink:    #ffffff;
}

/* Light theme. Only the tokens change; no component rule belongs in here. */
:root[data-theme="light"] {
  --m-card:       #ffffff;
  --m-panel:      #f1f5f9;
  --m-line:       #e2e8f0;
  --m-line2:      #cbd5e1;
  --m-line3:      #94a3b8;

  --m-ink:        #0f172a;
  --m-ink2:       #1e293b;
  --m-ink3:       #334155;
  --m-muted:      #64748b;
  --m-muted2:     #64748b;
  --m-muted3:     #475569;
  --m-muted4:     #475569;
  --m-faint:      #64748b;
  --m-faint2:     #94a3b8;

  /* The brand primary is Royal Postal Blue: #2563eb fills, #1d4ed8 text (7:1 contrast) */
  --m-gold:       #2563eb;
  --m-gold-ink:   #1d4ed8;

  --m-ok:         #059669;
  --m-ok-bg:      #ecfdf5;
  --m-danger:     #dc2626;
  --m-danger2:    #b91c1c;
  --m-pink:       #db2777;
  --m-pink2:      #be185d;
  --m-warn:       #d97706;
  --m-warn-bg:    #fffbeb;
  --m-blue:       #0284c7;

  --m-on-accent:  #ffffff;
  --m-on-accent2: #ffffff;
  --m-on-pink:    #ffffff;
}

/* A page that never sets data-theme still follows the operating system */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
    --m-card:       #ffffff;
    --m-panel:      #f1f5f9;
    --m-line:       #e2e8f0;
    --m-line2:      #cbd5e1;
    --m-line3:      #94a3b8;
    --m-ink:        #0f172a;
    --m-ink2:       #1e293b;
    --m-ink3:       #334155;
    --m-muted:      #64748b;
    --m-muted2:     #64748b;
    --m-muted3:     #475569;
    --m-muted4:     #475569;
    --m-faint:      #64748b;
    --m-faint2:     #94a3b8;
    --m-gold:       #2563eb;
    --m-gold-ink:   #1d4ed8;
    --m-ok:         #059669;
    --m-ok-bg:      #ecfdf5;
    --m-danger:     #dc2626;
    --m-danger2:    #b91c1c;
    --m-pink:       #db2777;
    --m-pink2:      #be185d;
    --m-on-pink:    #ffffff;
    --m-warn:       #d97706;
    --m-warn-bg:    #fffbeb;
    --m-blue:       #0284c7;
    --m-on-accent:  #ffffff;
    --m-on-accent2: #ffffff;
  }
}


/* ============================================================================
   GENERATED — the long tail of module colours.
   ----------------------------------------------------------------------------
   Converting only the common colours left every module a mix of tokens that
   follow the theme and raw hex that does not, which is worse than either alone:
   in light mode the text flipped to dark and the panel behind it stayed dark.
   These finish the job.

   Named by their own value and the role they play, because the same hex is a
   readable foreground in one rule and a surface in another, and the two need
   opposite treatment in light mode.

   Dark values are the original colours, byte for byte. Light values are derived
   per role: a dark surface becomes a light one of the same hue, a border becomes
   a soft tint, and a foreground is darkened until it clears 4.5:1 on both the
   white card and the panel grey.
   ============================================================================ */
:root {
  --k-004085-fg:#0f83ff;  /* brightened for dark: the original was unreadable on its own background */
  --k-0066cc-fg:#1a8cff;  /* brightened for dark: the original was unreadable on its own background */
  --k-0369a1-fg:#0493e1;  /* brightened for dark: the original was unreadable on its own background */
  --k-070810-bg:#070810;
  --k-0b0d12-bg:#0b0d12;
  --k-0c5460-fg:#1ab2cc;  /* brightened for dark: the original was unreadable on its own background */
  --k-0c8599-fg:#0c8599;
  --k-0d2366-bg:#0d2366;
  --k-0e0f13-bg:#0e0f13;
  --k-0e0f13-fg:#0e0f13;
  --k-0e1017-bg:#0e1017;
  --k-0ea5e9-fg:#0ea5e9;
  --k-0f1115-bg:#0f1115;
  --k-0f1116-bg:#0f1116;
  --k-0f131d-bg:#0f131d;
  --k-0f2419-bg:#0f2419;
  --k-10102b-bg:#10102b;
  --k-10122b-bg:#10122b;
  --k-10131c-bg:#10131c;
  --k-10132b-bg:#10132b;
  --k-10142b-bg:#10142b;
  --k-10152b-bg:#10152b;
  --k-101d2b-bg:#101d2b;
  --k-10202b-bg:#10202b;
  --k-10231a-bg:#10231a;
  --k-10262b-bg:#10262b;
  --k-10282b-bg:#10282b;
  --k-102b19-bg:#102b19;
  --k-102b25-bg:#102b25;
  --k-103040-bg:#103040;
  --k-111d31-bg:#111d31;
  --k-115e59-fg:#23c2b8;  /* brightened for dark: the original was unreadable on its own background */
  --k-12100a-bg:#0f172a;
  --k-12141d-bg:#12141d;
  --k-121721-bg:#121721;
  --k-121722-bg:#121722;
  --k-121729-bg:#121729;
  --k-12172a-bg:#12172a;
  --k-122a3e-bg:#122a3e;
  --k-123026-bg:#123026;
  --k-128c4b-fg:#128c4b;
  --k-131328-bg:#131328;
  --k-131728-bg:#131728;
  --k-13243a-bg:#13243a;
  --k-141427-bg:#141427;
  --k-14161b-bg:#14161b;
  --k-141727-bg:#141727;
  --k-141827-bg:#141827;
  --k-141926-bg:#141926;
  --k-14233f-fg:#14233f;
  --k-151525-bg:#151525;
  --k-151b2e-bg:#151b2e;
  --k-15a05a-bg:#15a05a;
  --k-160f18-bg:#160f18;
  --k-161625-bg:#161625;
  --k-161922-bg:#161922;
  --k-161a24-bg:#161a24;
  --k-161e25-bg:#161e25;
  --k-16224a-bg:#16224a;
  --k-163828-bg:#163828;
  --k-171723-bg:#171723;
  --k-171a26-bg:#171a26;
  --k-17a2b8-ln:#17a2b8;
  --k-181b22-bg:#181b22;
  --k-181b23-bg:#181b23;
  --k-191c22-bg:#191c22;
  --k-1971c2-fg:#1971c2;
  --k-1a1606-bg:#0f172a;
  --k-1a1a1a-fg:#1a1a1a;
  --k-1a1d26-bg:#1a1d26;
  --k-1a1d28-bg:#1a1d28;
  --k-1a1f2e-bg:#1a1f2e;
  --k-1b102b-bg:#1b102b;
  --k-1b8a4b-fg:#1b8a4b;
  --k-1c1420-bg:#1c1420;
  --k-1c2030-bg:#1c2030;
  --k-1c2440-bg:#1c2440;
  --k-1c9b54-bg:#1c9b54;
  --k-1c9b54-fg:#1c9b54;
  --k-1d102b-bg:#1d102b;
  --k-1e2536-bg:#1e2536;
  --k-1e6b4f-ln:#1e6b4f;
  --k-1f1a10-bg:#1e293b;
  --k-1f232b-ln:#1f232b;
  --k-1f5132-ln:#1f5132;
  --k-1f6b4f-ln:#1f6b4f;
  --k-1f6feb-bg:#1f6feb;
  --k-20122b-bg:#20122b;
  --k-20242c-bg:#20242c;
  --k-20242c-ln:#20242c;
  --k-202634-fg:#202634;
  --k-221a30-bg:#221a30;
  --k-22262f-ln:#22262f;
  --k-222a44-ln:#222a44;
  --k-22c55e-bg:#22c55e;
  --k-22c55e-fg:#22c55e;
  --k-22d3ee-fg:#22d3ee;
  --k-232838-ln:#232838;
  --k-23283a-bg:#23283a;
  --k-232a3a-bg:#232a3a;
  --k-232a3a-ln:#232a3a;
  --k-241015-bg:#241015;
  --k-241a2e-bg:#241a2e;
  --k-241c0c-bg:#1e293b;
  --k-241d0e-bg:#1e293b;
  --k-242832-bg:#242832;
  --k-262b3d-ln:#262b3d;
  --k-26314f-ln:#26314f;
  --k-281830-bg:#281830;
  --k-2a1212-bg:#2a1212;
  --k-2a1418-bg:#2a1418;
  --k-2a1517-bg:#2a1517;
  --k-2a1518-bg:#2a1518;
  --k-2a1830-bg:#2a1830;
  --k-2a1b1b-bg:#2a1b1b;
  --k-2a2305-bg:#1e293b;
  --k-2a2410-bg:#1e293b;
  --k-2a2f3a-bg:#2a2f3a;
  --k-2a2f44-ln:#2a2f44;
  --k-2a3040-ln:#2a3040;
  --k-2a3244-ln:#2a3244;
  --k-2b1013-bg:#2b1013;
  --k-2b1014-bg:#2b1014;
  --k-2b1310-bg:#2b1310;
  --k-2b1b10-bg:#2b1b10;
  --k-2b2210-bg:#1e293b;
  --k-2b2310-bg:#1e293b;
  --k-2b2610-bg:#1e293b;
  --k-2b8a3e-fg:#2b8a3e;
  --k-2c1830-bg:#2c1830;
  --k-2c1d0e-bg:#1e293b;
  --k-2c2010-bg:#1e293b;
  --k-2c2010-ln:#1e293b;
  --k-2c2710-bg:#1e293b;
  --k-2c3550-ln:#2c3550;
  --k-2c3a6b-ln:#2c3a6b;
  --k-2e1620-bg:#2e1620;
  --k-2e1822-bg:#2e1822;
  --k-2e3450-ln:#2e3450;
  --k-2f3540-ln:#2f3540;
  --k-2fbf86-bg:#2fbf86;
  --k-2fbf86-ln:#2fbf86;
  --k-34d399-fg:#34d399;
  --k-353b58-ln:#353b58;
  --k-38bdf8-fg:#38bdf8;
  --k-38c172-fg:#38c172;
  --k-3a3358-ln:#3a3358;
  --k-3a3f4b-fg:#3a3f4b;
  --k-3a3f4b-ln:#3a3f4b;
  --k-3a4050-ln:#3a4050;
  --k-4453c4-fg:#707bd2;  /* brightened for dark: the original was unreadable on its own background */
  --k-463a1a-ln:#223049;
  --k-4a2733-ln:#4a2733;
  --k-4a3a14-ln:#223049;
  --k-4dabf7-bg:#4dabf7;
  --k-4f6ef7-bg:#4f6ef7;
  --k-4f6ef7-ln:#4f6ef7;
  --k-5a2d2d-ln:#5a2d2d;
  --k-5a6268-bg:#5a6268;
  --k-5b2130-ln:#5b2130;
  --k-5b2b31-ln:#5b2b31;
  --k-5b3fae-fg:#5b3fae;
  --k-5b4200-fg:#5b4200;
  --k-5b6271-bg:#5b6271;
  --k-5b6271-fg:#5b6271;
  --k-5b6472-fg:#5b6472;
  --k-5b8def-fg:#5b8def;
  --k-5c2230-ln:#5c2230;
  --k-5e35b1-fg:#8f6ed4;  /* brightened for dark: the original was unreadable on its own background */
  --k-5f6678-fg:#7d8aa0;
  --k-60a5fa-fg:#60a5fa;
  --k-60a5fa-ln:#60a5fa;
  --k-616161-fg:#878787;  /* brightened for dark: the original was unreadable on its own background */
  --k-6a5210-ln:#1d4ed8;
  --k-6b5310-fg:#3b82f6;  /* brightened for dark: the original was unreadable on its own background */
  --k-6c757d-bg:#6c757d;
  --k-6f7488-fg:#6f7488;
  --k-7048e8-bg:#7048e8;
  --k-721c24-fg:#d65763;  /* brightened for dark: the original was unreadable on its own background */
  --k-737a92-fg:#737a92;
  --k-7a2230-ln:#7a2230;
  --k-7a818f-fg:#7a818f;
  --k-7aa2ff-fg:#7aa2ff;
  --k-7b2cbf-fg:#a566dc;  /* brightened for dark: the original was unreadable on its own background */
  --k-7b5cff-bg:#7b5cff;
  --k-7c8395-fg:#7c8395;
  --k-7d8595-fg:#7d8595;
  --k-7d8698-fg:#7d8698;
  --k-7f1d1d-ln:#7f1d1d;
  --k-7fb0f0-fg:#7fb0f0;
  --k-7fe0b0-fg:#7fe0b0;
  --k-838aa0-fg:#838aa0;
  --k-86e3b4-fg:#86e3b4;
  --k-8891a8-fg:#8891a8;
  --k-8992a3-fg:#8992a3;
  --k-8a5a00-fg:#e69600;  /* brightened for dark: the original was unreadable on its own background */
  --k-8a6d00-fg:#1d4ed8;
  --k-8a8f98-fg:#8a8f98;
  --k-8b6fd6-ln:#8b6fd6;
  --k-8d95a4-fg:#8d95a4;
  --k-92400e-fg:#e46416;  /* brightened for dark: the original was unreadable on its own background */
  --k-98a2b8-fg:#98a2b8;
  --k-99a0ad-fg:#99a0ad;
  --k-9aa4b5-fg:#9aa4b5;
  --k-9aa4bb-fg:#9aa4bb;
  --k-9b1c1c-fg:#e15757;  /* brightened for dark: the original was unreadable on its own background */
  --k-9c6a00-fg:#1d4ed8;
  --k-9ca3b1-fg:#9ca3b1;
  --k-9fe3c4-fg:#9fe3c4;
  --k-a07300-fg:#1d4ed8;
  --k-a6791f-fg:#2563eb;
  --k-a78bfa-fg:#a78bfa;
  --k-aab1bd-fg:#aab1bd;
  --k-aeb7cc-fg:#aeb7cc;
  --k-b06a00-fg:#b06a00;
  --k-b06aff-bg:#b06aff;
  --k-b08b3e-fg:#94a3b8;
  --k-b8860b-fg:#2563eb;
  --k-b9790f-fg:#2563eb;
  --k-c4c9dc-fg:#c4c9dc;
  --k-c7c9e6-ln:#c7c9e6;
  --k-c7cede-fg:#c7cede;
  --k-c82333-bg:#c82333;
  --k-c92a2a-fg:#c92a2a;
  --k-c97600-fg:#c97600;
  --k-c98a12-bg:#3b82f6;
  --k-c98a12-fg:#3b82f6;
  --k-c98a12-ln:#3b82f6;
  --k-c9a6f5-fg:#c9a6f5;
  --k-c9cdf0-ln:#c9cdf0;
  --k-c9d2f7-ln:#c9d2f7;
  --k-caa3a3-fg:#caa3a3;
  --k-cdd3e2-fg:#cdd3e2;
  --k-cfd3dc-fg:#cfd3dc;
  --k-d9480f-fg:#d9480f;
  --k-d99a12-bg:#60a5fa;
  --k-d99a12-fg:#93c5fd;
  --k-d99a12-ln:#60a5fa;
  --k-d9c9ff-ln:#d9c9ff;
  --k-dfe2e8-fg:#dfe2e8;
  --k-dfe3ec-fg:#dfe3ec;
  --k-e0a410-bg:#3b82f6;
  --k-e0e0ea-ln:#e0e0ea;
  --k-e2e2ea-ln:#e2e2ea;
  --k-e39ad0-fg:#e39ad0;
  --k-e3b3ba-fg:#e3b3ba;
  --k-e63946-bg:#e63946;
  --k-e6dbff-ln:#e6dbff;
  --k-e74c3c-fg:#e74c3c;
  --k-e79aa8-fg:#e79aa8;
  --k-e7d9a8-fg:#bfdbfe;
  --k-e7ddc7-ln:#e2e8f0;
  --k-e7e9f0-fg:#e7e9f0;
  --k-e8590c-fg:#e8590c;
  --k-e9c97a-fg:#93c5fd;
  --k-e9edf4-fg:#e9edf4;
  --k-eceef3-ln:#eceef3;
  --k-ee5a6f-bg:#ee5a6f;
  --k-eef0f3-ln:#eef0f3;
  --k-eef0f4-fg:#eef0f4;
  --k-eef1f7-fg:#eef1f7;
  --k-f06464-fg:#f06464;
  --k-f0c850-fg:#93c5fd;
  --k-f0f0f3-ln:#f0f0f3;
  --k-f2c14e-bg:#93c5fd;
  --k-f2c14e-ln:#93c5fd;
  --k-f472b6-fg:#f472b6;
  --k-f57c00-fg:#f57c00;
  --k-f59f00-ln:#f59f00;
  --k-f5a623-fg:#f5a623;
  --k-f5be3a-bg:#60a5fa;
  --k-f5be3a-fg:#60a5fa;
  --k-f6f1e4-bg:#f1f5f9;
  --k-f7c645-fg:#60a5fa;
  --k-fab005-bg:#fab005;
  --k-fb7185-fg:#fb7185;
  --k-fca5a5-fg:#fca5a5;
  --k-ff3838-bg:#ff3838;
  --k-ff6b6b-bg:#ff6b6b;
  --k-ff6b6b-fg:#ff6b6b;
  --k-ff6b6b-ln:#ff6b6b;
  --k-ff8a3d-bg:#ff8a3d;
  --k-ffa500-ln:#ffa500;
  --k-ffd77a-fg:#93c5fd;
  --k-ffd8a8-ln:#ffd8a8;
  --k-ffe08a-bg:#bfdbfe;
  --k-fffdf8-bg:#f8fafc;
  --k-ffffff-bg:#ffffff;
  --k-ffffff-fg:#ffffff;
}

:root[data-theme="light"] {
  --k-004085-fg:#0067d6;
  --k-0066cc-fg:#006bd6;
  --k-0369a1-fg:#0376b4;
  --k-070810-bg:#ebecf4;
  --k-0b0d12-bg:#eceef3;
  --k-0c5460-fg:#117788;
  --k-0c8599-fg:#0b7b8e;
  --k-0d2366-bg:#ebedf4;
  --k-0e0f13-bg:#f6f7f9;
  --k-0e0f13-fg:#5b617b;
  --k-0e1017-bg:#eceef3;
  --k-0ea5e9-fg:#0a74a4;
  --k-0f1115-bg:#f6f7f9;
  --k-0f1116-bg:#edeef3;
  --k-0f131d-bg:#ebeef4;
  --k-0f2419-bg:#ebf4ef;
  --k-10102b-bg:#ebebf4;
  --k-10122b-bg:#ebecf4;
  --k-10131c-bg:#eceef4;
  --k-10132b-bg:#ebecf4;
  --k-10142b-bg:#ebecf4;
  --k-10152b-bg:#ebedf4;
  --k-101d2b-bg:#ebf0f4;
  --k-10202b-bg:#ebf1f4;
  --k-10231a-bg:#ebf4f0;
  --k-10262b-bg:#ebf3f4;
  --k-10282b-bg:#ebf3f4;
  --k-102b19-bg:#ebf4ee;
  --k-102b25-bg:#ebf4f2;
  --k-103040-bg:#ebf1f4;
  --k-111d31-bg:#ebeff4;
  --k-115e59-fg:#167972;
  --k-12100a-bg:#f1f5f9;
  --k-12141d-bg:#ecedf3;
  --k-121721-bg:#ebeef4;
  --k-121722-bg:#ebeef4;
  --k-121729-bg:#ebedf4;
  --k-12172a-bg:#ebedf4;
  --k-122a3e-bg:#ebf0f4;
  --k-123026-bg:#ebf4f1;
  --k-128c4b-fg:#107f44;
  --k-131328-bg:#ebebf4;
  --k-131728-bg:#ebedf4;
  --k-13243a-bg:#ebeff4;
  --k-141427-bg:#ebebf4;
  --k-14161b-bg:#f6f7f8;
  --k-141727-bg:#ebedf4;
  --k-141827-bg:#ebedf4;
  --k-141926-bg:#ebeef4;
  --k-14233f-fg:#345aa3;
  --k-151525-bg:#ebebf4;
  --k-151b2e-bg:#ebedf4;
  --k-15a05a-bg:#15a05a;
  --k-160f18-bg:#f2ecf3;
  --k-161625-bg:#ececf4;
  --k-161922-bg:#eceef3;
  --k-161a24-bg:#eceef3;
  --k-161e25-bg:#ecf0f4;
  --k-16224a-bg:#ebedf4;
  --k-163828-bg:#ebf4f0;
  --k-171723-bg:#ededf3;
  --k-171a26-bg:#ecedf3;
  --k-17a2b8-ln:#bad9de;
  --k-181b22-bg:#f6f7f9;
  --k-181b23-bg:#edeef3;
  --k-191c22-bg:#f6f7f9;
  --k-1971c2-fg:#186fbe;
  --k-1a1606-bg:#f1f5f9;
  --k-1a1a1a-fg:#6b6b6b;
  --k-1a1d26-bg:#edeef3;
  --k-1a1d28-bg:#eceef3;
  --k-1a1f2e-bg:#ebeef4;
  --k-1b102b-bg:#efebf4;
  --k-1b8a4b-fg:#198046;
  --k-1c1420-bg:#f1ecf3;
  --k-1c2030-bg:#ecedf4;
  --k-1c2440-bg:#ebedf4;
  --k-1c9b54-bg:#ebf4ef;
  --k-1c9b54-fg:#167942;
  --k-1d102b-bg:#f0ebf4;
  --k-1e2536-bg:#ebeef4;
  --k-1e6b4f-ln:#baded1;
  --k-1f1a10-bg:#f1f5f9;
  --k-1f232b-ln:#d6d9e1;
  --k-1f5132-ln:#badec8;
  --k-1f6b4f-ln:#baded1;
  --k-1f6feb-bg:#1f6feb;
  --k-20122b-bg:#f0ebf4;
  --k-20242c-bg:#f6f7f9;
  --k-20242c-ln:#d6d9e1;
  --k-202634-fg:#526185;
  --k-221a30-bg:#eeebf4;
  --k-22262f-ln:#d6d9e1;
  --k-222a44-ln:#bbc3dd;
  --k-22c55e-bg:#22c55e;
  --k-22c55e-fg:#157a3a;
  --k-22d3ee-fg:#0a7485;
  --k-232838-ln:#c0c6d8;
  --k-23283a-bg:#eceef3;
  --k-232a3a-bg:#eceef3;
  --k-232a3a-ln:#bfc7d9;
  --k-241015-bg:#f4ebed;
  --k-241a2e-bg:#f0ebf4;
  --k-241c0c-bg:#f1f5f9;
  --k-241d0e-bg:#f1f5f9;
  --k-242832-bg:#f6f7f9;
  --k-262b3d-ln:#c0c5d8;
  --k-26314f-ln:#bac4de;
  --k-281830-bg:#f1ebf4;
  --k-2a1212-bg:#f4ebeb;
  --k-2a1418-bg:#f4ebed;
  --k-2a1517-bg:#f4ebec;
  --k-2a1518-bg:#f4ebec;
  --k-2a1830-bg:#f2ebf4;
  --k-2a1b1b-bg:#f3ecec;
  --k-2a2305-bg:#f1f5f9;
  --k-2a2410-bg:#f1f5f9;
  --k-2a2f3a-bg:#f6f7f9;
  --k-2a2f44-ln:#c0c5d8;
  --k-2a3040-ln:#c1c7d7;
  --k-2a3244-ln:#c0c7d8;
  --k-2b1013-bg:#f4ebec;
  --k-2b1014-bg:#f4ebec;
  --k-2b1310-bg:#f4eceb;
  --k-2b1b10-bg:#f4efeb;
  --k-2b2210-bg:#f1f5f9;
  --k-2b2310-bg:#f1f5f9;
  --k-2b2610-bg:#f1f5f9;
  --k-2b8a3e-fg:#277c38;
  --k-2c1830-bg:#f3ebf4;
  --k-2c1d0e-bg:#f1f5f9;
  --k-2c2010-bg:#f1f5f9;
  --k-2c2010-ln:#e2e8f0;
  --k-2c2710-bg:#f1f5f9;
  --k-2c3550-ln:#bdc5db;
  --k-2c3a6b-ln:#bac2de;
  --k-2e1620-bg:#f4ebef;
  --k-2e1822-bg:#f4ebef;
  --k-2e3450-ln:#bec3da;
  --k-2f3540-ln:#d6dae1;
  --k-2fbf86-bg:#2fbf86;
  --k-2fbf86-ln:#baded0;
  --k-34d399-fg:#1b7e5a;
  --k-353b58-ln:#bfc4d9;
  --k-38bdf8-fg:#0676a8;
  --k-38c172-fg:#257e4b;
  --k-3a3358-ln:#c4beda;
  --k-3a3f4b-fg:#5d6579;
  --k-3a3f4b-ln:#d7d9e0;
  --k-3a4050-ln:#d6d9e1;
  --k-4453c4-fg:#3340a3;
  --k-463a1a-ln:#e2e8f0;
  --k-4a2733-ln:#dcbcc7;
  --k-4a3a14-ln:#e2e8f0;
  --k-4dabf7-bg:#4dabf7;
  --k-4f6ef7-bg:#4f6ef7;
  --k-4f6ef7-ln:#bac1de;
  --k-5a2d2d-ln:#ddbbbb;
  --k-5a6268-bg:#5a6268;
  --k-5b2130-ln:#debac3;
  --k-5b2b31-ln:#debabf;
  --k-5b3fae-fg:#52399d;
  --k-5b4200-fg:#8f6800;
  --k-5b6271-bg:#5b6271;
  --k-5b6271-fg:#606777;
  --k-5b6472-fg:#5f6877;
  --k-5b8def-fg:#134fc3;
  --k-5c2230-ln:#debac3;
  --k-5e35b1-fg:#5831a5;
  --k-5f6678-fg:#5f6678;
  --k-60a5fa-fg:#0761d0;
  --k-60a5fa-ln:#bacade;
  --k-616161-fg:#6b6b6b;
  --k-6a5210-ln:#bfdbfe;
  --k-6b5310-fg:#1d4ed8;
  --k-6c757d-bg:#6c757d;
  --k-6f7488-fg:#606576;
  --k-7048e8-bg:#7048e8;
  --k-721c24-fg:#ac2a36;
  --k-737a92-fg:#5e6478;
  --k-7a2230-ln:#debac0;
  --k-7a818f-fg:#626874;
  --k-7aa2ff-fg:#0040d6;
  --k-7b2cbf-fg:#7028ae;
  --k-7b5cff-bg:#7b5cff;
  --k-7c8395-fg:#606676;
  --k-7d8595-fg:#606776;
  --k-7d8698-fg:#5f6778;
  --k-7f1d1d-ln:#debaba;
  --k-7fb0f0-fg:#1660c0;
  --k-7fe0b0-fg:#1e7b4d;
  --k-838aa0-fg:#5d6479;
  --k-86e3b4-fg:#1d7c4c;
  --k-8891a8-fg:#5a647c;
  --k-8992a3-fg:#5e6778;
  --k-8a5a00-fg:#996400;
  --k-8a6d00-fg:#1d4ed8;
  --k-8a8f98-fg:#646972;
  --k-8b6fd6-ln:#c4bade;
  --k-8d95a4-fg:#5f6777;
  --k-92400e-fg:#b14e11;
  --k-98a2b8-fg:#57647f;
  --k-99a0ad-fg:#5f6877;
  --k-9aa4b5-fg:#5b677c;
  --k-9aa4bb-fg:#566380;
  --k-9b1c1c-fg:#b52121;
  --k-9c6a00-fg:#1d4ed8;
  --k-9ca3b1-fg:#5e6778;
  --k-9fe3c4-fg:#257e56;
  --k-a07300-fg:#1d4ed8;
  --k-a6791f-fg:#2563eb;
  --k-a78bfa-fg:#3a09cd;
  --k-aab1bd-fg:#5e6879;
  --k-aeb7cc-fg:#536183;
  --k-b06a00-fg:#995c00;
  --k-b06aff-bg:#b06aff;
  --k-b08b3e-fg:#64748b;
  --k-b8860b-fg:#1d4ed8;
  --k-b9790f-fg:#1d4ed8;
  --k-c4c9dc-fg:#505b86;
  --k-c7c9e6-ln:#babcde;
  --k-c7cede-fg:#4f6087;
  --k-c82333-bg:#c82333;
  --k-c92a2a-fg:#b12525;
  --k-c97600-fg:#a36000;
  --k-c98a12-bg:#3b82f6;
  --k-c98a12-fg:#1d4ed8;
  --k-c98a12-ln:#bfdbfe;
  --k-c9a6f5-fg:#6116c1;
  --k-c9cdf0-ln:#babede;
  --k-c9d2f7-ln:#bac1de;
  --k-caa3a3-fg:#884e4e;
  --k-cdd3e2-fg:#4f5f88;
  --k-cfd3dc-fg:#5a657c;
  --k-d9480f-fg:#c8420e;
  --k-d99a12-bg:#3b82f6;
  --k-d99a12-fg:#3b82f6;
  --k-d99a12-ln:#dbeafe;
  --k-d9c9ff-ln:#c5bade;
  --k-dfe2e8-fg:#5a657d;
  --k-dfe3ec-fg:#506186;
  --k-e0a410-bg:#3b82f6;
  --k-e0e0ea-ln:#c2c2d6;
  --k-e2e2ea-ln:#d6d6e1;
  --k-e39ad0-fg:#a82e88;
  --k-e3b3ba-fg:#9d3a48;
  --k-e63946-bg:#e63946;
  --k-e6dbff-ln:#c5bade;
  --k-e74c3c-fg:#bf2717;
  --k-e79aa8-fg:#ad2941;
  --k-e7d9a8-fg:#1d4ed8;
  --k-e7ddc7-ln:#e2e8f0;
  --k-e7e9f0-fg:#525d84;
  --k-e8590c-fg:#c24a0a;
  --k-e9c97a-fg:#1d4ed8;
  --k-e9edf4-fg:#47618f;
  --k-eceef3-ln:#c0c7d8;
  --k-ee5a6f-bg:#ee5a6f;
  --k-eef0f3-ln:#d5dae1;
  --k-eef0f4-fg:#546382;
  --k-eef1f7-fg:#455e92;
  --k-f06464-fg:#c31313;
  --k-f0c850-fg:#1d4ed8;
  --k-f0f0f3-ln:#d7d7df;
  --k-f2c14e-bg:#93c5fd;
  --k-f2c14e-ln:#bfdbfe;
  --k-f472b6-fg:#c7106f;
  --k-f57c00-fg:#ad5800;
  --k-f59f00-ln:#ded1ba;
  --k-f5a623-fg:#9c6407;
  --k-f5be3a-bg:#60a5fa;
  --k-f5be3a-fg:#1d4ed8;
  --k-f6f1e4-bg:#f1f5f9;
  --k-f7c645-fg:#1d4ed8;
  --k-fab005-bg:#fab005;
  --k-fb7185-fg:#d00623;
  --k-fca5a5-fg:#cf0707;
  --k-ff3838-bg:#ff3838;
  --k-ff6b6b-bg:#ff6b6b;
  --k-ff6b6b-fg:#d60000;
  --k-ff6b6b-ln:#debaba;
  --k-ff8a3d-bg:#ff8a3d;
  --k-ffa500-ln:#ded1ba;
  --k-ffd77a-fg:#1d4ed8;
  --k-ffd8a8-ln:#deceba;
  --k-ffe08a-bg:#bfdbfe;
  --k-fffdf8-bg:#f8fafc;
  --k-ffffff-bg:#ffffff;
  --k-ffffff-fg:#6b6b6b;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
  --k-004085-fg:#0067d6;
  --k-0066cc-fg:#006bd6;
  --k-0369a1-fg:#0376b4;
  --k-070810-bg:#ebecf4;
  --k-0b0d12-bg:#eceef3;
  --k-0c5460-fg:#117788;
  --k-0c8599-fg:#0b7b8e;
  --k-0d2366-bg:#ebedf4;
  --k-0e0f13-bg:#f6f7f9;
  --k-0e0f13-fg:#5b617b;
  --k-0e1017-bg:#eceef3;
  --k-0ea5e9-fg:#0a74a4;
  --k-0f1115-bg:#f6f7f9;
  --k-0f1116-bg:#edeef3;
  --k-0f131d-bg:#ebeef4;
  --k-0f2419-bg:#ebf4ef;
  --k-10102b-bg:#ebebf4;
  --k-10122b-bg:#ebecf4;
  --k-10131c-bg:#eceef4;
  --k-10132b-bg:#ebecf4;
  --k-10142b-bg:#ebecf4;
  --k-10152b-bg:#ebedf4;
  --k-101d2b-bg:#ebf0f4;
  --k-10202b-bg:#ebf1f4;
  --k-10231a-bg:#ebf4f0;
  --k-10262b-bg:#ebf3f4;
  --k-10282b-bg:#ebf3f4;
  --k-102b19-bg:#ebf4ee;
  --k-102b25-bg:#ebf4f2;
  --k-103040-bg:#ebf1f4;
  --k-111d31-bg:#ebeff4;
  --k-115e59-fg:#167972;
  --k-12100a-bg:#f1f5f9;
  --k-12141d-bg:#ecedf3;
  --k-121721-bg:#ebeef4;
  --k-121722-bg:#ebeef4;
  --k-121729-bg:#ebedf4;
  --k-12172a-bg:#ebedf4;
  --k-122a3e-bg:#ebf0f4;
  --k-123026-bg:#ebf4f1;
  --k-128c4b-fg:#107f44;
  --k-131328-bg:#ebebf4;
  --k-131728-bg:#ebedf4;
  --k-13243a-bg:#ebeff4;
  --k-141427-bg:#ebebf4;
  --k-14161b-bg:#f6f7f8;
  --k-141727-bg:#ebedf4;
  --k-141827-bg:#ebedf4;
  --k-141926-bg:#ebeef4;
  --k-14233f-fg:#345aa3;
  --k-151525-bg:#ebebf4;
  --k-151b2e-bg:#ebedf4;
  --k-15a05a-bg:#15a05a;
  --k-160f18-bg:#f2ecf3;
  --k-161625-bg:#ececf4;
  --k-161922-bg:#eceef3;
  --k-161a24-bg:#eceef3;
  --k-161e25-bg:#ecf0f4;
  --k-16224a-bg:#ebedf4;
  --k-163828-bg:#ebf4f0;
  --k-171723-bg:#ededf3;
  --k-171a26-bg:#ecedf3;
  --k-17a2b8-ln:#bad9de;
  --k-181b22-bg:#f6f7f9;
  --k-181b23-bg:#edeef3;
  --k-191c22-bg:#f6f7f9;
  --k-1971c2-fg:#186fbe;
  --k-1a1606-bg:#f1f5f9;
  --k-1a1a1a-fg:#6b6b6b;
  --k-1a1d26-bg:#edeef3;
  --k-1a1d28-bg:#eceef3;
  --k-1a1f2e-bg:#ebeef4;
  --k-1b102b-bg:#efebf4;
  --k-1b8a4b-fg:#198046;
  --k-1c1420-bg:#f1ecf3;
  --k-1c2030-bg:#ecedf4;
  --k-1c2440-bg:#ebedf4;
  --k-1c9b54-bg:#ebf4ef;
  --k-1c9b54-fg:#167942;
  --k-1d102b-bg:#f0ebf4;
  --k-1e2536-bg:#ebeef4;
  --k-1e6b4f-ln:#baded1;
  --k-1f1a10-bg:#f1f5f9;
  --k-1f232b-ln:#d6d9e1;
  --k-1f5132-ln:#badec8;
  --k-1f6b4f-ln:#baded1;
  --k-1f6feb-bg:#1f6feb;
  --k-20122b-bg:#f0ebf4;
  --k-20242c-bg:#f6f7f9;
  --k-20242c-ln:#d6d9e1;
  --k-202634-fg:#526185;
  --k-221a30-bg:#eeebf4;
  --k-22262f-ln:#d6d9e1;
  --k-222a44-ln:#bbc3dd;
  --k-22c55e-bg:#22c55e;
  --k-22c55e-fg:#157a3a;
  --k-22d3ee-fg:#0a7485;
  --k-232838-ln:#c0c6d8;
  --k-23283a-bg:#eceef3;
  --k-232a3a-bg:#eceef3;
  --k-232a3a-ln:#bfc7d9;
  --k-241015-bg:#f4ebed;
  --k-241a2e-bg:#f0ebf4;
  --k-241c0c-bg:#f1f5f9;
  --k-241d0e-bg:#f1f5f9;
  --k-242832-bg:#f6f7f9;
  --k-262b3d-ln:#c0c5d8;
  --k-26314f-ln:#bac4de;
  --k-281830-bg:#f1ebf4;
  --k-2a1212-bg:#f4ebeb;
  --k-2a1418-bg:#f4ebed;
  --k-2a1517-bg:#f4ebec;
  --k-2a1518-bg:#f4ebec;
  --k-2a1830-bg:#f2ebf4;
  --k-2a1b1b-bg:#f3ecec;
  --k-2a2305-bg:#f1f5f9;
  --k-2a2410-bg:#f1f5f9;
  --k-2a2f3a-bg:#f6f7f9;
  --k-2a2f44-ln:#c0c5d8;
  --k-2a3040-ln:#c1c7d7;
  --k-2a3244-ln:#c0c7d8;
  --k-2b1013-bg:#f4ebec;
  --k-2b1014-bg:#f4ebec;
  --k-2b1310-bg:#f4eceb;
  --k-2b1b10-bg:#f4efeb;
  --k-2b2210-bg:#f1f5f9;
  --k-2b2310-bg:#f1f5f9;
  --k-2b2610-bg:#f1f5f9;
  --k-2b8a3e-fg:#277c38;
  --k-2c1830-bg:#f3ebf4;
  --k-2c1d0e-bg:#f1f5f9;
  --k-2c2010-bg:#f1f5f9;
  --k-2c2010-ln:#e2e8f0;
  --k-2c2710-bg:#f1f5f9;
  --k-2c3550-ln:#bdc5db;
  --k-2c3a6b-ln:#bac2de;
  --k-2e1620-bg:#f4ebef;
  --k-2e1822-bg:#f4ebef;
  --k-2e3450-ln:#bec3da;
  --k-2f3540-ln:#d6dae1;
  --k-2fbf86-bg:#2fbf86;
  --k-2fbf86-ln:#baded0;
  --k-34d399-fg:#1b7e5a;
  --k-353b58-ln:#bfc4d9;
  --k-38bdf8-fg:#0676a8;
  --k-38c172-fg:#257e4b;
  --k-3a3358-ln:#c4beda;
  --k-3a3f4b-fg:#5d6579;
  --k-3a3f4b-ln:#d7d9e0;
  --k-3a4050-ln:#d6d9e1;
  --k-4453c4-fg:#3340a3;
  --k-463a1a-ln:#e2e8f0;
  --k-4a2733-ln:#dcbcc7;
  --k-4a3a14-ln:#e2e8f0;
  --k-4dabf7-bg:#4dabf7;
  --k-4f6ef7-bg:#4f6ef7;
  --k-4f6ef7-ln:#bac1de;
  --k-5a2d2d-ln:#ddbbbb;
  --k-5a6268-bg:#5a6268;
  --k-5b2130-ln:#debac3;
  --k-5b2b31-ln:#debabf;
  --k-5b3fae-fg:#52399d;
  --k-5b4200-fg:#8f6800;
  --k-5b6271-bg:#5b6271;
  --k-5b6271-fg:#606777;
  --k-5b6472-fg:#5f6877;
  --k-5b8def-fg:#134fc3;
  --k-5c2230-ln:#debac3;
  --k-5e35b1-fg:#5831a5;
  --k-5f6678-fg:#5f6678;
  --k-60a5fa-fg:#0761d0;
  --k-60a5fa-ln:#bacade;
  --k-616161-fg:#6b6b6b;
  --k-6a5210-ln:#bfdbfe;
  --k-6b5310-fg:#1d4ed8;
  --k-6c757d-bg:#6c757d;
  --k-6f7488-fg:#606576;
  --k-7048e8-bg:#7048e8;
  --k-721c24-fg:#ac2a36;
  --k-737a92-fg:#5e6478;
  --k-7a2230-ln:#debac0;
  --k-7a818f-fg:#626874;
  --k-7aa2ff-fg:#0040d6;
  --k-7b2cbf-fg:#7028ae;
  --k-7b5cff-bg:#7b5cff;
  --k-7c8395-fg:#606676;
  --k-7d8595-fg:#606776;
  --k-7d8698-fg:#5f6778;
  --k-7f1d1d-ln:#debaba;
  --k-7fb0f0-fg:#1660c0;
  --k-7fe0b0-fg:#1e7b4d;
  --k-838aa0-fg:#5d6479;
  --k-86e3b4-fg:#1d7c4c;
  --k-8891a8-fg:#5a647c;
  --k-8992a3-fg:#5e6778;
  --k-8a5a00-fg:#996400;
  --k-8a6d00-fg:#1d4ed8;
  --k-8a8f98-fg:#646972;
  --k-8b6fd6-ln:#c4bade;
  --k-8d95a4-fg:#5f6777;
  --k-92400e-fg:#b14e11;
  --k-98a2b8-fg:#57647f;
  --k-99a0ad-fg:#5f6877;
  --k-9aa4b5-fg:#5b677c;
  --k-9aa4bb-fg:#566380;
  --k-9b1c1c-fg:#b52121;
  --k-9c6a00-fg:#1d4ed8;
  --k-9ca3b1-fg:#5e6778;
  --k-9fe3c4-fg:#257e56;
  --k-a07300-fg:#1d4ed8;
  --k-a6791f-fg:#2563eb;
  --k-a78bfa-fg:#3a09cd;
  --k-aab1bd-fg:#5e6879;
  --k-aeb7cc-fg:#536183;
  --k-b06a00-fg:#995c00;
  --k-b06aff-bg:#b06aff;
  --k-b08b3e-fg:#64748b;
  --k-b8860b-fg:#1d4ed8;
  --k-b9790f-fg:#1d4ed8;
  --k-c4c9dc-fg:#505b86;
  --k-c7c9e6-ln:#babcde;
  --k-c7cede-fg:#4f6087;
  --k-c82333-bg:#c82333;
  --k-c92a2a-fg:#b12525;
  --k-c97600-fg:#a36000;
  --k-c98a12-bg:#3b82f6;
  --k-c98a12-fg:#1d4ed8;
  --k-c98a12-ln:#bfdbfe;
  --k-c9a6f5-fg:#6116c1;
  --k-c9cdf0-ln:#babede;
  --k-c9d2f7-ln:#bac1de;
  --k-caa3a3-fg:#884e4e;
  --k-cdd3e2-fg:#4f5f88;
  --k-cfd3dc-fg:#5a657c;
  --k-d9480f-fg:#c8420e;
  --k-d99a12-bg:#3b82f6;
  --k-d99a12-fg:#3b82f6;
  --k-d99a12-ln:#dbeafe;
  --k-d9c9ff-ln:#c5bade;
  --k-dfe2e8-fg:#5a657d;
  --k-dfe3ec-fg:#506186;
  --k-e0a410-bg:#3b82f6;
  --k-e0e0ea-ln:#c2c2d6;
  --k-e2e2ea-ln:#d6d6e1;
  --k-e39ad0-fg:#a82e88;
  --k-e3b3ba-fg:#9d3a48;
  --k-e63946-bg:#e63946;
  --k-e6dbff-ln:#c5bade;
  --k-e74c3c-fg:#bf2717;
  --k-e79aa8-fg:#ad2941;
  --k-e7d9a8-fg:#1d4ed8;
  --k-e7ddc7-ln:#e2e8f0;
  --k-e7e9f0-fg:#525d84;
  --k-e8590c-fg:#c24a0a;
  --k-e9c97a-fg:#1d4ed8;
  --k-e9edf4-fg:#47618f;
  --k-eceef3-ln:#c0c7d8;
  --k-ee5a6f-bg:#ee5a6f;
  --k-eef0f3-ln:#d5dae1;
  --k-eef0f4-fg:#546382;
  --k-eef1f7-fg:#455e92;
  --k-f06464-fg:#c31313;
  --k-f0c850-fg:#1d4ed8;
  --k-f0f0f3-ln:#d7d7df;
  --k-f2c14e-bg:#93c5fd;
  --k-f2c14e-ln:#bfdbfe;
  --k-f472b6-fg:#c7106f;
  --k-f57c00-fg:#ad5800;
  --k-f59f00-ln:#ded1ba;
  --k-f5a623-fg:#9c6407;
  --k-f5be3a-bg:#60a5fa;
  --k-f5be3a-fg:#1d4ed8;
  --k-f6f1e4-bg:#f1f5f9;
  --k-f7c645-fg:#1d4ed8;
  --k-fab005-bg:#fab005;
  --k-fb7185-fg:#d00623;
  --k-fca5a5-fg:#cf0707;
  --k-ff3838-bg:#ff3838;
  --k-ff6b6b-bg:#ff6b6b;
  --k-ff6b6b-fg:#d60000;
  --k-ff6b6b-ln:#debaba;
  --k-ff8a3d-bg:#ff8a3d;
  --k-ffa500-ln:#ded1ba;
  --k-ffd77a-fg:#1d4ed8;
  --k-ffd8a8-ln:#deceba;
  --k-ffe08a-bg:#bfdbfe;
  --k-fffdf8-bg:#f8fafc;
  --k-ffffff-bg:#ffffff;
  --k-ffffff-fg:#6b6b6b;
  }
}


/* GENERATED — shell component colours (dashboard.php).
   These were the last hardcoded layer: the shared .btn, .card, table and modal
   styles live in dashboard.php, not in any module, which is why .btn-secondary
   stayed a fixed dark grey and rendered black-on-black in light mode. */
:root {
  --k-04130d-fg:#04130d;
  --k-1b1e25-bg:#1b1e25;
  --k-1c1a17-fg:#1c1a17;
  --k-21252e-bg:#21252e;
  --k-218838-bg:#218838;
  --k-23180a-fg:#1e293b;
  --k-241a04-fg:#0f172a;
  --k-28a745-bg:#28a745;
  --k-2b303a-bg:#2b303a;
  --k-2d2a4a-bg:#2d2a4a;
  --k-323743-ln:#323743;
  --k-333333-fg:#333333;
  --k-343a46-bg:#343a46;
  --k-36cf92-bg:#36cf92;
  --k-3a4150-ln:#3a4150;
  --k-51cf66-bg:#51cf66;
  --k-51cf66-ln:#51cf66;
  --k-5568d3-bg:#5568d3;
  --k-666666-fg:#666666;
  --k-8d90c0-fg:#8d90c0;
  --k-9e9e9e-bg:#9e9e9e;
  --k-aaaabb-fg:#aaaabb;
  --k-cfd2ff-fg:#cfd2ff;
  --k-d8d4ce-bg:#d8d4ce;
  --k-d8d4ce-ln:#d8d4ce;
  --k-e0a800-bg:#3b82f6;
  --k-eceef2-fg:#eceef2;
  --k-f0b020-bg:#60a5fa;
  --k-f0b020-fg:#93c5fd;
  --k-f0b020-ln:#60a5fa;
  --k-f3f3f3-ln:#f3f3f3;
  --k-f5f7fa-bg:#f5f7fa;
  --k-fbbf24-bg:#fbbf24;
  --k-ff4757-bg:#ff4757;
  --k-ff4757-ln:#ff4757;
  --k-ffc107-bg:#ffc107;
  --k-ffca3a-bg:#60a5fa;
}

:root[data-theme="light"] {
  --k-04130d-fg:#1b7e56;
  --k-1b1e25-bg:#f6f7f9;
  --k-1c1a17-fg:#766d61;
  --k-21252e-bg:#f6f7f9;
  --k-218838-bg:#ebf4ed;
  --k-23180a-fg:#64748b;
  --k-241a04-fg:#64748b;
  --k-28a745-bg:#28a745;
  --k-2b303a-bg:#f6f7f8;
  --k-2d2a4a-bg:#ecebf4;
  --k-323743-ln:#d6d9e0;
  --k-333333-fg:#6b6b6b;
  --k-343a46-bg:#f6f7f8;
  --k-36cf92-bg:#36cf92;
  --k-3a4150-ln:#d6d9e1;
  --k-51cf66-bg:#51cf66;
  --k-51cf66-ln:#badec0;
  --k-5568d3-bg:#5568d3;
  --k-666666-fg:#6b6b6b;
  --k-8d90c0-fg:#464a91;
  --k-9e9e9e-bg:#9e9e9e;
  --k-aaaabb-fg:#5f5f77;
  --k-cfd2ff-fg:#000dd6;
  --k-d8d4ce-bg:#d8d4ce;
  --k-d8d4ce-ln:#dfdcd7;
  --k-e0a800-bg:#3b82f6;
  --k-eceef2-fg:#465f91;
  --k-f0b020-bg:#60a5fa;
  --k-f0b020-fg:#60a5fa;
  --k-f0b020-ln:#dbeafe;
  --k-f3f3f3-ln:#dbdbdb;
  --k-f5f7fa-bg:#f5f7fa;
  --k-fbbf24-bg:#fbbf24;
  --k-ff4757-bg:#ff4757;
  --k-ff4757-ln:#debabd;
  --k-ffc107-bg:#ffc107;
  --k-ffca3a-bg:#60a5fa;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
  --k-04130d-fg:#1b7e56;
  --k-1b1e25-bg:#f6f7f9;
  --k-1c1a17-fg:#766d61;
  --k-21252e-bg:#f6f7f9;
  --k-218838-bg:#ebf4ed;
  --k-23180a-fg:#64748b;
  --k-241a04-fg:#64748b;
  --k-28a745-bg:#28a745;
  --k-2b303a-bg:#f6f7f8;
  --k-2d2a4a-bg:#ecebf4;
  --k-323743-ln:#d6d9e0;
  --k-333333-fg:#6b6b6b;
  --k-343a46-bg:#f6f7f8;
  --k-36cf92-bg:#36cf92;
  --k-3a4150-ln:#d6d9e1;
  --k-51cf66-bg:#51cf66;
  --k-51cf66-ln:#badec0;
  --k-5568d3-bg:#5568d3;
  --k-666666-fg:#6b6b6b;
  --k-8d90c0-fg:#464a91;
  --k-9e9e9e-bg:#9e9e9e;
  --k-aaaabb-fg:#5f5f77;
  --k-cfd2ff-fg:#000dd6;
  --k-d8d4ce-bg:#d8d4ce;
  --k-d8d4ce-ln:#dfdcd7;
  --k-e0a800-bg:#3b82f6;
  --k-eceef2-fg:#465f91;
  --k-f0b020-bg:#60a5fa;
  --k-f0b020-fg:#60a5fa;
  --k-f0b020-ln:#dbeafe;
  --k-f3f3f3-ln:#dbdbdb;
  --k-f5f7fa-bg:#f5f7fa;
  --k-fbbf24-bg:#fbbf24;
  --k-ff4757-bg:#ff4757;
  --k-ff4757-ln:#debabd;
  --k-ffc107-bg:#ffc107;
  --k-ffca3a-bg:#60a5fa;
  }
}


/* GENERATED — colours inside JS-rendered markup (assets/js/*.js).
   Pop-ups are built from template literals with inline style attributes, so
   they never went through the CSS conversion and kept their dark styling while
   the page around them turned light. */
:root {
  --k-0e1b2c-bg:#0e1b2c;
  --k-14271e-bg:#14271e;
  --k-16181e-bg:#16181e;
  --k-16181e-fg:#16181e;
  --k-1a1206-fg:#f8fafc;
  --k-1b1e25-ln:#1b1e25;
  --k-1b7a3d-fg:#1b7a3d;
  --k-221d15-bg:#221d15;
  --k-22364d-ln:#22364d;
  --k-262a33-bg:#262a33;
  --k-262a33-ln:#262a33;
  --k-2c313b-ln:#2c313b;
  --k-2c4a70-ln:#2c4a70;
  --k-34d399-bg:#34d399;
  --k-3a1d22-bg:#3a1d22;
  --k-3a2f52-bg:#3a2f52;
  --k-5c2a32-ln:#5c2a32;
  --k-6a7180-fg:#6a7180;
  --k-7d8595-ln:#7d8595;
  --k-858d9c-fg:#858d9c;
  --k-959dac-fg:#959dac;
  --k-9db4f0-fg:#9db4f0;
  --k-a6adba-fg:#a6adba;
  --k-b03a2e-bg:#b03a2e;
  --k-b39ddb-ln:#b39ddb;
  --k-b6e3c4-ln:#b6e3c4;
  --k-cfd4dc-fg:#cfd4dc;
  --k-d9ccf5-fg:#d9ccf5;
  --k-e7e9ee-fg:#e7e9ee;
  --k-f0c000-ln:#3b82f6;
  --k-f0e2d0-ln:#f1f5f9;
  --k-f44336-ln:#f44336;
  --k-f87171-fg:#f87171;
  --k-fb7185-bg:#fb7185;
  --k-fbbf24-fg:#fbbf24;
  --k-fbbf24-ln:#fbbf24;
}

:root[data-theme="light"] {
  --k-0e1b2c-bg:#ebeff4;
  --k-14271e-bg:#ebf4f0;
  --k-16181e-bg:#f6f7f9;
  --k-16181e-fg:#465891;
  --k-1a1206-fg:#f8fafc;
  --k-1b1e25-ln:#d6d9e1;
  --k-1b7a3d-fg:#1c7d3f;
  --k-221d15-bg:#f3f1ec;
  --k-22364d-ln:#bacbde;
  --k-262a33-bg:#f6f7f8;
  --k-262a33-ln:#d6d9e1;
  --k-2c313b-ln:#d6dae0;
  --k-2c4a70-ln:#bacade;
  --k-34d399-bg:#34d399;
  --k-3a1d22-bg:#f4ebed;
  --k-3a2f52-bg:#eeecf4;
  --k-5c2a32-ln:#debac0;
  --k-6a7180-fg:#616775;
  --k-7d8595-ln:#d8dadf;
  --k-858d9c-fg:#606876;
  --k-959dac-fg:#466091;
  --k-9db4f0-fg:#1c48ba;
  --k-a6adba-fg:#466091;
  --k-b03a2e-bg:#b03a2e;
  --k-b39ddb-ln:#c7bade;
  --k-b6e3c4-ln:#badec5;
  --k-cfd4dc-fg:#466291;
  --k-d9ccf5-fg:#5123b3;
  --k-e7e9ee-fg:#465b91;
  --k-f0c000-ln:#bfdbfe;
  --k-f0e2d0-ln:#e2e8f0;
  --k-f44336-ln:#debdba;
  --k-f87171-fg:#cc0a0a;
  --k-fb7185-bg:#fb7185;
  --k-fbbf24-fg:#8c6603;
  --k-fbbf24-ln:#ded4ba;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
  --k-0e1b2c-bg:#ebeff4;
  --k-14271e-bg:#ebf4f0;
  --k-16181e-bg:#f6f7f9;
  --k-16181e-fg:#465891;
  --k-1a1206-fg:#f8fafc;
  --k-1b1e25-ln:#d6d9e1;
  --k-1b7a3d-fg:#1c7d3f;
  --k-221d15-bg:#f3f1ec;
  --k-22364d-ln:#bacbde;
  --k-262a33-bg:#f6f7f8;
  --k-262a33-ln:#d6d9e1;
  --k-2c313b-ln:#d6dae0;
  --k-2c4a70-ln:#bacade;
  --k-34d399-bg:#34d399;
  --k-3a1d22-bg:#f4ebed;
  --k-3a2f52-bg:#eeecf4;
  --k-5c2a32-ln:#debac0;
  --k-6a7180-fg:#616775;
  --k-7d8595-ln:#d8dadf;
  --k-858d9c-fg:#606876;
  --k-959dac-fg:#466091;
  --k-9db4f0-fg:#1c48ba;
  --k-a6adba-fg:#466091;
  --k-b03a2e-bg:#b03a2e;
  --k-b39ddb-ln:#c7bade;
  --k-b6e3c4-ln:#badec5;
  --k-cfd4dc-fg:#466291;
  --k-d9ccf5-fg:#5123b3;
  --k-e7e9ee-fg:#465b91;
  --k-f0c000-ln:#bfdbfe;
  --k-f0e2d0-ln:#e2e8f0;
  --k-f44336-ln:#debdba;
  --k-f87171-fg:#cc0a0a;
  --k-fb7185-bg:#fb7185;
  --k-fbbf24-fg:#8c6603;
  --k-fbbf24-ln:#ded4ba;
  }
}


/* GENERATED — colours set from JavaScript (el.style and template ternaries). */
:root {
  --k-2fbf86-fg:#2fbf86;
  --k-3a1f34-bg:#3a1f34;
  --k-f0c060-fg:#93c5fd;
  --k-f4b8e0-fg:#f4b8e0;
}
:root[data-theme="light"] {
  --k-2fbf86-fg:#1e7b56;
  --k-3a1f34-bg:#f4ebf2;
  --k-f0c060-fg:#1d4ed8;
  --k-f4b8e0-fg:#b91d85;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
  --k-2fbf86-fg:#1e7b56;
  --k-3a1f34-bg:#f4ebf2;
  --k-f0c060-fg:#1d4ed8;
  --k-f4b8e0-fg:#b91d85;
  }
}


/* GENERATED — the standalone pages at the project root: the sign-in screen,
   reconcile, set-targets, tree-viewer, reports-print and the letter
   acknowledgement page. These render outside dashboard.php and were never part
   of any theme at all. */
:root {
  --k-0d5a8f-bg:#0d5a8f;
  --k-0e639c-bg:#0e639c;
  --k-1177bb-bg:#1177bb;
  --k-15803d-fg:#15803d;
  --k-16794a-fg:#16794a;
  --k-16794a-ln:#16794a;
  --k-16825d-bg:#16825d;
  --k-16a34a-fg:#16a34a;
  --k-171a1f-fg:#171a1f;
  --k-1d4ed8-fg:#1d4ed8;
  --k-1e1e1e-bg:#1e1e1e;
  --k-1f2430-fg:#1f2430;
  --k-252526-bg:#252526;
  --k-2563eb-fg:#2563eb;
  --k-2c313b-bg:#2c313b;
  --k-2d2d30-bg:#2d2d30;
  --k-3e3e42-ln:#3e3e42;
  --k-4338ca-fg:#4338ca;
  --k-444444-fg:#444444;
  --k-4b5563-fg:#4b5563;
  --k-4ec9b0-fg:#4ec9b0;
  --k-4f46e5-bg:#4f46e5;
  --k-667eea-bg:#667eea;
  --k-667eea-fg:#667eea;
  --k-6b7178-fg:#6b7178;
  --k-6b7280-fg:#6b7280;
  --k-717a8c-fg:#717a8c;
  --k-7a5b12-fg:#1d4ed8;
  --k-7c7666-fg:#7c7666;
  --k-858585-fg:#858585;
  --k-8a9098-fg:#8a9098;
  --k-9a7b30-fg:#64748b;
  --k-9cdcfe-fg:#9cdcfe;
  --k-a8323f-ln:#a8323f;
  --k-b45309-fg:#b45309;
  --k-b91c1c-fg:#b91c1c;
  --k-c2410c-fg:#c2410c;
  --k-c7d2fe-ln:#c7d2fe;
  --k-cc3333-fg:#cc3333;
  --k-cdd2e0-ln:#cdd2e0;
  --k-d4d4d4-fg:#d4d4d4;
  --k-d8d4cc-ln:#d8d4cc;
  --k-d97706-fg:#d97706;
  --k-dbeafe-bg:#dbeafe;
  --k-dc2626-fg:#dc2626;
  --k-dcfce7-bg:#dcfce7;
  --k-e0f0e7-bg:#e0f0e7;
  --k-e3e0d9-ln:#e3e0d9;
  --k-e9e6dd-bg:#e9e6dd;
  --k-e9ebf1-ln:#e9ebf1;
  --k-ea580c-fg:#ea580c;
  --k-eef2ff-bg:#eef2ff;
  --k-f0f1f5-ln:#f0f1f5;
  --k-f4f5f9-bg:#f4f5f9;
  --k-f5d27a-ln:#93c5fd;
  --k-f6f5f2-bg:#f6f5f2;
  --k-f7f8fc-bg:#f7f8fc;
  --k-fca5a5-ln:#fca5a5;
  --k-fee2e2-bg:#fee2e2;
  --k-fef2f2-bg:#fef2f2;
  --k-fef3c7-bg:#fef3c7;
  --k-ffcccc-ln:#ffcccc;
  --k-ffedd5-bg:#ffedd5;
  --k-fff8e6-bg:#f8fafc;
  --k-fffefb-bg:#f8fafc;
}
:root[data-theme="light"] {
  --k-0d5a8f-bg:#0d5a8f;
  --k-0e639c-bg:#0e639c;
  --k-1177bb-bg:#1177bb;
  --k-15803d-fg:#147b3a;
  --k-16794a-fg:#16794a;
  --k-16794a-ln:#badecd;
  --k-16825d-bg:#16825d;
  --k-16a34a-fg:#117e39;
  --k-171a1f-fg:#466291;
  --k-1d4ed8-fg:#1944bd;
  --k-1e1e1e-bg:#f7f7f7;
  --k-1f2430-fg:#465c91;
  --k-252526-bg:#f7f7f7;
  --k-2563eb-fg:#124ac4;
  --k-2c313b-bg:#f6f7f8;
  --k-2d2d30-bg:#f7f7f8;
  --k-3e3e42-ln:#dadadc;
  --k-4338ca-fg:#362da9;
  --k-444444-fg:#6b6b6b;
  --k-4b5563-fg:#466591;
  --k-4ec9b0-fg:#267d6b;
  --k-4f46e5-bg:#4f46e5;
  --k-667eea-bg:#667eea;
  --k-667eea-fg:#1a37bc;
  --k-6b7178-fg:#656b71;
  --k-6b7280-fg:#626875;
  --k-717a8c-fg:#606777;
  --k-7a5b12-fg:#1d4ed8;
  --k-7c7666-fg:#767061;
  --k-858585-fg:#6b6b6b;
  --k-8a9098-fg:#646a72;
  --k-9a7b30-fg:#64748b;
  --k-9cdcfe-fg:#0271ac;
  --k-a8323f-ln:#debabe;
  --k-b45309-fg:#af5109;
  --k-b91c1c-fg:#ba1c1c;
  --k-c2410c-fg:#c0400c;
  --k-c7d2fe-ln:#bac1de;
  --k-cc3333-fg:#ab2b2b;
  --k-cdd2e0-ln:#c0c6d8;
  --k-d4d4d4-fg:#6b6b6b;
  --k-d8d4cc-ln:#e0ddd7;
  --k-d97706-fg:#a95d05;
  --k-dbeafe-bg:#dbeafe;
  --k-dc2626-fg:#b81e1e;
  --k-dcfce7-bg:#dcfce7;
  --k-e0f0e7-bg:#e0f0e7;
  --k-e3e0d9-ln:#e1ddd6;
  --k-e9e6dd-bg:#e9e6dd;
  --k-e9ebf1-ln:#c1c6d7;
  --k-ea580c-fg:#c2490a;
  --k-eef2ff-bg:#eef2ff;
  --k-f0f1f5-ln:#c2c6d6;
  --k-f4f5f9-bg:#f4f5f9;
  --k-f5d27a-ln:#bfdbfe;
  --k-f6f5f2-bg:#f6f5f2;
  --k-f7f8fc-bg:#f7f8fc;
  --k-fca5a5-ln:#debaba;
  --k-fee2e2-bg:#fee2e2;
  --k-fef2f2-bg:#fef2f2;
  --k-fef3c7-bg:#fef3c7;
  --k-ffcccc-ln:#debaba;
  --k-ffedd5-bg:#ffedd5;
  --k-fff8e6-bg:#f8fafc;
  --k-fffefb-bg:#f8fafc;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
  --k-0d5a8f-bg:#0d5a8f;
  --k-0e639c-bg:#0e639c;
  --k-1177bb-bg:#1177bb;
  --k-15803d-fg:#147b3a;
  --k-16794a-fg:#16794a;
  --k-16794a-ln:#badecd;
  --k-16825d-bg:#16825d;
  --k-16a34a-fg:#117e39;
  --k-171a1f-fg:#466291;
  --k-1d4ed8-fg:#1944bd;
  --k-1e1e1e-bg:#f7f7f7;
  --k-1f2430-fg:#465c91;
  --k-252526-bg:#f7f7f7;
  --k-2563eb-fg:#124ac4;
  --k-2c313b-bg:#f6f7f8;
  --k-2d2d30-bg:#f7f7f8;
  --k-3e3e42-ln:#dadadc;
  --k-4338ca-fg:#362da9;
  --k-444444-fg:#6b6b6b;
  --k-4b5563-fg:#466591;
  --k-4ec9b0-fg:#267d6b;
  --k-4f46e5-bg:#4f46e5;
  --k-667eea-bg:#667eea;
  --k-667eea-fg:#1a37bc;
  --k-6b7178-fg:#656b71;
  --k-6b7280-fg:#626875;
  --k-717a8c-fg:#606777;
  --k-7a5b12-fg:#1d4ed8;
  --k-7c7666-fg:#767061;
  --k-858585-fg:#6b6b6b;
  --k-8a9098-fg:#646a72;
  --k-9a7b30-fg:#64748b;
  --k-9cdcfe-fg:#0271ac;
  --k-a8323f-ln:#debabe;
  --k-b45309-fg:#af5109;
  --k-b91c1c-fg:#ba1c1c;
  --k-c2410c-fg:#c0400c;
  --k-c7d2fe-ln:#bac1de;
  --k-cc3333-fg:#ab2b2b;
  --k-cdd2e0-ln:#c0c6d8;
  --k-d4d4d4-fg:#6b6b6b;
  --k-d8d4cc-ln:#e0ddd7;
  --k-d97706-fg:#a95d05;
  --k-dbeafe-bg:#dbeafe;
  --k-dc2626-fg:#b81e1e;
  --k-dcfce7-bg:#dcfce7;
  --k-e0f0e7-bg:#e0f0e7;
  --k-e3e0d9-ln:#e1ddd6;
  --k-e9e6dd-bg:#e9e6dd;
  --k-e9ebf1-ln:#c1c6d7;
  --k-ea580c-fg:#c2490a;
  --k-eef2ff-bg:#eef2ff;
  --k-f0f1f5-ln:#c2c6d6;
  --k-f4f5f9-bg:#f4f5f9;
  --k-f5d27a-ln:#bfdbfe;
  --k-f6f5f2-bg:#f6f5f2;
  --k-f7f8fc-bg:#f7f8fc;
  --k-fca5a5-ln:#debaba;
  --k-fee2e2-bg:#fee2e2;
  --k-fef2f2-bg:#fef2f2;
  --k-fef3c7-bg:#fef3c7;
  --k-ffcccc-ln:#debaba;
  --k-ffedd5-bg:#ffedd5;
  --k-fff8e6-bg:#f8fafc;
  --k-fffefb-bg:#f8fafc;
  }
}


/* GENERATED — solid buttons. A purple fill with white text is chosen as a pair,
   for contrast with each other rather than with the page, so neither half may
   follow the theme. Identical in both. */
:root {
  --k-1a1206-on:#ffffff;
  --k-4f46e5-onbg:#4338ca;
  --k-667eea-onbg:#5a6fd8;
  --k-f0b020-onbg:#2563eb;
  --k-ffffff-on:#ffffff;
}
