/* GLOBAL STYLES */
:root {
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(255, 255, 255, 0.5);
    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #f1f5f9; /* Slate 100 */
    background-image: 
        radial-gradient(at 0% 0%, rgba(37, 99, 235, 0.1) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(132, 204, 22, 0.1) 0px, transparent 50%);
    background-attachment: fixed;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Outfit', sans-serif;
}

/* UTILITÀ GLASSMORPHISM */
.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
}

/* SCROLLBAR PERSONALIZZATA */
.custom-scrollbar::-webkit-scrollbar {
    width: 4px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}

/* MODALITÀ STAMPA */
@media print {
    @page {
        margin: 0.5cm;
    }

    body {
        background: white;
        color: black;
    }

    /* Nascondi elementi non necessari */
    .no-print,
    .fixed,
    button,
    input,
    select,
    .sidebar,
    .header-mobile,
    .mobile-nav {
        display: none !important;
    }

    /* Mostra elementi solo stampa */
    .print-only {
        display: block !important;
    }

    /* Reset layout */
    .md\:ml-64 {
        margin-left: 0 !important;
    }

    .max-w-6xl {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .p-6 {
        padding: 0 !important;
    }

    .grid {
        display: block !important;
    }

    /* Card in stampa */
    .card-print {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        margin: 0 0 20px 0 !important;
        page-break-inside: avoid;
    }

    /* Header Stampa */
    .print-header {
        border-bottom: 2px solid black !important;
        margin-bottom: 10px;
    }

    /* Liste in stampa */
    .print-list-item {
        border-bottom: 1px solid #eee;
    }

    .print-row-number {
        border: 1px solid #000;
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .print-row-text {
        color: #000 !important;
    }

    /* Nascondi icone se necessario o colorale nero */
    i[data-lucide] {
        color: #000 !important;
        stroke: #000 !important;
    }
}

/* FIX PER MOBILE SAFE AREA */
.safe-area-bottom {
    padding-bottom: env(safe-area-inset-bottom);
}