﻿/*

La proprietà 'font-family' è impostata su 'Inter' come richiesto.

Se Inter non è disponibile, verranno utilizzati font generici sans-serif.

*/


:root {
    --side: #024065;
    --center: #46AAC2;
    --box: #146190;
}

html, body {
    height: 100%
}

body {
    margin: 0;
    color: #fff; /* testo leggibile sullo sfondo */
    background: linear-gradient(90deg, var(--side) 0%, var(--side) 15%, var(--center) 50%, var(--side) 85%, var(--side) 100%);
}


html {
    font-family: 'Inter', sans-serif;
    background-color: #f8fafc; /* Tailwind: bg-slate-50 */
    color: #1e293b; /* Tailwind: text-slate-800 */
    line-height: 1.6;
    margin: 0;
    min-height: 100vh;
    box-sizing: border-box; /* Assicura che padding non aumenti la dimensione totale */
    width: 100%;
    font-size: 16px; /* Dimensione base del font (equivalente a 1rem) */
}

body {
    font-family: 'Inter', sans-serif;
    /*background-color: #f8fafc;
    color: #1e293b;*/
    margin: 0;
    /*
    color: #fff; /* testo leggibile sullo sfondo */
    /*background: linear-gradient(90deg, var(--side) 0%, var(--side) 15%, var(--center) 50%, var(--side) 85%, var(--side) 100%);*/


    background: radial-gradient(ellipse at center, var(--center) 0%, var(--center) 35%, var(--side) 100%);
    /* fallback solido */
    background-color: var(--side);



    line-height: 1.6;
    margin: 0;
    padding: 0 10px;
    padding-top: 70px; /* Adjust to match your navbar height */
    min-height: 100vh;
    box-sizing: border-box;
    width: 100vw; /* Make body full viewport width */
    text-align: left;
}



h1 {
    font-size: 3rem; /* 3 volte la dimensione base (48px se html è 16px) */
    font-weight: 700; /* Bold */
    color: #0f766e; /* Tailwind: text-teal-600 */
    text-align: center;
    color: #FFFFFF;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

h2 {
    font-size: 2rem; /* 2.25 volte la dimensione base (36px se html è 16px) */
    font-weight: 600; /* Semi-bold */
    /* color: #FFF; Tailwind: text-teal-700 #0f766e */

    color: #FFFFFF;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

p {
    font-size: 1rem; /* 1.125 volte la dimensione base (18px se html è 16px) */
}

/* Immagini responsive 
img {
    max-width: 100%;
    height: auto;
    display: block;
}
*/

/* Contenitori e tabelle responsive */
.container, .container1, .Table1 {
    width: 100% !important;
    /*max-width: 100vw !important;*/
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 0.75rem; /* Tailwind: rounded-xl */
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); /* Tailwind: shadow-lg */
}

    .Table1, table.container, table.container1 {
        padding: 10px;
        font-size: 1.2rem; /* Dimensione base del font (equivalente a 1rem) */
    }

        .Table1 th, .Table1 td,
        table.container th, table.container td,
        table.container1 th, table.container1 td {
            padding: 6px 4px;
            vertical-align: top;
            /*border: 1px solid #e2e8f0;*/
            white-space: normal !important;
            word-break: break-word;
        }

        .Table1 th, table.container th, table.container1 th {
            background: #f1f5f9;
            font-weight: 600;
            color: #0f766e;
            text-align: left;
            white-space: nowrap;
        }


/* Colore alternato SOLO per le righe della GridView */
.responsive-grid tr:nth-child(even) {
    background-color: #EFEFEF; /* Colore chiaro alternato */
}

.responsive-grid tr:nth-child(odd) {
    background-color: #fff; /* Colore di base */
}


/* GridView Responsive */
.grid-scroll-x {
    width: 100%;
    /* overflow-x: auto;  RIMOSSO per evitare scroll orizzontale */
    -webkit-overflow-scrolling: touch;
}

.responsive-grid {
    width: 100% !important;
    box-sizing: border-box;
    border-collapse: collapse;
    font-size: 1.2rem;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-bottom: 1rem;
    table-layout: auto;
}

    .responsive-grid th, .responsive-grid td {
        border: 1px solid #e2e8f0;
        padding: 2px !important;
        vertical-align: middle;
        white-space: normal !important;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .responsive-grid th {
        background: #f1f5f9;
        font-weight: 600;
        color: #0f766e;
        text-align: left;
        white-space: nowrap !important;
        word-break: normal !important;
    }

    .responsive-grid tfoot td {
        background: #e0f2fe;
        font-weight: bold;
        color: #0f766e;
    }

    .responsive-grid .col-id {
        width: 60px;
        text-align: center;
    }

    .responsive-grid .col-desc {
        width: 200px;
        text-align: left;
        white-space: nowrap;
    }

    .responsive-grid .col-amount {
        width: 120px;
        text-align: right;
        white-space: nowrap;
    }


/* Stili per il piè di pagina */
.footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0; /* Tailwind: border-slate-200 */
    text-align: center;
    font-size: 1.2rem; /* Tailwind: text-sm */
    color: #64748b; /* Tailwind: text-slate-500 */
}

/* Assicurati che questa sezione sia presente nel tuo CSS */
#GridView1 {
    border: 1px solid #CCCCCC !important;
    border-collapse: collapse; /* Cruciale per i bordi della tabella */
    padding: 2px; /* Se vuoi applicare un padding alla tabella stessa */
}

    #GridView1 th,
    #GridView1 td {
        border: 1px solid #CCCCCC !important;
    }

    #GridView1 tfoot td {
        border-top: 1px solid #CCCCCC !important;
    }

