/* =====================================================================
 * report-base.css — universal TOKEN vocabulary shared by EVERY report.
 *
 * Canonical source of the brand/data-viz tokens (Logic/style_guide.md
 * §6 + §11 + §11.4). Served at /assets/report-base.css and linked from
 * every Reports/*.html <head>. It defines ONLY :root custom properties —
 * no element/class rules — so linking it can never restyle anything a
 * report didn't already opt into via var(); it is safe to add anywhere.
 *
 * The reset / body font / ::selection / lang-switch live in
 * report-finance.css (linked by the finance family), NOT here, because
 * a shared `body { font: 14px … }` would clobber the room/timetable
 * family, whose <body> intentionally omits a font-size.
 *
 * Token values match the finance-family reports. The room/timetable
 * family carries a small inline :root with a couple of locally-tuned
 * values (e.g. --bg, --ink) that override the ones below — leave those
 * inline. Report-specific tokens (e.g. dept_allocation's retired
 * --current) also stay inline per report.
 *
 * The ONE element rule here (`body { font-family }`) is deliberate: the CU
 * official corporate font (ChulaCharasNew, style guide §10) is specified
 * once, in CSS, via --font-sans — reports reference var(--font-sans) rather
 * than hardcoding the family stack inline. Reports still set their own
 * font-size / line-height; only the family cascades from here.
 * ===================================================================== */
:root {
  /* Typography — CU official corporate font (Logic/style_guide.md §10).
     ChulaCharasNew (จุฬาจรัสใหม่) is vendored at /assets/vendor/chula-charas.css. */
  --font-sans: 'ChulaCharasNew', -apple-system, "Segoe UI", "Sarabun", "Noto Sans Thai", Roboto, sans-serif;
  --font-mono: ui-monospace, "Menlo", "Consolas", monospace;

  /* Brand tokens — Logic/style_guide.md §6 */
  --brand-primary:      #DE5C8E;  /* CU Pink */
  --brand-primary-dim:  #AB5814;  /* CU Copper */
  --brand-primary-ink:  #ffffff;
  --brand-accent:       #FFD100;  /* Faculty Yellow */
  --brand-accent-soft:  #F8E1EA;  /* CU Light Pink */
  --brand-secondary:    #AB5814;
  --brand-gold:         #E9C869;
  --brand-grey:         #58595B;

  /* Chrome */
  --bg:#fafaf7; --panel:#ffffff; --border:#e3e3df; --text:#1c1c1c; --muted:#6b6b66;
  --row-alt:#fafaf7; --th-bg:#f2efe9;

  /* Legacy chrome aliases — rules reading var(--accent) etc. pick up the
     brand colors. */
  --accent:#DE5C8E; --accent-soft:#F8E1EA;
  --grad:#2e6b8c; --grad-soft:#e6eef4;
  --accent-grad:#2e6b8c; --accent-grad-soft:#e6eef4;
  --dept:#2c5a3a; --dept-soft:#e3eee5;
  --central:#7a3b2e; --central-soft:#f4e8e6;
  --proposed:#2c5a3a;
  --warn:#c4361c; --warn-soft:#fae3de;
  --good:#2c6b3a; --good-soft:#e0eee2;
  --danger:#b3261e;

  /* Compact aliases used by the room/timetable family (same hex). */
  --pink:#DE5C8E; --copper:#AB5814; --yellow:#FFD100; --grey:#58595B;
  --lightpink:#F8E1EA; --gold:#E9C869;

  /* Cascade node hues — Logic/style_guide.md §11.1 */
  --lec:#3a5a8c; --lec-soft:#e2eaf2;
  --lab:#8c5a3a; --lab-soft:#f2eae2;
  --curr:#3a7a8c; --curr-soft:#dfecf0;
  --it:#7a7a2e; --it-soft:#efefd0;
  --af:#7a3a5a; --af-soft:#f0dde6;
  --ut:#5a6b8c; --ut-soft:#dde2ec;
  --in-fac:#7a6b2e; --in-fac-soft:#f4ecd8;
  --out-fac:#5a3b7a; --out-fac-soft:#ece0f0;

  /* D_CODE department colors — Logic/style_guide.md §11.4 (canonical). */
  --dcode-2300:#6e6e73; --dcode-2301:#3b6fb0; --dcode-2302:#e07d1a;
  --dcode-2303:#4c9f4c; --dcode-2304:#d64550; --dcode-2305:#0f9a92;
  --dcode-2306:#c99411; --dcode-2307:#8e5ea8; --dcode-2308:#e0699f;
  --dcode-2309:#a35f34; --dcode-2310:#2f9fc4; --dcode-2311:#7d8a26;
  --dcode-2312:#2f8f6f; --dcode-2313:#b0479b; --dcode-2314:#5b6bbf;
}

/* Canonical body font-family (see header note). Reports link this file, so the
   CU font is applied everywhere without hardcoding the stack inline. */
body { font-family: var(--font-sans); }
