/* ============================================================
   ЧС-Портал — дизайн-токены (единственный источник цвета/геометрии)
   Правило: компоненты, AG Grid и Bootstrap не хардкодят HEX —
   только var(--chs-*). Светлая тема — единственная в MVP.
   ============================================================ */

:root {
    /* --- Акцент (гос-синий) --- */
    --chs-accent: #0B4A7E;
    --chs-accent-strong: #093B65;
    --chs-accent-ink: #063356;
    --chs-accent-tint: #E8F0F8;
    --chs-link: #0B4A7E;
    --chs-link-hover: #063356;

    /* --- Фоны, поверхности, текст --- */
    --chs-bg: #F5F7FA;
    --chs-surface: #FFFFFF;
    --chs-surface-2: #EEF1F5;
    --chs-hairline: #E2E6EC;
    --chs-text: #14181F;
    --chs-text-secondary: #4B5563;
    --chs-text-tertiary: #5C6470;
    --chs-text-inverse: #FFFFFF;
    --chs-empty: #8A93A0; /* только для декоративного «—», не для читаемого текста */

    /* --- Ось A: статус дома --- */
    --chs-st-loss-fg: #A5342A;
    --chs-st-loss-bg: #FBEDEA;
    --chs-st-repair-fg: #8A5200;
    --chs-st-repair-bg: #FFF6E6;
    --chs-st-unknown-fg: #5B6470;
    --chs-st-unknown-bg: #F2F4F7;

    /* --- Ось B: регистрация права ОКС / КУ ЗУ --- */
    --chs-st-registered-fg: #1F7A43;
    --chs-st-registered-bg: #EAF5EE;
    --chs-st-inprogress-fg: #8A5200;
    --chs-st-inprogress-bg: #FFF6E6;
    --chs-st-absent-fg: #5B6470;
    --chs-st-absent-bg: #F2F4F7;
    --chs-st-problem-fg: #A5342A;
    --chs-st-problem-bg: #FBEDEA;

    /* --- Ось C: статус заявления --- */
    --chs-app-new-fg: #235C93;
    --chs-app-new-bg: #EAF0F9;
    --chs-app-registered-fg: #234C8A;
    --chs-app-registered-bg: #EAEEF6;
    --chs-app-review-fg: #8A5200;
    --chs-app-review-bg: #FFF6E6;
    --chs-app-processed-fg: #067647;
    --chs-app-processed-bg: #EAF5EE;
    --chs-app-refused-fg: #6B3FA0; /* фиолетово-правовой, не путать с «Утратой» */
    --chs-app-refused-bg: #F1ECF9;
    --chs-app-draft-fg: #5B6470;
    --chs-app-draft-bg: #F2F4F7;

    /* --- Ось D: маршрут дела / суд --- */
    --chs-route-registry-fg: #5B6470;
    --chs-route-registry-bg: #F2F4F7;
    --chs-route-court-fg: #6B3FA0;
    --chs-route-court-bg: #F1ECF9;
    --chs-route-satisfied-fg: #067647;
    --chs-route-satisfied-bg: #EAF5EE;
    --chs-route-denied-fg: #A5342A;
    --chs-route-denied-bg: #FBEDEA;
    --chs-route-fund-fg: #1F7A6B;
    --chs-route-fund-bg: #E7F3F0;
    --chs-route-done-fg: #1F7A43;
    --chs-route-done-bg: #EAF5EE;

    /* --- Помощь и выплаты --- */
    --chs-help-state-fg: #235C93;
    --chs-help-state-bg: #EAF0F9;
    --chs-help-fund-fg: #1F7A6B;
    --chs-help-fund-bg: #E7F3F0;
    --chs-pay-draft-fg: #5B6470;
    --chs-pay-draft-bg: #F2F4F7;
    --chs-pay-accrued-fg: #8A5200;
    --chs-pay-accrued-bg: #FFF6E6;
    --chs-pay-paid-fg: #067647;
    --chs-pay-paid-bg: #EAF5EE;
    --chs-pay-rejected-fg: #A5342A;
    --chs-pay-rejected-bg: #FBEDEA;

    /* --- Служебные статусные --- */
    --chs-amber-fg: #8A5200;
    --chs-amber-surface: #FFF6E6;
    --chs-conflict-fg: #8A5200;
    --chs-conflict-border: #C77A17;
    --chs-status-unknown: #5B6470;
    --chs-warn-soft: #FFF4E0;
    --chs-completeness-full: #1F7A43;
    --chs-completeness-part: #8A5200;
    --chs-completeness-low: #A5342A;

    /* --- Геометрия, тени --- */
    --chs-radius-sm: 10px;
    --chs-radius-btn: 10px;
    --chs-radius-card: 14px;
    --chs-radius-md: 16px;
    --chs-radius-chip: 999px;
    --chs-space-1: 4px;
    --chs-space-2: 8px;
    --chs-space-3: 12px;
    --chs-space-4: 16px;
    --chs-space-5: 24px;
    --chs-space-6: 32px;
    --chs-space-7: 48px;
    --chs-space-8: 64px;
    --chs-elev-1: 0 1px 2px rgba(6, 51, 86, .05), 0 2px 8px rgba(6, 51, 86, .04);
    --chs-elev-2: 0 2px 4px rgba(6, 51, 86, .07), 0 6px 16px rgba(6, 51, 86, .06);
    --chs-elev-3: 0 4px 8px rgba(6, 51, 86, .08), 0 12px 32px rgba(6, 51, 86, .10);
    --chs-elev-4: 0 6px 12px rgba(6, 51, 86, .10), 0 20px 48px rgba(6, 51, 86, .14);
    --chs-frost-bg: rgba(245, 247, 250, .92);
    --chs-frost-blur: blur(12px) saturate(1.4);
    --chs-header-h: 64px;

    /* --- Типографика --- */
    --chs-font: 'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --chs-fs-h1: clamp(1.5rem, 1.2rem + 1vw, 1.75rem);
    --chs-fs-h2: clamp(1.25rem, 1.1rem + .6vw, 1.4rem);
    --chs-fs-h3: 1rem;
    --chs-fs-body: 15px;
    --chs-fs-grid: 14px;
    --chs-fs-label: 13px;

    /* --- Формы и фокус --- */
    --chs-input-h: 46px;
    --chs-input-border: #CFD6DE;
    --chs-focus-ring: 0 0 0 4px rgba(11, 74, 126, .15);

    /* --- Строки грида --- */
    --chs-row-hover: #EEF3F8;
    --chs-row-selected: #CADFF4;
    --chs-row-alt: #FAFBFC;
    --chs-grid-header: #EEF1F5;
}

