/* Le variabili di tutte le pagine: va caricato prima di ogni altro foglio di stile. */

/* Font Awesome 7 dà a ogni icona 1,25em: qui resta la larghezza naturale, come con la 6. */
:root {
    --fa-width: auto;
}

:root {
    /* Senza, i controlli del browser restano chiari anche nel tema scuro. */
    color-scheme: light dark;

    --danger-text: #c62828;
    --success-text: #1b5e20;
    --warning-text: #9a5b00;
    --info-text: #1d4ed8;
    --danger-soft-bg: #fdecea;
    --success-soft-bg: #e8f5e9;
    --warning-soft-bg: #fff8e1;
    --info-soft-bg: #e3f2fd;

    --bg-color: #f4f7f9;
    --surface-color: #ffffff;
    --secondary-bg-color: #f8f9fa;
    --header-bg: #f8f9fa;
    --modal-bg: #ffffff;
    --modal-overlay-bg: rgba(0, 0, 0, 0.5);

    --text-color: #333333;
    /* Contrasto minimo 4,5 anche sul fondo pagina. */
    --text-muted: #5f6b76;
    --header-text-color: #2c3e50;

    --border-color: #dee2e6;
    --border-light-color: #eee;
    --list-item-border: #eee;
    --map-border-color: #ccc;

    /* Abbastanza scuro da reggere il testo bianco e da leggersi come link (contrasto 4,5). */
    --primary-color: #2477b3;
    --link-color: #1f6fa8;
    --button-bg: #2477b3;
    --button-hover-bg: #1c6194;
    --button-text: #ffffff;

    --button-secondary-hover-bg: #f0f0f0;
    --button-cancel-bg: #6c757d;
    --button-cancel-hover-bg: #5a6268;
    --button-disabled-bg: #cccccc;
    --button-disabled-text: #666666;
    --list-item-hover-bg: #e9ecef;

    --form-input-bg: #ffffff;
    --form-input-border: #ced4da;
    --form-input-focus-border: #80bdff;
    --form-input-focus-shadow: rgba(52, 152, 219, 0.25);

    --success-color: #28a745;
    --danger-color: #dc3545;
    --warning-color: #ffc107;
    --priority-high-border: #dc3545;
    --priority-medium-border: #ffc107;
    --priority-low-border: #28a745;
    /* I colori dei bordi su fondo chiaro non bastano per il testo (il giallo su bianco è invisibile). */
    --priority-high-text: #c62828;
    --priority-medium-text: #9a5b00;
    --priority-low-text: #1b5e20;
    /* Il rosso del bordo con testo bianco non arriverebbe al contrasto minimo. */
    --overdue-bg: #c62828;
    --overdue-text: #ffffff;
    --status-error-color: #dc3545;
    --status-active-color: #3498db;
    --status-success-color: #28a745;
    --status-muted-color: #6c757d;
    --status-available-bg: #d4edda;
    --status-available-border: #c3e6cb;
    --status-available-text: #155724;
    --status-assigned-bg: #f8d7da;
    --status-assigned-border: #f5c6cb;
    --status-assigned-text: #721c24;
    --blink-red-light: rgba(255, 0, 0, 0.85);
    --blink-red-dark: rgba(222, 0, 0, 0.85);

    --shadow-color-light: rgba(0, 0, 0, 0.05);
    --shadow-color-medium: rgba(0, 0, 0, 0.1);
    --transition-speed: 0.3s;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #1a1a2e;
        --surface-color: #242f4c;
        --secondary-bg-color: #242f4c;
        --header-bg: #242f4c;
        --modal-bg: #242f4c;
        --modal-overlay-bg: rgba(0, 0, 0, 0.7);

        --text-color: #e0e0e0;
        --text-muted: #9aa5b8;
        --header-text-color: #ffffff;

        --border-color: #3a476a;
        --border-light-color: #303d5e;
        --list-item-border: #303d5e;
        --map-border-color: #555555;

        --primary-color: #5fa8d3;
        --link-color: #5fa8d3;
        --button-bg: #5fa8d3;
        --button-hover-bg: #7dbce8;
        --button-text: #1a1a2e;

        --button-secondary-hover-bg: #303d5e;
        --button-cancel-bg: #555555;
        --button-cancel-hover-bg: #777777;
        --button-disabled-bg: #444444;
        --button-disabled-text: #888888;
        --list-item-hover-bg: #2d3a5c;

        --form-input-bg: #2c375a;
        --form-input-border: #3a476a;
        --form-input-focus-border: #64b5f6;
        --form-input-focus-shadow: rgba(100, 181, 246, 0.3);

        --success-color: #a5d6a7;
        --danger-color: #f48fb1;
        --warning-color: #ffe082;
        --priority-high-border: #ff8a80;
        --priority-medium-border: #ffcc80;
        --priority-low-border: #a5d6a7;
        --priority-high-text: #ff8a80;
        --priority-medium-text: #ffcc80;
        --priority-low-text: #a5d6a7;
        --overdue-bg: #ff8a80;
        --overdue-text: #1f2937;
        --status-error-color: #f48fb1;
        --status-active-color: #90caf9;
        --status-success-color: #a5d6a7;
        --status-muted-color: #9e9e9e;
        --status-available-bg: #2a4a34;
        --status-available-border: #3c6a4a;
        --status-available-text: #c3e6cb;
        --status-assigned-bg: #5a2b31;
        --status-assigned-border: #84353f;
        --status-assigned-text: #f5c6cb;

        --shadow-color-light: rgba(0, 0, 0, 0.2);
        --shadow-color-medium: rgba(0, 0, 0, 0.4);

        --danger-text: #ff8a80;
        --success-text: #a5d6a7;
        --warning-text: #ffcc80;
        --info-text: #90caf9;
        --danger-soft-bg: rgba(255, 138, 128, 0.14);
        --success-soft-bg: rgba(165, 214, 167, 0.14);
        --warning-soft-bg: rgba(255, 204, 128, 0.14);
        --info-soft-bg: rgba(144, 202, 249, 0.14);
    }
}

:root[data-theme="dark"] {
    color-scheme: dark;
}
:root[data-theme="light"] {
    color-scheme: light;
}
