:root {
    /* Core neutrals */
    --lv-ink: #0b1f3a;
    --lv-muted: #4a6885;
    --lv-border: #c5dcff;
    --lv-border-soft: #e4f0ff;
    --lv-surface: #ffffff;
    --lv-surface-soft: #f5faff;
    --lv-page: #eaf4ff;
    --lv-page-line: #d9eaff;

    /* Brand and semantic colors */
    --lv-primary: #2563eb;
    --lv-primary-hover: #1d4ed8;
    --lv-accent: #f59e0b;
    --lv-success: #16a34a;
    --lv-danger: #dc2626;
    --lv-petal: #8b5cf6;

    /* Orange */
    --lv-orange-50: #fff8e8;
    --lv-orange-100: #ffefc7;
    --lv-orange-200: #ffe08f;
    --lv-orange-300: #ffd15a;
    --lv-orange-400: #fbbf24;
    --lv-orange-500: #f59e0b;
    --lv-orange-600: #d97706;
    --lv-orange-700: #b45309;
    --lv-orange-800: #92400e;
    --lv-orange-900: #78350f;
    --lv-orange-950: #451a03;

    /* Cerulean */
    --lv-cerulean-50: #eff6ff;
    --lv-cerulean-100: #dbeafe;
    --lv-cerulean-200: #bfdbfe;
    --lv-cerulean-300: #93c5fd;
    --lv-cerulean-400: #60a5fa;
    --lv-cerulean-500: #3b82f6;
    --lv-cerulean-600: #2563eb;
    --lv-cerulean-700: #1d4ed8;
    --lv-cerulean-800: #1e40af;
    --lv-cerulean-900: #1e3a8a;
    --lv-cerulean-950: #172554;

    /* Petal */
    --lv-petal-50: #faf5ff;
    --lv-petal-100: #f3e8ff;
    --lv-petal-200: #e9d5ff;
    --lv-petal-300: #d8b4fe;
    --lv-petal-400: #c084fc;
    --lv-petal-500: #a855f7;
    --lv-petal-600: #8b5cf6;
    --lv-petal-700: #7c3aed;
    --lv-petal-800: #6d28d9;
    --lv-petal-900: #581c87;
    --lv-petal-950: #3b0764;

    /* Sage (più brillante) */
    --lv-sage-50: #f0fdf4;
    --lv-sage-100: #dcfce7;
    --lv-sage-200: #bbf7d0;
    --lv-sage-300: #86efac;
    --lv-sage-400: #4ade80;
    --lv-sage-500: #22c55e;
    --lv-sage-600: #16a34a;
    --lv-sage-700: #15803d;
    --lv-sage-800: #166534;
    --lv-sage-900: #14532d;
    --lv-sage-950: #052e16;

    /* Terracotta */
    --lv-terracotta-50: #fef2f2;
    --lv-terracotta-100: #fee2e2;
    --lv-terracotta-200: #fecaca;
    --lv-terracotta-300: #fca5a5;
    --lv-terracotta-400: #f87171;
    --lv-terracotta-500: #ef4444;
    --lv-terracotta-600: #dc2626;
    --lv-terracotta-700: #b91c1c;
    --lv-terracotta-800: #991b1b;
    --lv-terracotta-900: #7f1d1d;
    --lv-terracotta-950: #450a0a;

    /* Chart colors */
    --lv-chart-1: #2563eb;
    --lv-chart-2: #22c55e;
    --lv-chart-3: #ef4444;
    --lv-chart-4: #8b5cf6;
    --lv-chart-5: #f59e0b;
    --lv-chart-6: #06b6d4;
    --lv-chart-7: #ec4899;
    --lv-chart-8: #84cc16;
    --lv-chart-9: #a855f7;
    --lv-chart-10: #14b8a6;
    --lv-chart-pass: #16a34a;
    --lv-chart-fail: #dc2626;
    --lv-chart-text: #0f172a;
    --lv-chart-muted: #475569;
    --lv-chart-axis: #334155;
    --lv-chart-border: #cbd5e1;
    --lv-chart-tooltip-border: #c5dcff;
    --lv-chart-shadow: rgba(37, 99, 235, .18);
    --lv-chart-zoom-fill: rgba(37, 99, 235, .15);

    /* Subject / timetable */
    --lv-subject-1-bg: #dbeafe;
    --lv-subject-1-fg: #2563eb;

    --lv-subject-2-bg: #dcfce7;
    --lv-subject-2-fg: #16a34a;

    --lv-subject-3-bg: #fef3c7;
    --lv-subject-3-fg: #d97706;

    --lv-subject-4-bg: #fee2e2;
    --lv-subject-4-fg: #dc2626;

    --lv-subject-5-bg: #f3e8ff;
    --lv-subject-5-fg: #8b5cf6;

    --lv-subject-6-bg: #cffafe;
    --lv-subject-6-fg: #0891b2;

    --lv-subject-7-bg: #ffe4e6;
    --lv-subject-7-fg: #e11d48;

    --lv-subject-8-bg: #e0e7ff;
    --lv-subject-8-fg: #4f46e5;

    /* Shadows */
    --lv-shadow-sm: 0 2px 4px rgba(37, 99, 235, .08);
    --lv-shadow-md: 0 12px 32px rgba(37, 99, 235, .12);

    /* Legacy aliases */
    --color-ink: var(--lv-ink);
    --color-muted: var(--lv-muted);
    --color-border: var(--lv-border);
    --color-surface: var(--lv-surface);
    --color-soft: var(--lv-page);
    --color-primary: var(--lv-primary);
    --color-primary-hover: var(--lv-primary-hover);
    --color-accent: var(--lv-accent);
    --color-success: var(--lv-success);
    --color-danger: var(--lv-danger);
    --color-petal: var(--lv-petal);
    --shadow-soft: var(--lv-shadow-sm);
}