:root {
    --color-paper: oklch(98% 0.008 255);
    --color-surface: oklch(100% 0 0);
    --color-surface-muted: oklch(96% 0.012 255);
    --color-ink: oklch(22% 0.025 255);
    --color-muted: oklch(48% 0.025 255);
    --color-rule: oklch(89% 0.014 255);
    --color-rule-strong: oklch(76% 0.025 255);
    --color-accent: oklch(48% 0.22 260);
    --color-accent-strong: oklch(39% 0.2 260);
    --color-accent-soft: oklch(93% 0.04 260);
    --color-accent-ink: oklch(100% 0 0);
    --color-focus: oklch(50% 0.23 260);
    --color-success: oklch(48% 0.13 155);
    --color-success-soft: oklch(95% 0.035 155);
    --color-error: oklch(50% 0.19 25);
    --color-error-soft: oklch(96% 0.035 25);
    --color-provider: oklch(66% 0.17 305);
    --color-provider-strong: oklch(42% 0.17 305);
    --color-provider-soft: oklch(94% 0.035 305);
    --color-software-house: oklch(72% 0.15 75);
    --color-software-house-strong: oklch(45% 0.11 65);
    --color-software-house-soft: oklch(95% 0.045 80);
    --color-client-demo: oklch(64% 0.18 250);
    --color-client-demo-strong: oklch(42% 0.18 255);
    --color-client-demo-soft: oklch(94% 0.04 250);
    --color-sidebar: oklch(19% 0.025 255);
    --color-sidebar-rule: oklch(32% 0.025 255);
    --color-sidebar-hover: oklch(27% 0.025 255);
    --color-sidebar-muted: oklch(78% 0.02 255);
    --font-display: "Bahnschrift", "Arial Narrow", sans-serif;
    --font-body: "Segoe UI Variable Text", "Segoe UI", sans-serif;
    --font-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
    --space-xs: .25rem;
    --space-sm: .5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-base: 1rem;
    --text-xl: 1.375rem;
    --text-3xl: clamp(2rem, 4vw, 3rem);
    --control-height: 2.75rem;
    --radius-sm: .375rem;
    --radius-md: .625rem;
    --radius-round: 999px;
    --rule-thin: 1px;
    --rule-focus: 2px;
    --rule-accent: 3px;
    --dur-fast: 120ms;
    --dur-reduced: 80ms;
    --ease-out: cubic-bezier(.16, 1, .3, 1);
}

/* === Messivo — sistema di design del restyling (Fase 1) ===
 * Vedi "# Messivo design overhaul/design_handoff_messivo_restyling/README.md" per i valori
 * sorgente. Namespace separato (--msv-*) per non toccare i token sopra, ancora consumati dalle
 * schermate non ancora ridisegnate. Le pagine future leggono queste variabili stando dentro un
 * antenato con classe .theme-dark o .theme-light (vedi app.css, blocco "Messivo — shell").
 * Raggi/gap/durata/easing condivisi tra i due temi vivono qui a livello :root; --dur-fast e
 * --ease-out sopra hanno già lo stesso valore richiesto dalla spec e vengono riusati as-is.
 */
:root {
    --msv-radius-control: 8px;
    --msv-radius-card: 10px;
    --msv-radius-bubble: 14px;
    --msv-radius-pill: 20px;
    --msv-gap-card: 12px;
    --msv-gap-list: 9px;
}

/* Sistema Dark — app tenant (inbox, template, attivazione numero) + login/selettore spazio. */
.theme-dark {
    --msv-bg: #0d1013;
    --msv-surface: #12181b;
    --msv-surface-alt: #0f1417;
    --msv-bubble-in: #181f24;
    --msv-bubble-out: #1d4d3c;
    --msv-bubble-out-ink: #e8fbf2;
    --msv-border: #1e2529;
    --msv-border-subtle: #151b1f;
    --msv-border-focus: #2a4b3e;
    --msv-text-primary: #e7edef;
    --msv-text-secondary: #8d9ba1;
    --msv-text-tertiary: #6d7c82;
    --msv-text-disabled: #5f6d73;
    --msv-accent: #4ade9f;
    --msv-accent-ink: #062015;
    --msv-accent-soft: #16211d;
    --msv-success: var(--msv-accent);
    --msv-success-bg: var(--msv-accent-soft);
    --msv-warning: #f5b544;
    --msv-warning-bg: #1f1c14;
    --msv-error: #f2705e;
    --msv-error-bg: #20140f;
    --msv-error-border: #3a231f;
    --msv-neutral-dot: var(--msv-text-disabled);
    --msv-avatar-active-bg: #1d3b31;
    --msv-avatar-active-ink: #4ade9f;
    --msv-avatar-neutral-bg: #1a2126;
    --msv-avatar-neutral-ink: #93a1a7;
    --msv-logo-gradient: linear-gradient(140deg, #4ade9f, #22b481);
    --msv-sidebar-bg: #090b0d;
    --msv-sidebar-border: #1e2529;
    --msv-sidebar-ink: #e7edef;
    --msv-sidebar-ink-muted: #8d9ba1;
    --msv-sidebar-hover-bg: #12181b;
    --msv-sidebar-active-bg: #16211d;
    --msv-sidebar-active-ink: #4ade9f;
    --msv-action-primary-bg: var(--msv-accent);
    --msv-action-primary-ink: var(--msv-accent-ink);
    --msv-font-display: "Manrope", "Segoe UI Variable Text", "Segoe UI", sans-serif;
    --msv-font-mono: "IBM Plex Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

/* Sistema Light Technical — console provider (panoramica, tenant, config Meta, log). */
.theme-light {
    --msv-bg: #f6f6f3;
    --msv-surface: #ffffff;
    --msv-surface-alt: #faf9f6;
    --msv-border: #e6e5e0;
    --msv-border-subtle: #f4f3ef;
    --msv-border-focus: #17191c;
    --msv-text-primary: #17191c;
    --msv-text-secondary: #5f6663;
    --msv-text-tertiary: #8a918d;
    --msv-text-disabled: #a2b0b8;
    --msv-accent: #2ec27e;
    --msv-accent-ink: #ffffff;
    --msv-accent-soft: rgba(46, 194, 126, .14);
    --msv-success: #0f7a52;
    --msv-success-bg: #e6f6ee;
    --msv-warning: #a8620a;
    --msv-warning-bg: #fdf3e3;
    --msv-warning-border: #f0d6a8;
    --msv-warning-row: #fffbf2;
    --msv-error: #b0392c;
    --msv-error-bg: #fdece8;
    --msv-error-row: #fffaf8;
    --msv-neutral-dot: #a2b0b8;
    --msv-sidebar-bg: #101312;
    --msv-sidebar-border: #1a1f1e;
    --msv-sidebar-ink: #dfe6e4;
    --msv-sidebar-ink-muted: #98a4a1;
    --msv-sidebar-hover-bg: #1a1f1e;
    --msv-sidebar-active-bg: rgba(46, 194, 126, .14);
    --msv-sidebar-active-ink: #2ec27e;
    --msv-action-primary-bg: #17191c;
    --msv-action-primary-ink: #ffffff;
    --msv-font-display: "Archivo", "Segoe UI Variable Text", "Segoe UI", sans-serif;
    --msv-font-mono: "JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}