/* Targeting all submit buttons */
input[type="submit"],
input[type="button"] {
    background-color: #066A8E; /* Green */
    color: white;
    padding: 5px 5px 5px 5px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1.2rem;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 5px 5px 5px 5px;
    transition-duration: 0.4s; /* Smooth transition for hover effects */
}

    input[type="submit"]:hover,
    input[type="button"]:hover {
        background-color: #0096C7; /* Darker green on hover */
        box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
    }

    input[type="submit"]:active,
    input[type="button"]:active {
        background-color: #526E53;
        box-shadow: 0 5px #666;
        transform: translateY(2px);
    }

    input[type="submit"]:disabled,
    input[type="button"]:disabled {
        background-color: #cccccc;
        color: #666666;
        cursor: not-allowed;
        box-shadow: none;
        transform: none;
    }

input[type="search"],
input[type="text"],
input[type="password"],
input[type="date"],
textarea {
    padding: 2px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-size: 1.2rem;
    color: #4a4a4a;
    outline: none;
    width: 100%; /* Adatta alla cella */
    box-sizing: border-box; /* Include padding nel calcolo della larghezza */
    resize: both; /* Permette ridimensionamento */
}

    textarea:focus,
    input[type="search"]:focus,
    input[type="text"]:focus,
    input[type="password"]:focus,
    input[type="date"]:focus
    textarea:focus {
        border-color: #6366f1;
        /*box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);*/
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3), 0 5px 10px rgba(0, 0, 0, 0.25), 0 3px 6px rgba(0, 0, 0, 0.2);
    }

/* GridView e Table1: testo va a capo */
table[id^="GridView"], .gridview-container, .Table1 {
    width: 100% !important;
    table-layout: auto !important;
    min-width: 0 !important;
}

    table[id^="GridView"] th,
    table[id^="GridView"] td,
    .gridview-container th,
    .gridview-container td,
    .Table1 th,
    .Table1 td {
        white-space: normal !important;
        word-break: break-word;
    }

