/* Design tokens for the new portal (pricing_settings / pricing_detail / pricing_presets).
 * Single source of truth — loaded by every new-portal page before its page CSS.
 * The old portal (index.html / styles.css) is NOT affected and does not load this file.
 *
 * Superset of all three page token blocks; page CSS may add page-specific tokens
 * locally but must NOT redefine anything here without overriding the whole file.
 */

:root {
  /* ---- surfaces ---- */
  --canvas: #ffffff;
  --page: #f1f2f4;
  --surface: #f7f8fa;

  /* ---- ink ---- */
  --ink: #1c1d21;
  --ink2: #5b6470;
  --muted: #6e7680;    /* meaningful small text — AA 4.6:1 on white */
  --faint: #8a929c;    /* decoration (separators) and disabled ONLY */

  /* ---- lines ---- */
  --hair: #e6e8ec;
  --hair2: #eef0f2;

  /* ---- accent — portal blue, one flat color, no gradients ---- */
  --accent: #0f5fb8;
  --accent-700: #0a4e98;
  --accent-soft: #e8f1ff;
  --focus: var(--accent);

  /* ---- single shadow tier — popovers / dropdowns only ---- */
  --shadow-pop: 0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 6px rgba(0, 0, 0, 0.04),
    0 4px 8px rgba(0, 0, 0, 0.10);

  /* ---- semantic colors ---- */
  --up: #1c7a43;
  --down: #b3361f;
  --status-mgmt: #0e7c74;    /* chip «В управлении» */
  --own-price: #0e7c74;      /* «своя цена ₽» — separate role from status chip */
  --own-price-ink: #0a5f59;
  --status-work: #8a6508;    /* chip «В работе» (5.3:1 under white text) */
  --status-none: #be185d;    /* «Не настроен» — требует внимания (5.0:1 under white text) */
  --status-none-soft: #fdf2f8;  /* soft rose fill — chip idle */
  --status-none-soft2: #fbe6f0; /* soft rose fill — chip hover */
  --status-none-line: #f3c6dd;  /* soft rose border */
  --rail-faint-ready: #b9d3ef; /* calm row rail — «Настроен» */
  --rail-faint-mgmt:  #a9d6d1; /* calm row rail — «В управлении» */
  --grp: #7a4fb0;            /* value source = group */
  --grp-soft: #f6f1fb;

  /* staged/unsaved-session accent — DISTINCT from --grp so a pending edit
     never reads as group-sourced */
  --pending: #c2410c;
  --pending-soft: #fdeee6;

  /* ---- table / occupancy tokens (pricing_settings) ---- */
  --occ-lo-ink: #b3361f;  --occ-lo-bg: #f7e7e2;
  --occ-md-ink: #8a6508;  --occ-md-bg: #f9f1e2;
  --occ-hi-ink: #1c7a43;  --occ-hi-bg: #e6f0ea;
  --delta-up: var(--up);
  --delta-down: var(--down);
  --row-sel-bg: var(--accent-soft);

  /* ---- histogram + day markers (pricing_detail) ---- */
  --bar-auto: #d7dee9;
  --bar-shift: #9db8e8;
  --bar-own: #bfe0db;
  --mark-min-bg: #f7e7e2;
  --mark-own-bg: #d9f0eb;

  /* demand tints + 2px bottom edges */
  --dem-low: #dde4ee;
  --dem-calm: #ffffff;
  --dem-high: #e6f0ea;
  --dem-peak: #f6e3bf;
  --dem-book: #eceae3;
  --dem-edge-low: #5b7392;
  --dem-edge-high: #1c7a43;
  --dem-edge-peak: #b45309;

  /* ---- presets-page warning / ok tokens ---- */
  --warn-ink: #8a6508;
  --warn-bg: #f9f1e2;
  --ok-bg: #e6f0ea;

  /* ---- radii ---- */
  --r-xs: 4px;
  --r-sm: 6px;
  --r: 8px;
  --r-lg: 12px;

  /* ---- type scale — no bare px sizes outside this block ---- */
  --fs-105: 10.5px;
  --fs-11: 11px;
  --fs-12: 12px;
  --fs-125: 12.5px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-18: 18px;
  --fs-21: 21px;
}
