/* Design tokens — Periplo (design system Net Engineering) */
:root {
    /* Layout */
    --header-height: 60px;
    --sidebar-width: 256px;
    --content-padding: 24px;
    /* Altezza unica dei controlli affiancati (bottoni, select, toggle) in una barra. */
    --control-height: 40px;

    /* Primary Brand Gradient */
    --color-primary-start: #667eea;
    --color-primary-end: #764ba2;
    --gradient-primary: linear-gradient(135deg, var(--color-primary-start) 0%, var(--color-primary-end) 100%);

    /* Primary Colors */
    --color-primary: #667eea;
    --color-primary-hover: #5568d3;
    --color-primary-light: #f0f3ff;

    /* Semantic Colors */
    --color-success: #10b981;
    --color-success-light: #d1fae5;
    --color-warning: #f59e0b;
    --color-warning-light: #fef3c7;
    --color-error: #ef4444;
    --color-error-light: #fee2e2;
    --color-info: #3b82f6;

    /* Text Colors */
    --color-text-primary: #333;
    --color-text-secondary: #555;
    --color-text-muted: #888;
    --color-text-placeholder: #999;

    /* Background Colors */
    --color-bg-page: #f5f7fa;
    --color-bg-card: #ffffff;
    --color-bg-section: #f9f9f9;
    --color-bg-hover: #f5f5f5;

    /* Border Colors */
    --color-border-default: #e0e0e0;
    --color-border-light: #f0f0f0;
    --color-border-focus: #667eea;

    /* Typography */
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-mono: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;

    /* Font Sizes */
    --font-size-xs: 10px;
    --font-size-sm: 11px;
    --font-size-base: 13px;
    --font-size-md: 14px;
    --font-size-lg: 16px;
    --font-size-xl: 18px;
    --font-size-2xl: 20px;
    --font-size-3xl: 24px;
    --font-size-4xl: 32px;

    /* Font Weights */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Spacing Scale */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-7: 30px;
    --space-8: 40px;

    /* Border Radius */
    --radius-sm: 3px;
    --radius-md: 5px;
    --radius-lg: 6px;
    --radius-xl: 8px;
    --radius-2xl: 10px;
    --radius-3xl: 12px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-xl: 0 8px 16px rgba(0, 0, 0, 0.1);
    --shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.3);

    /* Transitions */
    --transition-fast: 0.15s;
    --transition-normal: 0.2s;
    --transition-slow: 0.3s;

    /* Z-Index Scale */
    --z-dropdown: 100;
    --z-sticky: 100;
    --z-header: 200;
    --z-overlay: 500;
    --z-modal: 1000;
    --z-toast: 1100;
}
