:root {
    /* ── Colors & Backgrounds ────────────────────────────────── */
    --background-color: #fffdfc;
    --body-background: #f6f4f0;

    /* ── Gradienti Principali (brand invariato, transizioni ammorbidite) ── */
    --gradient-primary: linear-gradient(135deg, #c02f39 0%, #9a2a86 55%, #7b1fa2 100%);
    --gradient-primary-hover: linear-gradient(135deg, #cf4250 0%, #a9359d 55%, #8c2db5 100%);

    --gradient-warning: linear-gradient(135deg, #e07f1f 0%, #e9c51f 100%);
    --gradient-warning-hover: linear-gradient(135deg, #ee8f2e 0%, #f2d23a 100%);

    --gradient-danger: linear-gradient(135deg, #b72e36 0%, #dd4a3c 100%);
    --gradient-danger-hover: linear-gradient(135deg, #c94141 0%, #ec5d4d 100%);

    --gradient-success: linear-gradient(135deg, #1a6b3c 0%, #31b96f 100%);
    --gradient-success-hover: linear-gradient(135deg, #218047 0%, #41cf83 100%);

    --gradient-info: linear-gradient(135deg, #0f5aa8 0%, #6fc6e2 100%);
    --gradient-info-hover: linear-gradient(135deg, #1d68b8 0%, #85d7f0 100%);

    /* ── Gradienti Specifici Pulsanti Tabella ────────────────── */
    --gradient-table-download: linear-gradient(135deg, #2bab82 0%, #1899b4 100%);
    --gradient-table-print: linear-gradient(135deg, #2a8aa3 0%, #7b1fa2 100%);
    --gradient-table-reset: linear-gradient(135deg, #e07f1f 0%, #b72e36 100%);

    /* ── Alias Brand ─────────────────────────────────────────── */
    --gradient-brand: var(--gradient-primary);
    --gradient-midnight: linear-gradient(160deg, #221e2e 0%, #2e2340 55%, #1e2c3d 100%);

    /* ── Colori Solidi ───────────────────────────────────────── */
    --primary-color: #b72e36;
    --primary-color-lighter: #cf4450;
    --primary-color-darker: #8e1f28;

    --success-color: #27a968;
    --success-color-darker: #176437;

    --warning-color: #dd7d1c;
    --warning-color-darker: #9a5a12;

    --danger-color: #d84a3c;
    --danger-color-darker: #8f2318;

    --info-color: #1a62ab;
    --info-color-lighter: #2f7cc4;
    --info-color-darker: #0f4a82;
    --info-color-light-bg: #e7f0f9;

    /* ── RGB per trasparenze ─────────────────────────────────── */
    --primary-rgb: 183, 46, 54;
    --success-rgb: 39, 169, 104;
    --warning-rgb: 221, 125, 28;
    --danger-rgb: 216, 74, 60;
    --info-rgb: 26, 98, 171;
    --success-dark-rgb: 23, 100, 55;
    --warning-dark-rgb: 154, 90, 18;
    --danger-dark-rgb: 143, 35, 24;

    /* ── Typography ──────────────────────────────────────────── */
    --font-family-sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-family-mono: "Geist Mono", ui-monospace, "JetBrains Mono", monospace;
    --font-size-base: 14px;
    --font-size-large: 1.25rem;
    --font-size-small: 0.875rem;
    --font-size-xsmall: 0.75rem;
    --font-size-xxsmall: 0.6875rem;
    --font-color-rgb: 34, 33, 31;
    --font-color: rgba(var(--font-color-rgb), 0.88);
    --font-color-light: rgba(var(--font-color-rgb), 0.64);
    --font-color-muted: rgba(var(--charcoal-rgb), 0.48);
    --font-btn-primary: #fff8f7;
    --font-line-height: 1.5;

    /* ── Spacing ─────────────────────────────────────────────── */
    --spacing-xsmall: 4px;
    --spacing-small: 8px;
    --spacing-medium: 16px;
    --spacing-large: 24px;
    --spacing-xlarge: 32px;

    /* ── Borders & Radii ─────────────────────────────────────── */
    --global-radius: 14px;
    --radius-small: 10px;
    --radius-pill: 999px;
    --border-color: rgba(34, 33, 31, 0.09);
    --border-color-strong: rgba(34, 33, 31, 0.16);
    --global-border: 1px solid var(--border-color);
    --table-cell-border: 1px solid rgba(34, 33, 31, 0.06);
    --primary-border: 1px solid rgba(var(--primary-rgb), 0.22);
    --midnight-border: 1px solid rgba(34, 33, 31, 0.07);

    /* ── Shadows (calde, stratificate, morbide) ──────────────── */
    --box-shadow: 0 1px 2px rgba(34, 33, 31, 0.05);
    --container-shadow: 0 1px 2px rgba(34, 33, 31, 0.04), 0 8px 28px rgba(34, 33, 31, 0.07);
    --input-shadow: 0 1px 2px rgba(34, 33, 31, 0.05);
    --card-shadow: 0 1px 2px rgba(34, 33, 31, 0.04), 0 6px 22px rgba(34, 33, 31, 0.06);
    --card-shadow-hover: 0 2px 4px rgba(34, 33, 31, 0.05), 0 14px 34px rgba(34, 33, 31, 0.1);

    --primary-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.18), 0 4px 18px rgba(123, 31, 162, 0.12);
    --primary-shadow-hover: 0 4px 12px rgba(var(--primary-rgb), 0.26), 0 8px 24px rgba(123, 31, 162, 0.18);

    --warning-shadow: 0 2px 8px rgba(var(--warning-rgb), 0.16);
    --warning-shadow-hover: 0 4px 14px rgba(221, 125, 28, 0.32);

    --danger-shadow: 0 2px 8px rgba(var(--danger-rgb), 0.16);
    --danger-shadow-hover: 0 4px 14px rgba(var(--danger-rgb), 0.32);

    --success-shadow: 0 2px 8px rgba(var(--success-rgb), 0.16);
    --success-shadow-hover: 0 4px 14px rgba(var(--success-rgb), 0.3);

    --gradient-radial-background: radial-gradient(720px 420px at 50% 0%, rgba(var(--primary-rgb), 0.05), transparent 65%);
    --content-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);

    /* ── Transitions ─────────────────────────────────────────── */
    --global-transition: all 0.22s cubic-bezier(0.22, 1, 0.36, 1);
    --fast-transition: all 0.15s ease;

    /* ── Headbar & Navbar ────────────────────────────────────── */
    --headbar-height: 56px;
    --navbar-width: 248px;

    --headbar-background: #fffdfc;
    --headbar-font-color: rgba(var(--font-color-rgb), 0.62);

    --logo-background: transparent;
    --logo-border: 1px solid transparent;

    --navbar-background: #fffdfc;
    --navbar-font-color: rgba(34, 33, 31, 0.58);
    --navbar-font-color-active: var(--primary-color-darker);
    --navbar-font-color-hover: rgba(34, 33, 31, 0.9);
    --navbar-border: 1px solid rgba(34, 33, 31, 0.07);
    --navbar-active-bg: rgba(var(--primary-rgb), 0.08);
    --navbar-hover-bg: rgba(34, 33, 31, 0.045);

    --notification-panel-width: 400px;

    /* ── Forms & Buttons ─────────────────────────────────────── */
    --input-height: 38px;
    --button-height: 36px;
    --input-background: #ffffff;
    --input-border: 1px solid rgba(34, 33, 31, 0.11);
    --input-radius: var(--radius-small);
    --input-focus-border: rgba(var(--primary-rgb), 0.45);
    --input-focus-shadow: 0 0 0 4px rgba(var(--primary-rgb), 0.1);

    /* ── Palette Brand Estesa ────────────────────────────────── */
    --midnight: #221e2e;
    --midnight-2: #17141f;
    --midnight-3: #2e2840;
    --midnight-rgb: 34, 30, 46;

    --stone: #f6f4f0;
    --stone-2: #ece9e2;
    --stone-3: #d9d3c6;
    --stone-rgb: 246, 244, 240;

    --charcoal: #22211f;
    --charcoal-2: #444340;
    --charcoal-3: #75736e;
    --charcoal-rgb: 34, 33, 31;

    /* ── Badge / Pill ────────────────────────────────────────── */
    --badge-success-bg: rgba(var(--success-dark-rgb), 0.09);
    --badge-success-color: rgb(var(--success-dark-rgb));
    --badge-warning-bg: rgba(var(--warning-dark-rgb), 0.1);
    --badge-warning-color: rgb(var(--warning-dark-rgb));
    --badge-danger-bg: rgba(var(--danger-dark-rgb), 0.08);
    --badge-danger-color: rgb(var(--danger-dark-rgb));
    --badge-info-bg: rgba(var(--info-rgb), 0.09);
    --badge-info-color: var(--info-color-darker);
    --badge-neutral-bg: var(--stone-2);
    --badge-neutral-color: var(--charcoal-2);
    --badge-primary-bg: rgba(var(--primary-rgb), 0.08);
    --badge-primary-color: var(--primary-color-darker);

    /* ── Fast Card ───────────────────────────────────────────── */
    --fastcard-bar-default: var(--gradient-brand);
    --fastcard-bar-warning: linear-gradient(90deg, var(--info-color), #123a63);
    --fastcard-bar-success: linear-gradient(90deg, #2a6b1c, #17470e);

    /* ── Table ───────────────────────────────────────────────── */
    --table-header-bg: #efebe4;
    --table-header-color: #6f6c67;
    --table-row-hover-bg: #faf7f2;
    --table-border: var(--table-cell-border);

    /* ── Extra tokens (selection, focus, overlay) ────────────── */
    --selection-bg: rgba(var(--primary-rgb), 0.16);
    --focus-ring: 0 0 0 4px rgba(var(--primary-rgb), 0.14);
    --overlay-bg: rgba(34, 30, 32, 0.42);
    --surface-sunken: var(--stone-2);
}

/* Base theme: solo token. Le regole componente vivono in custom-css/
   buttons.css, card.css, form.css, headbar.css, menu.css, text.css,
   dashboard.css, italy-map.css, azienda-aiuto-dettaglio.css. */

/* Supporto dark futuro (light_mode attuale = light, non attivo).
   Mantenuto minimale per non rompere il light. */
html.dark {
    --background-color: #23211f;
    --body-background: #191817;
    --stone: #262422;
    --stone-2: #2e2c29;
    --stone-3: #3d3a36;
    --font-color-rgb: 235, 231, 226;
    --charcoal-rgb: 235, 231, 226;
    --border-color: rgba(235, 231, 226, 0.12);
    --table-cell-border: 1px solid rgba(235, 231, 226, 0.08);
    --navbar-background: #23211f;
    --headbar-background: #23211f;
    --table-header-bg: #262422;
    --table-row-hover-bg: #2b2927;
    --input-background: #262422;
}