/* DropDownList */
select {
    padding: 4px 25px 4px 10px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-size: 1.2rem;
    color: #4a4a4a;
    outline: none;
    background-color: #ffffff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

    select:focus {
        border-color: #6366f1;
        /*box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);*/
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3), 0 5px 10px rgba(0, 0, 0, 0.25), 0 3px 6px rgba(0, 0, 0, 0.2);
    }

/* Checkbox custom */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    opacity: 0;
    position: absolute;
}

    input[type="checkbox"] + label {
        display: inline-flex;
        align-items: center;
        position: relative;
        cursor: pointer;
        padding-left: 30px;
        font-weight: 400;
        color: #FFF;
        margin-bottom: 0;
        line-height: 24px;
        min-height: 24px;
    }

        input[type="checkbox"] + label::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 20px;
            height: 20px;
            border: 2px solid #d1d5db;
            border-radius: 6px;
            background-color: #f9fafb;
            transition: all 0.2s ease;
        }

        input[type="checkbox"] + label::after {
            content: '✔';
            position: absolute;
            left: 4px;
            top: 50%;
            transform: translateY(-50%) scale(0);
            font-size: 1.2rem;
            color: #ffffff;
            transition: transform 0.2s ease, opacity 0.2s ease;
            opacity: 0;
            font-weight: bold;
        }

    input[type="checkbox"]:checked + label::before {
        background-color: #6366f1;
        border-color: #6366f1;
    }

    input[type="checkbox"]:checked + label::after {
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }

    input[type="checkbox"]:focus + label::before {
        box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3);
    }

    input[type="checkbox"] + label:hover::before {
        border-color: #6366f1;
    }

SideBarTextMenu {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f766e;
    text-align: center;
}

SideBarTextSubMenu {
    font-size: 2rem;
    font-weight: 600;
    color: #0f766e;
}

.SideBarTextSubTitle {
    font-weight: 400;
    font-size: 1.2rem;
    color: #0f766e;
    padding: 4px 0 4px 0;
    letter-spacing: 1px;
}

/* Custom sidebar style */
.custom-sidebar {
    background-color: #378FAA !important;
    color: #fff !important;
}

    /* Make sure links/text inside are also white */
    .custom-sidebar a,
    .custom-sidebar .nav-link,
    .custom-sidebar .offcanvas-title {
        color: #fff !important;
    }

        /* Optional: hover effect for links */
        .custom-sidebar a:hover {
            color: #f1f1f1 !important;
        }

.btn-transparent {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.tableprice {
    background-color: white;
    margin: 0px !important;
    padding: 0px !important;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: 1rem;
    text-align: right !important;
    vertical-align: top !important;
}

.trprice {
    background-color: white;
    margin: 0px !important;
    padding: 0px !important;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: 1rem;
    height: 10px;
}

.thprice {
    background-color: white;
    margin: 0px !important;
    padding: 0px !important;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 1rem !important;
    text-align: right !important;
}

.tdprice {
    background-color: white;
    margin: 0px !important;
    padding: 0px !important;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 1rem !important;
    font-style: normal !important;
    font-weight: lighter !important;
    text-align: right !important;
    height: 10px;
}

.nowrap {
    white-space: nowrap !important;
}

html, body {
    width: 100vw;
    overflow-x: hidden;
}

table, .Table1, .container, .container1 {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box;
}

th, td {
    white-space: normal !important;
    /*word-break: break-word;*/
}

/* Responsive font size per mobile */
@media (max-width: 640px) {
    html {
        font-size: 10px;
    }

    .responsive-grid, .Table1, table.container, table.container1 {
        font-size: 0.85rem;
    }
}


/*RESPONSIVE BOX*/
.responsive-box {
    padding: 5px;
    background: radial-gradient(ellipse at center, var(--center) 0%, var(--center) 35%, var(--side) 100%);
    /* fallback solido */
    background-color: var(--side);
    border-radius: 12px; /* Rounded corners */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* Shadow */
    margin-left: 4px;
    margin-right: 4px; /* Margine per evitare overflow */
    box-sizing: border-box; /* Include padding e border nella larghezza totale */
}


/*RESPONSIVE BOX 2*/
.responsive-box2 {
    background: radial-gradient(ellipse at center, var(--center) 0%, var(--center) 35%, var(--side) 100%);
    /* fallback solido */
    background-color: var(--side);
    width: 100%; /* Larghezza al 100% del contenitore genitore */
    padding: 5px; /* Padding di 5px su tutti i lati */
    border-radius: 5px; /* Angoli arrotondati (puoi regolare il valore) */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Ombra leggera */
    box-sizing: border-box; /* Include padding e border nella larghezza totale */
}


/*RESPONSIVE BOX LINEAR NUOVA*/
.responsive-box-linear2 {
    padding: 5px;
    background: linear-gradient(to top, var(--center) 0%, var(--center) 35%, var(--side) 100%);
    border-radius: 12px; /* Rounded corners */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* Shadow */
    margin-left: 4px;
    margin-right: 4px; /* Margine per evitare overflow */
    box-sizing: border-box; /* Include padding e border nella larghezza totale */
}


    /* LISTA RESPONSIVA CON BOX LINEAR */
    .responsive-box-linear2 ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    .responsive-box-linear2 li {
        padding: 12px 15px;
        margin: 8px 0;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 8px;
        color: white;
        border: 1px solid rgba(255, 255, 255, 0.2);
        transition: all 0.3s ease;
    }

        .responsive-box-linear2 li:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: translateX(5px);
        }


