/* === THEME.CSS === public/assets/css/theme.css — CSS переменные dark/light, ~120 строк */

:root {
    --bg-primary:    oklch(12% 0.01 260);
    --bg-secondary:  oklch(16% 0.012 260);
    --card-bg:       oklch(18% 0.013 260);
    --card-bg-hover: oklch(21% 0.015 260);

    --border-color:  oklch(28% 0.015 260);
    --border-focus:  oklch(60% 0.18 220);

    --text-primary:  oklch(92% 0.005 260);
    --text-secondary:oklch(70% 0.01 260);
    --text-muted:    oklch(50% 0.01 260);

    --color-success: oklch(70% 0.18 155);
    --color-warning: oklch(75% 0.18 80);
    --color-danger:  oklch(62% 0.22 28);
    --color-info:    oklch(68% 0.18 220);
    --color-neutral: oklch(55% 0.01 260);

    --color-accent:  oklch(65% 0.2 220);

    --font-body:  'JetBrains Mono', 'Fira Code', monospace;
    --font-ui:    'Inter', system-ui, sans-serif;

    --radius-sm: 4px;
    --radius-md: 6px;
    --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
}

html.light-theme {
    --bg-primary:    oklch(96% 0.005 260);
    --bg-secondary:  oklch(92% 0.008 260);
    --card-bg:       oklch(100% 0 0);
    --card-bg-hover: oklch(95% 0.006 260);

    --border-color:  oklch(82% 0.01 260);
    --border-focus:  oklch(50% 0.18 220);

    --text-primary:  oklch(15% 0.01 260);
    --text-secondary:oklch(35% 0.01 260);
    --text-muted:    oklch(55% 0.01 260);

    --color-success: oklch(48% 0.18 155);
    --color-warning: oklch(52% 0.18 80);
    --color-danger:  oklch(48% 0.22 28);
    --color-info:    oklch(50% 0.18 220);
    --color-neutral: oklch(50% 0.01 260);
    --color-accent:  oklch(45% 0.2 220);
}

/* Status colors */
.status-NEW        { color: var(--color-info); }
.status-TRANSCRIBED{ color: var(--color-warning); }
.status-ANALYZED   { color: var(--color-success); }
.status-ERROR      { color: var(--color-danger); }

.severity-low      { color: var(--color-info); }
.severity-medium   { color: var(--color-warning); }
.severity-high     { color: oklch(65% 0.22 50); }
.severity-critical { color: var(--color-danger); }

/* Status badges */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    white-space: nowrap;
}
.badge-new        { background: color-mix(in oklch, var(--color-info) 15%, transparent);     color: var(--color-info); }
.badge-transcribed{ background: color-mix(in oklch, var(--color-warning) 15%, transparent);  color: var(--color-warning); }
.badge-analyzed   { background: color-mix(in oklch, var(--color-success) 15%, transparent);  color: var(--color-success); }
.badge-error      { background: color-mix(in oklch, var(--color-danger) 15%, transparent);   color: var(--color-danger); }

.badge-low        { background: color-mix(in oklch, var(--color-info) 15%, transparent);     color: var(--color-info); }
.badge-medium     { background: color-mix(in oklch, var(--color-warning) 15%, transparent);  color: var(--color-warning); }
.badge-high       { background: color-mix(in oklch, oklch(65% 0.22 50) 15%, transparent);    color: oklch(65% 0.22 50); }
.badge-critical   { background: color-mix(in oklch, var(--color-danger) 15%, transparent);   color: var(--color-danger); }

/* Светофор оценок звонков (score_int 0-100, пороги 70/50) */
.badge-score-green  { background: color-mix(in oklch, var(--color-success) 22%, transparent); color: var(--color-success); font-weight: 700; }
.badge-score-yellow { background: color-mix(in oklch, var(--color-warning) 22%, transparent); color: var(--color-warning); font-weight: 700; }
.badge-score-red    { background: color-mix(in oklch, var(--color-danger)  22%, transparent); color: var(--color-danger);  font-weight: 700; }

/* Горячий / холодный callback */
.badge-callback-hot  { background: color-mix(in oklch, var(--color-danger) 18%, transparent);  color: var(--color-danger);  font-weight: 700; }
.badge-callback-cold { background: color-mix(in oklch, var(--text-muted) 20%, transparent);     color: var(--text-secondary); }
