﻿/*

La proprietà 'font-family' è impostata su 'Inter' come richiesto.

Se Inter non è disponibile, verranno utilizzati font generici sans-serif.

*/
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;
    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;
}

h2 {
    font-size: 2rem; /* 2.25 volte la dimensione base (36px se html è 16px) */
    font-weight: 600; /* Semi-bold */
    color: #0f766e; /* Tailwind: text-teal-700 */
}

p {
    font-size: 1.125rem; /* 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: 1rem; /* 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: 1rem;
    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: 8px 6px;
        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: 0.875rem; /* 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: #0f766e; /* 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: #0C5A54; /* 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;
    }

/* Styling for Textbox elements */
input[type="search"],
input[type="text"],
input[type="password"],
input[type="date"] {
    padding: 4px 4px 4px 4px;
    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;
}

    input[type="search"]:focus,
    input[type="text"]:focus,
    input[type="password"]:focus,
    input[type="date"]:focus {
        border-color: #6366f1;
        box-shadow: 0 0 0 3px rgba(99, 102, 241, 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);
    }

/* 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: #4a4a4a;
        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: 16px;
            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.5rem;
    font-weight: 600;
    color: #0f766e;
    text-align: center;
}

SideBarTextSubMenu {
    font-size: 2rem;
    font-weight: 600;
    color: #0f766e;
}

.SideBarTextSubTitle {
    font-weight: 400;
    font-size: 1rem;
    color: #0f766e;
    padding: 4px 0 4px 0;
    letter-spacing: 1px;
}



.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: 10pt;
    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: 10pt;
    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: 10pt !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: 10pt !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: #fff;
    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 {
    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 TABLE*/
.responsive-table {
    /*width: 100%;*/
    /*background-color: antiquewhite;*/
}

    .responsive-table th,
    .responsive-table td {
        padding: 10px; /* Equivalente a cellpadding="2" */
        text-align: left;
    }