/* Per liste con icone */
.responsive-box-linear2.with-icons li {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .responsive-box-linear2.with-icons li::before {
        content: "✓";
        font-weight: bold;
    }

/* Per liste numerate */
.responsive-box-linear2.ordered {
    background: linear-gradient(to top, var(--center) 0%, var(--center) 40%, var(--side) 100%);
}

    .responsive-box-linear2.ordered ol {
        list-style-type: decimal;
        list-style-position: inside;
        color: white;
    }

/* Versione responsive per mobile */
@media screen and (max-width: 768px) {
    .responsive-box-linear2 {
        margin-left: 2px;
        margin-right: 2px;
        padding: 3px;
    }

        .responsive-box-linear2 li {
            padding: 10px 12px;
            margin: 6px 0;
            font-size: 14px;
        }
}

@media screen and (max-width: 480px) {
    .responsive-box-linear2 li {
        padding: 8px 10px;
        margin: 4px 0;
        font-size: 13px;
    }
}



/*RESPONSIVE TABLE*/
.responsive-table {
    /*width: 100%;*/
    /*background-color: antiquewhite;*/
}

    .responsive-table th,
    .responsive-table td {
        padding: 10px; /* Equivalente a cellpadding="2" */
        text-align: left;
    }

.responsive-chart {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
}

/*NEW GRID VIEW*/

/* Contenitore responsive */
.gridview-container {
    width: 100%;
    overflow-x: auto; /* scroll orizzontale se serve */
    -webkit-overflow-scrolling: touch; /* scrolling fluido su iOS */
}


/* Base LinkButton */
.LinkButton {
    --bg: var(--side);
    --bg-hover: #0096C7;
    --bg-active: #526E53;
    --fg: #fff;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .2rem .75rem .2rem .75rem;
    font-size: 1rem;
    color: var(--fg);
    background-color: var(--bg);
    border: 0;
    border-radius: .5rem;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: background-color .2s, box-shadow .2s, transform .1s;
}

    /* Hover/Active per <a> e <button> */
    .LinkButton:hover,
    a.LinkButton:hover,
    button.LinkButton:hover {
        background-color: var(--bg-hover);
        box-shadow: 0 8px 16px rgba(0,0,0,.2);
    }

    .LinkButton:active,
    a.LinkButton:active,
    button.LinkButton:active {
        background-color: var(--bg-active);
        box-shadow: 0 5px #666;
        transform: translateY(2px);
    }

/* Focus accessibile */
a.LinkButton:focus-visible,
button.LinkButton:focus-visible {
    outline: 2px solid #0096C7;
    outline-offset: 2px;
}

/* Stati disabilitati (se mai li userai) */
button.LinkButton:disabled,
a.LinkButton[aria-disabled="true"],
span.LinkButton {
    background-color: #ccc;
    color: #666;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
    pointer-events: none;
}




/* === Browser Scroll Mode (override) === */

    /* 1) Container principale - Reset stili */
.grid-scroll {
    max-height: none;
    overflow: visible;
    border: 0;
    border-radius: 5;
    position: static;
    max-width: 100%;
    overflow-x: auto;
}

    /* 2) Reset header/footer sticky */
    .grid-scroll .gridview thead th,
    .grid-scroll .gridview thead td {
        position: static;
        box-shadow: none;
    }
    .grid-scroll .gridview tfoot th,
    .grid-scroll .gridview tfoot td {
        position: static;
        box-shadow: none;
    }

    /* 3) Scroll orizzontale globale */
    html, body {
        overflow-x: auto;
    }

.grid-scroll .gridview {
    width: auto;
    min-width: 600px;
    table-layout: auto;
}

    /* 4) Stili tabella - Header e Footer */
    .grid-scroll .gridview thead th {
        background-color: #225276 !important;
        color: #FFFFFF !important;
        border-bottom: 2px solid #46AAC2 !important;
        padding: 12px 15px;
        text-align: left;
        font-weight: bold;
    }

    .grid-scroll .gridview tfoot th,
    .grid-scroll .gridview tfoot td {
        background-color: #225276 !important;
        color: #FFFFFF !important;
        border-top: 2px solid #46AAC2 !important;
        padding: 10px 15px;
        font-weight: bold;
    }

    /* 5) Righe alternate */
    .grid-scroll .gridview tbody tr:nth-child(even) {
        background-color: #F5F8FA;
        color: black;
    }

    .grid-scroll .gridview tbody tr:nth-child(odd) {
        background-color: #DEEAF4;
        color: black;
    }

/* 6) Supporto per Bootstrap combo */
.table.gridview thead th,
.table.gridview tfoot th,
.table.gridview tfoot td {
    background-color: #024065;
    color: #fff;
    border-color: #46AAC2;
}

/* 7) Mobile responsive */
@media (max-width: 575.98px) {
    .grid-scroll {
        overflow-x: auto;
    }

        .grid-scroll .gridview {
            min-width: 500px;
            font-size: 10px;
            display: table;
            width: 100%;
        }

            .grid-scroll .gridview thead {
                display: table-header-group;
            }

            .grid-scroll .gridview tbody {
                display: table-row-group;
            }

            .grid-scroll .gridview tfoot {
                display: table-footer-group;
            }

            .grid-scroll .gridview tr {
                display: table-row;
            }

            .grid-scroll .gridview th,
            .grid-scroll .gridview td {
                display: table-cell;
                padding: 6px;
                border-bottom: 1px solid #ddd;
            }

            /* Rimuovi pseudo-elementi per mobile */
            .grid-scroll .gridview tbody td::before {
                content: none;
            }
}

/* Aggiungi questi se necessario */

/* Miglioramento usabilità scroll */
.grid-scroll {
    -webkit-overflow-scrolling: touch; /* Scroll fluido su mobile */
}

    /* Miglioramento visivo per celle */
    .grid-scroll .gridview th,
    .grid-scroll .gridview td {
        vertical-align: middle; /* Allineamento verticale consistente */
    }

    /* Hover states per migliorare l'interattività */
    .grid-scroll .gridview tbody tr:hover {
        background-color: #e3eef9;
        transition: background-color 0.2s ease;
    }





    /* GRIDVIEW PERSONALIZZATA */

/* Stile base per la GridView */
.grid-view {
    border-collapse: collapse;
    width: 100%;
    font-family: Arial, sans-serif;
    font-size: 14px;
    margin: 0;
    padding: 0;
}

    /* Testata e footer con sfondo blu e testo bianco */
    .grid-view th,
    .grid-view .footer-style {
        background-color: Var(--side); /* Blu moderno */
        color: white;
        font-weight: bold;
        padding: 12px 8px;
        text-align: left;
        border: 1px solid #005A9E;
    }

    /* Stile alternato per le righe */
    .grid-view tr:nth-child(even) {
        background-color: #F8F8F8; /* Grigio molto chiaro */
        color: #000000;
    }

    .grid-view tr:nth-child(odd) {
        background-color: #FFFFFF; /* Bianco */
        color: #000000;
    }

    /* Hover effect per le righe */
    .grid-view tr:hover {
        background-color: #E3F2FD; /* Blu chiaro al passaggio del mouse */
        cursor: pointer;
    }

    /* Stile per le celle */
    .grid-view td {
        padding: 10px 8px;
        border: 1px solid #E0E0E0;
        vertical-align: top;
    }

        /* Allineamenti specifici */
        .grid-view th[style*="HorizontalAlign:Right"],
        .grid-view td[style*="HorizontalAlign:Right"] {
            text-align: right;
        }

        .grid-view th[style*="HorizontalAlign:Center"],
        .grid-view td[style*="HorizontalAlign:Center"] {
            text-align: center;
        }

    /* Stile per i link e immagini */
    .grid-view a {
        display: inline-block;
    }

    .grid-view img {
        max-width: 100%;
        height: auto;
    }

/* Responsive design per mobile */
@media screen and (max-width: 768px) {
    .grid-view {
        font-size: 12px;
    }

        .grid-view th,
        .grid-view td {
            padding: 8px 4px;
        }

            /* Nascondi alcune colonne su mobile per migliorare la leggibilità */
            .grid-view th:nth-child(5), /* Liq. Authority */
            .grid-view td:nth-child(5),
            .grid-view th:nth-child(8), /* Type */
            .grid-view td:nth-child(8),
            .grid-view th:nth-child(9), /* Sales Rep */
            .grid-view td:nth-child(9) {
                display: none;
            }

        /* Rendi le celle più compatte */
        .grid-view div {
            margin: 2px 0;
            line-height: 1.2;
        }
}

@media screen and (max-width: 480px) {
    .grid-view {
        font-size: 11px;
    }

        .grid-view th,
        .grid-view td {
            padding: 6px 3px;
        }

            /* Nascondi altre colonne su schermi molto piccoli */
            .grid-view th:nth-child(4), /* Address */
            .grid-view td:nth-child(4),
            .grid-view th:nth-child(6), /* Phone */
            .grid-view td:nth-child(6) {
                display: none;
            }

        /* Stile per il footer su mobile */
        .grid-view .footer-style {
            padding: 8px 4px;
            font-size: 11px;
        }
}

/* Stile per il footer totale */
.grid-view .footer-style {
    font-weight: bold;
    background-color: #0078D7;
    color: white;
    text-align: right;
}

/* Miglioramenti per la visualizzazione mobile */
.grid-view-container {
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch; /* Scroll fluido su iOS */
}

/* Stile per gli header fissi (opzionale per schermi grandi) */
@media screen and (min-width: 769px) {
    .grid-view thead {
        position: sticky;
        top: 0;
        z-index: 100;
    }
}

/* Miglioramenti per la leggibilità */
.grid-view div {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.grid-view .footer-style div {
    text-align: right;
    font-weight: bold;
}


/* STYLE COLONNE */
.form-group-row {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.label-col {
    flex-basis: 150px; /* Larghezza massima preferita */
    text-align: left;
    padding-right: 15px;
    /* Opzionale: impedisce al testo di andare a capo */
    white-space: nowrap;
}

.input-col {
    flex-grow: 1; /* Occupa lo spazio rimanente */
}
