﻿* {
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f5f6fa;
    color: #333;
    height: 100vh; /* Altezza bloccata alla dimensione esatta dello schermo */
    overflow: hidden; /* Nasconde categoricamente la barra di scorrimento principale del browser */
}

/* HEADER COMPATTO (60PX) */
.fixed-header {
    background-color: #252d78;
    color: white;
    padding: 10px 30px;
    height: 60px;
}

.header-left {
    float: left;
    width: 70%;
}

.header-right {
    float: right;
    width: 30%;
    text-align: right;
}

.fixed-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.path-subtitle {
    font-size: 12px;
    color: #bdc3c7;
    margin-top: 2px;
}

.logo-box {
    display: inline-block;
    background-color: white;
    border-radius: 8px;
    padding: 4px 10px;
}

/* LAYOUT LINEARE A DUE COLONNE */
.sidebar-left {
    float: left;
    width: 250px;
    background-color: #fff;
    border-right: 1px solid #e0e0e0;
    padding: 20px;
    height: calc(100vh - 60px - 25px); /* Calcolo preciso: schermo meno header e meno footer */
    overflow-y: auto; /* Se aggiungi troppi bottoni in futuro scatta lo scroll solo qui dentro */
}
/* SE LA SIDEBAR È VUOTA (COME NEL LOGIN), CANCELLALA E ALLARGA IL CONTENUTO */
.sidebar-left:empty {
    display: none !important;
}

.sidebar-left:empty + .content-right {
    margin-left: 0 !important; /* Toglie lo spazio dei 250px e si allarga al 100% dello schermo */
}

/* AREA DRAG AND DROP QUADRATA */
#drop-zone {
    border: 2px dashed #3498db;
    border-radius: 6px;
    width: 210px;
    height: 210px;
    text-align: center;
    background-color: #f8f9fa;
    cursor: pointer;
    padding: 20px;
    margin-bottom: 20px;
    display: table-cell;
    vertical-align: middle;
}

    #drop-zone.hover {
        background-color: #dff9fb;
        border-color: #22a6b3;
    }

    #drop-zone p {
        margin: 0;
        font-size: 13px;
        color: #7f8c8d;
        line-height: 1.4;
    }

    #drop-zone strong {
        color: #3498db;
        display: block;
        margin-bottom: 5px;
    }

.sidebar-buttons {
    display: block;
}

/* AREA DESTRA CON IL PADDING DI 30PX CHE VOLEVI */
.content-right {
    margin-left: 250px;
    padding: 30px;
    height: calc(100vh - 60px - 25px); /* Altezza esatta dello spazio disponibile */
    overflow-y: auto; /* MAGIA: Attiva la barra di scorrimento verticale SOLO qui dentro se i file sono molti */
}

.btn-indietro {
    display: inline-block;
    background-color: #7f8c8d;
    color: white;
    padding: 6px 14px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 20px;
}

    .btn-indietro:hover {
        background-color: #95a5a6;
    }

/* IL WRAPPER BIANCO DI LARGHEZZA GENERALE FISSA */
.grid-wrapper {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #e0e0e0;
    padding: 30px; /* Padding interno di 30px richiesto attorno al gridview */
    width: 100%;
}