/* --- Мост с Bootstrap 5: один источник правды --- */
:root {
    --bs-primary: var(--chs-accent);
    --bs-primary-rgb: 11, 74, 126;
    --bs-link-color: var(--chs-link);
    --bs-link-hover-color: var(--chs-link-hover);
    --bs-body-color: var(--chs-text);
    --bs-body-bg: var(--chs-bg);
    --bs-border-color: var(--chs-hairline);
    --bs-border-radius: var(--chs-radius-btn);
    --bs-focus-ring-color: rgba(11, 74, 126, .15);
    --bs-font-sans-serif: var(--chs-font);
}

body {
    font-family: var(--chs-font);
    font-size: var(--chs-fs-body);
    color: var(--chs-text);
    background: var(--chs-bg);
}

.btn-primary {
    --bs-btn-bg: var(--chs-accent);
    --bs-btn-border-color: var(--chs-accent);
    --bs-btn-hover-bg: var(--chs-accent-strong);
    --bs-btn-hover-border-color: var(--chs-accent-strong);
    --bs-btn-active-bg: var(--chs-accent-strong);
    --bs-btn-active-border-color: var(--chs-accent-strong);
}

.form-control, .form-select {
    border-color: var(--chs-input-border);
}

.form-control:focus, .form-select:focus {
    box-shadow: var(--chs-focus-ring);
    border-color: var(--chs-accent);
}

:focus-visible {
    outline: 2px solid var(--chs-accent);
    outline-offset: 2px;
}
