:root {
    /* ── Colors & Backgrounds ────────────────────────────────── */
    --background-color: #ffffff;
    --body-background: var(--stone);

    /* ── Gradienti Principali ────────────────────────────────── */
    --gradient-primary: linear-gradient(135deg, #b72e36 0%, #7b1fa2 100%);
    --gradient-primary-hover: linear-gradient(135deg, #c93d45 0%, #8c2db5 100%);

    --gradient-warning: linear-gradient(135deg, #e97f20 0%, #e9d526 100%);
    --gradient-warning-hover: linear-gradient(135deg, #f78f2f 0%, #f3df3c 100%);

    --gradient-danger: linear-gradient(135deg, #b72e36 0%, #e74c3c 100%);
    --gradient-danger-hover: linear-gradient(135deg, #c93d45 0%, #f05a4a 100%);

    --gradient-success: linear-gradient(135deg, #176437 0%, #2ecc71 100%);
    --gradient-success-hover: linear-gradient(135deg, #1e7a43 0%, #3dd680 100%);

    --gradient-info: linear-gradient(135deg, #014c9f 0%, #84d5e7 100%);
    --gradient-info-hover: linear-gradient(135deg, #0355ae 0%, #91ecff 100%);

    /* ── Gradienti Specifici Pulsanti Tabella ────────────────── */
    --gradient-table-download: linear-gradient(135deg, #2eb789 0%, #00acc1 100%);
    --gradient-table-print: linear-gradient(135deg, #1f8ba2 0%, #7b1fa2 100%);
    --gradient-table-reset: linear-gradient(135deg, #e97f20 0%, #b72e36 100%);

    /* ── Alias Brand ─────────────────────────────────────────── */
    --gradient-brand: var(--gradient-primary);
    --gradient-midnight: linear-gradient(160deg, #1a1a2e 0%, #2d1f3d 55%, #1a2a3a 100%);

    /* ── Colori Solidi ───────────────────────────────────────── */
    --primary-color: #b72e36;
    --primary-color-lighter: #cf434b;
    --primary-color-darker: #a51229;

    --success-color: #2ecc71;
    --success-color-darker: #176437;

    --warning-color: #e67e22;
    --warning-color-darker: #a85913;

    --danger-color: #e74c3c;
    --danger-color-darker: #921e12;

    --info-color: #185fa5;
    --info-color-lighter: #2272c3;
    --info-color-darker: #0f4a82;
    --info-color-light-bg: #e4eff9;

    /* ── RGB per trasparenze ─────────────────────────────────── */
    --primary-rgb: 183, 46, 54;
    --success-rgb: 46, 204, 113;
    --warning-rgb: 230, 126, 34;
    --danger-rgb: 231, 76, 60;
    --info-rgb: 24, 95, 165;
    --success-dark-rgb: 32, 143, 79;
    --warning-dark-rgb: 161, 88, 24;
    --danger-dark-rgb: 162, 53, 42;

    /* ── Typography ──────────────────────────────────────────── */
    --font-family-sans: "Geist", sans-serif;
    --font-family-mono: "Geist 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: 0, 0, 0;
    --font-color: rgb(var(--font-color-rgb), 0.85);
    --font-color-light: rgba(var(--font-color-rgb), 0.7);
    --font-color-muted: rgba(var(--charcoal-rgb), 0.45);
    --font-btn-primary: rgb(245, 245, 245);
    --font-line-height: 1.4;

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

    /* ── Borders & Radii ─────────────────────────────────────── */
    --global-radius: 12px;
    --radius-small: 8px;
    --radius-pill: 999px;
    --border-color: rgba(0, 0, 0, 0.12);
    --border-color-strong: rgba(0, 0, 0, 0.22);
    --global-border: 1px solid var(--border-color);
    --table-cell-border: 1px solid rgba(0, 0, 0, 0.05);
    --primary-border: 1px solid rgba(var(--primary-rgb), 0.3);
    --midnight-border: 1px solid rgba(255, 255, 255, 0.08);

    /* ── Shadows ─────────────────────────────────────────────── */
    --box-shadow: 0 0 5px rgba(0, 0, 0, 0.10);
    --container-shadow: 0 4px 24px rgba(10, 20, 30, 0.08);
    --input-shadow: 0 4px 10px rgba(10, 20, 30, 0.04);
    --card-shadow: 0 2px 12px rgba(10, 20, 30, 0.06);
    --card-shadow-hover: 0 6px 20px rgba(10, 20, 30, 0.10);

    --primary-shadow: 0 4px 14px rgba(var(--primary-rgb), 0.15);
    --primary-shadow-hover: 0 5px 15px rgba(var(--primary-rgb), 0.4);

    --warning-shadow: 0 4px 14px rgba(var(--warning-rgb), 0.15);
    --warning-shadow-hover: 0 5px 15px rgba(246, 128, 40, 0.4);

    --danger-shadow: 0 4px 14px rgba(var(--danger-rgb), 0.15);
    --danger-shadow-hover: 0 5px 15px rgba(var(--danger-rgb), 0.4);

    --success-shadow: 0 4px 14px rgba(var(--success-rgb), 0.15);
    --success-shadow-hover: 0 5px 15px rgba(var(--success-rgb), 0.4);

    --gradient-radial-background: linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.5) 10%, rgba(0, 0, 0, 0.5) 90%, rgba(0, 0, 0, 0.4) 100%);
    --content-shadow: inset 0 0 20px rgba(0, 0, 0, 0.10);

    /* ── Transitions ─────────────────────────────────────────── */
    --global-transition: all 0.3s ease-in-out;
    --fast-transition: all 0.15s ease;

    /* ── Headbar & Navbar ────────────────────────────────────── */
    --headbar-height: 50px;
    --navbar-width: 240px;

    --headbar-background: var(--background-color);
    --headbar-font-color: rgba(var(--font-color-rgb), 0.6);

    --logo-background: var(--background-color);
    --logo-border: var(--table-cell-border);

    --navbar-background: var(--stone);
    --navbar-font-color: rgba(255, 255, 255, 0.5);
    --navbar-font-color-active: #2B2D30FF;
    --navbar-font-color-hover: rgba(255, 255, 255, 0.85);
    --navbar-border: var(--midnight-border);
    --navbar-active-bg: rgba(var(--primary-rgb), 0.02);
    --navbar-hover-bg: rgba(0, 0, 0, 0.03);

    /* ── Forms & Buttons ─────────────────────────────────────── */
    --input-height: 36px;
    --button-height: 35px;
    --input-background: var(--background-color);
    --input-border: var(--global-border);
    --input-radius: var(--radius-small);
    --input-focus-border: rgba(var(--primary-rgb), 0.5);
    --input-focus-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.12);

    /* ── Palette Brand Estesa ────────────────────────────────── */
    --midnight: #1a1a2e;
    --midnight-2: #0f1729;
    --midnight-3: #16213e;
    --midnight-rgb: 26, 26, 46;

    --stone: #f5f4f1;
    --stone-2: #ebebе7;
    --stone-3: #d8d6cd;
    --stone-rgb: 245, 244, 241;

    --charcoal: #1e1e1c;
    --charcoal-2: #3d3d3a;
    --charcoal-3: #6b6a66;
    --charcoal-rgb: 30, 30, 28;

    /* ── Badge / Pill ────────────────────────────────────────── */
    --badge-success-bg: rgba(var(--success-dark-rgb), 0.10);
    --badge-success-color: rgb(var(--success-dark-rgb));
    --badge-warning-bg: rgba(var(--warning-dark-rgb), 0.12);
    --badge-warning-color: rgb(var(--warning-dark-rgb));
    --badge-danger-bg: rgba(var(--danger-dark-rgb), 0.10);
    --badge-danger-color: rgb(var(--danger-dark-rgb));
    --badge-info-bg: rgba(var(--info-rgb), 0.10);
    --badge-info-color: var(--info-color);
    --badge-neutral-bg: var(--stone);
    --badge-neutral-color: var(--charcoal-3);
    --badge-primary-bg: rgba(var(--primary-rgb), 0.10);
    --badge-primary-color: var(--primary-color-darker);

    /* ── Fast Card ───────────────────────────────────────────── */
    --fastcard-bar-default: var(--gradient-brand);
    --fastcard-bar-warning: linear-gradient(90deg, var(--info-color), #0f3460);
    --fastcard-bar-success: linear-gradient(90deg, #2d6b1a, #1a4a0d);

    /* ── Table ───────────────────────────────────────────────── */
    --table-header-bg: var(--stone);
    --table-header-color: var(--charcoal-3);
    --table-row-hover-bg: #faf9f7;
    --table-border: var(--table-cell-border);
}