/* GRIDVIEW LINEARE AL 100% */
.tabella-files {
    width: 100%;
    border-collapse: collapse;
}

    .tabella-files th {
        background-color: #252d78;
        color: white;
        padding: 8px 12px;
        text-align: left;
        font-size: 14px;
        font-weight: 600;
        border-bottom: 12px solid transparent; /* Crea lo spazio vuoto (es. 10px) */
        background-clip: padding-box; /* Impedisce al colore scuro dell'header di colorare lo spazio vuoto */
    }

    .tabella-files td {
        padding: 3px 5px;
        border-bottom: 1px solid #eee;
        font-size: 14px;
        vertical-align: middle;
    }

    .tabella-files tr:last-child td {
        border-bottom: none;
    }

    .tabella-files tr:hover {
        background-color: #fdfdfd;
    }

    .tabella-files th a {
        color: #ffffff !important; /* Forza il testo a rimanere bianco candido */
        text-decoration: none !important; /* Rimuove la brutta sottolineatura nativa blu */
        display: inline-block;
        width: 100%;
    }

        /* EFFETTO VISIVO AL PASSAGGIO DEL MOUSE SUI TITOLI DELLE COLONNE */
        .tabella-files th a:hover {
            color: #90caf9 !important; /* Diventa azzurro chiaro quando ci passi sopra */
            text-decoration: underline !important; /* Fa comparire la sottolineatura di orientamento */
        }

    /* OPZIONALE: Se vuoi dare un indizio che la colonna è ordinabile, cambiamo il cursore */
    .tabella-files th {
        cursor: pointer;
    }

.allinea-destra-header {
    text-align: right !important;
}

/* BOTTONI ARROTONDATI */
.btn-action {
    display: inline-block;
    color: #252d78;
    background-color: #ecf0f1;
    border: 1px solid #bdc3c7;
    padding: 0 12px 2px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
}

    .btn-action:hover {
        background-color: #252d78;
        color: white;
        border-color: #252d78;
    }

.messaggio-errore {
    display: block;
    padding: 10px;
    background-color: #fab1a0;
    color: #d63031;
    border-radius: 4px;
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 14px;
}

.btn-elimina {
    background-color: #fab1a0 !important;
    color: #d63031 !important;
    border-color: #e17055 !important;
}

    /* EFFETTO ON MOUSEOVER: DIVENTA ROSSO SCURO AL PASSAGGIO DEL MOUSE */
    .btn-elimina:hover {
        background-color: #d63031 !important;
        color: #ffffff !important;
        border-color: #b33925 !important;
    }

/* FOOTER */
.fixed-footer {
    clear: both;
    background-color: #252d78;
    color: #bdc3c7;
    font-size: 11px;
    height: 25px;
    line-height: 25px;
    text-align: center;
}

.footer-link {
    color: #90caf9 !important;
    text-decoration: none;
    font-weight: bold;
    margin-left: 5px;
    transition: color 0.2s ease;
}

    .footer-link:hover {
        color: #e3f2fd !important; /* Azzurro quasi bianco, iper-luminoso */
        text-decoration: underline;
    }
/* =========================================================================
   STILI PER IL RIQUADRO DI LOGIN COMPATTO E ORIZZONTALE
   ========================================================================= */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 180px);
    background-color: #f5f6fa;
}

/* RETTANGOLO ORIZZONTALE COMPATTO */
.login-box {
    background-color: #ffffff;
    width: 100%;
    max-width: 620px; /* Ridotto leggermente da 680px per proporzione */
    padding: 25px 35px; /* Ridotto il padding verticale da 35px a 25px */
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #e0e0e0;
}

/* LOGO AZIENDALE CON MARGINE INFERIORE MINIMO */
.login-logo-wrapper {
    text-align: center;
    margin-bottom: 2px; /* Ridotto al minimo sindacale per avvicinarlo al titolo */
}

.login-box h3 {
    margin-top: 0;
    margin-bottom: 15px; /* Ridotto il margine inferiore del titolo da 25px a 15px */
    color: #252d78;
    font-size: 18px; /* Leggermente più piccolo */
    font-weight: 600;
    text-align: center;
}

/* CONTENITORE PER CAMPI AFFIANCATI */
.form-row {
    display: flex;
    gap: 15px; /* Spazio ridotto tra i campi da 20px a 15px */
    margin-bottom: 15px; /* Ridotto da 20px a 15px */
}

.form-group-half {
    flex: 1;
}

    .form-group-half label {
        display: block;
        margin-bottom: 4px; /* Ridotto da 6px a 4px */
        font-size: 12px; /* Carattere più piccolo per le scritte Nome utente e Password */
        font-weight: 600;
        color: #57606f;
    }

/* CASSELLA DI TESTO SNELLA (RIDOTTE DIMENSIONI) */
.input-control {
    width: 100%;
    padding: 6px 10px; /* Ridotto significativamente il padding interno da 10px a 6px */
    font-size: 13px; /* Ridotto la dimensione del testo digitato da 14px a 13px */
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f8f9fa;
    transition: border-color 0.2s;
}

    .input-control:focus {
        border-color: #3498db;
        outline: none;
        background-color: #fff;
    }

.disclaimer-box {
    background-color: #f8f9fa;
    border: 1px solid #ebd3cd;
    padding: 10px; /* Compatto da 12px a 10px */
    border-radius: 6px;
    font-size: 11px;
    color: #7f8c8d;
    line-height: 1.4;
    margin-bottom: 12px; /* Ridotto da 15px a 12px */
    text-align: justify;
}

.checkbox-group {
    margin-bottom: 18px; /* Ridotto da 25px a 18px */
    font-size: 12px; /* Leggermente più piccolo */
    color: #252d78;
}

/* CENTRATURA E DIMENSIONE RIDOTTA DEL PULSANTE */
.btn-login-wrapper {
    text-align: center;
}

.btn-login {
    width: auto;
    min-width: 150px; /* Ridotto da 180px a 150px per un bottone più aggraziato */
    padding: 8px 20px; /* Ridotto il padding interno */
    font-size: 13px; /* Ridotto da 14px a 13px */
    font-weight: bold;
    color: white;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}

.btn-enabled {
    background-color: #252d78;
}

    .btn-enabled:hover {
        background-color: #252d78;
    }

.btn-disabled {
    background-color: #bdc3c7;
    cursor: not-allowed;
}
/* FORZATURA CENTRATURA TOTALE PER LA PAGINA DI LOGIN */
body:has(.login-container) .content-right {
    margin-left: 0 !important; /* Elimina i 250px di spazio vuoto a sinistra */
    width: 100% !important; /* Allarga il pannello a tutto schermo */
    display: flex !important; /* Attiva Flexbox */
    justify-content: center; /* Centra il box in orizzontale */
    align-items: center; /* Centra il box in verticale */
    padding: 0 !important; /* Evita sobbalzi di padding */
}

/* =========================================================================
   STILI PER LA SCELTA DELLA DATAROOM
   ========================================================================= */

/* Formattazione iper-compatta per la lista verticale di RadioButton */
.rbl-dataroom {
    width: 100%;
    margin-bottom: 12px;
}

    .rbl-dataroom table {
        width: 100%;
        border-collapse: collapse;  
    }

    .rbl-dataroom td {
        padding: 0 12px 6px 12px; 
        border: 1px solid #e0e0e0;
        border-radius: 5px;
        background-color: #f8f9fa;
        margin-bottom: 5px; /* Avvicina le righe tra loro riducendo lo stacco da 10px a 5px */
        display: block;
        transition: all 0.15s ease;
    }

        .rbl-dataroom td:hover {
            border-color: #3498db;
            background-color: #f1f9fe;
        }

    .rbl-dataroom input[type="radio"] {
        margin-right: 8px; 
        vertical-align: middle;
        cursor: pointer;
    }

    .rbl-dataroom label {
        font-size: 13px; 
        font-weight: 600;
        color: #252d78;
        cursor: pointer;
        vertical-align: middle;
    }

/* COMPATTAZIONE TOTALE PER CHECKBOXLIST E RADIOBUTTONLIST */
.cbl-filtri tr,
.cbl-filtri td {
    padding: 1px 0 !important; 
    margin: 0 !important;
    line-height: 1.1 !important;
    height: auto !important;
}

.cbl-filtri input[type="checkbox"],
.cbl-filtri input[type="radio"] {
    margin: 0 4px 0 0 !important;
    vertical-align: middle !important;
    cursor: pointer;
}

.cbl-filtri label {
    font-size: 12px !important;
    color: #252d78 !important;
    cursor: pointer;
    vertical-align: middle !important;
    font-weight: normal !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}