﻿/*------ HOME ------*/
/* ==========================================================================
   SEZIONE 1: LAYOUT & STRUTTURA RUBRICA/AGENDA
   Questi stili definiscono l'allineamento, la disposizione e le forme a pillola.
   ========================================================================== */

/* Container principale: tutto su una riga senza andare a capo */
.rubrica-header-inline {
    display: flex !important;
    flex-wrap: nowrap !important; /* Forza la singola riga */
    flex-direction: row !important;
    align-items: center !important; /* Centra verticalmente */
    justify-content: space-between;
    gap: 15px;
    padding: 5px 0;
    width: 100%;
}

/* Container principale: Forza la riga unica e l'allineamento centrale */
.toolbar-bottoni {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Impedisce categoricamente di andare a capo */
    align-items: center !important; /* Allinea tutti gli elementi verticalmente */
    justify-content: space-between !important;
    gap: 8px !important; /* Spazio ridotto tra gli elementi per compattezza */
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Applica lo stile uniforme al titolo (H5) */
.pill-title-static {
    /* Proprietà base uniformi */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    color: darkred !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 0px rgba(0, 0, 0, 0.2) !important;
    border: none !important;
    margin: 0 !important;
    height: 38px !important; /* Altezza fissa per uniformità */
    white-space: nowrap !important;
    font-size: 14px !important;
    /* Specifiche del titolo */
    padding: 0px 20px !important; /* Padding specifico per il testo del titolo */
    font-weight: bold !important;
    cursor: default !important;
    transition: none !important;
    transform: none !important;
    line-height: 1 !important; /* Assicura il centraggio del testo */
}

/* Gruppo bottoni centrale */
.toolbar-bottoni-group {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}

/* Applica lo stile uniforme ai bottoni, aggiungendo padding e interazioni */
.btn-floating-modern {
    /* Proprietà base uniformi */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    color: darkred !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 0px rgba(0, 0, 0, 0.2) !important;
    border: none !important;
    margin: 0 !important;
    height: 38px !important; /* Altezza fissa per uniformità */
    white-space: nowrap !important;
    font-size: 14px !important;
    /* Specifiche dei bottoni */
    padding: 0px 15px !important; /* Padding specifico per bottoni con icone/testo */
    gap: 6px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

    .btn-floating-modern:hover {
        transform: translateY(-3px) !important; /* Si alza leggermente */
        background-color: #fffaf0 !important; /* Diventa crema al passaggio */
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.4) !important; /* Ombra profonda al volo */
    }


/* Applica lo stile uniforme al contenitore di ricerca */
.input-group-pill {
    /* Proprietà base uniformi */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    color: darkred !important;
    border-radius: 50px !important;
    border: 1px solid #ccc !important; /* Aggiunge un bordo alla ricerca per differenziarla */
    margin: 0 !important;
    height: 38px !important; /* Altezza fissa per uniformità */
    white-space: nowrap !important;
    /* Specifiche del gruppo input */
    padding: 0 !important; /* Rimuove padding dal contenitore, gestito internamente */
    overflow: hidden !important;
    /* Usa un'ombra diversa per differenziarla dai bottoni floating */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Campo di input interno */
.filtro-input-pill {
    border: none !important;
    padding: 0 0 0 15px !important; /* Spazio a sinistra del testo */
    height: 100% !important;
    outline: none !important;
    font-size: 10px !important;
    width: 150px !important;
    background: transparent !important;
}

/* Bottone CERCA interno */
.btn-pill-append {
    background: darkred !important;
    color: white !important;
    border: none !important;
    height: 100% !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    font-size: 11px !important;
    font-weight: bold !important;
    transition: background 0.3s !important;
    /* Rimuove bordi arrotondati non necessari */
    border-radius: 0 !important;
}

    .btn-pill-append:hover {
        background: #8b0000;
    }


/* --- CONTENITORE PRINCIPALE (Generico) --- */
.rubrica-container {
    background: #ffffff;
    border-radius: 12px;
    height: 300px;
    overflow: hidden;
    border: 1px solid #d1d1d1;
    font-family: 'Segoe UI', Tahoma, Helvetica, sans-serif;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* --- HEADER DELLA RUBRICA --- */
.rubrica-header {
    display: flex;
    justify-content: space-between; /* Spinge titolo a sx e filtro a dx */
    align-items: center;
    padding: 6px 12px;
    gap: 10px;
    overflow: hidden; /* Impedisce la fuoriuscita */
}

    .rubrica-header h5 {
        font-size: 13px;
        font-weight: 700;
        color: #2c3e50;
        margin: 0;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

/* --- AREA DI SCROLL --- */
.rubrica-scroll {
    height: 210px; /* Bilanciato per l'altezza totale di 250px */
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
}

/* --- STILE TABELLA Personalizzata --- */
.custom-rubrica-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}

    /* Header Tabella Fisso (Sticky) - Versione Ultra-Slim */
    .custom-rubrica-table th {
        position: sticky;
        top: 0;
        background: #ffffff;
        color: #888;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 9px; /* Font leggermente ridotto per stare nel basso profilo */
        padding: 2px 10px; /* Padding verticale ridotto al minimo (2px) */
        line-height: 1.2; /* Interlinea compatta */
        height: 18px; /* Altezza fissa minima */
        z-index: 10;
        border-bottom: 2px solid #eee; /* Mantiene la distinzione visiva */
        text-align: left;
    }

    /* Celle con altezza +10% */
    .custom-rubrica-table td {
        padding: 4px 10px !important; /* Spazio bilanciato per leggibilità */
        font-size: 11.5px;
        color: #444;
        border-bottom: 1px solid #f8f8f8;
        white-space: nowrap;
        vertical-align: middle;
        transition: all 0.2s ease;
    }


    /* --- HOVER ELEGANTE (RIPRISTINATO) --- */
    .custom-rubrica-table tr:hover td {
        background-color: #f0f7ff !important; /* Azzurro chiarissimo raffinato */
        color: #007bff !important; /* Testo blu moderno */
        cursor: pointer;
    }

/* --- STILI COLONNE SPECIFICHE --- */
/* (Assicurati di assegnare queste classi nel RowDataBound o nelle ItemStyle del GridView) */
/* Stile per l'icona all'interno della colonna nome */
.col-nome .bi-pin-fill {
    margin-right: 8px;
    color: #007bff; /* Colore blu o quello preferito */
    vertical-align: middle;
}

/* Stili esistenti forniti */
.col-nome {
    font-weight: 600;
    color: #222;
}

.col-tel {
    font-weight: 700;
    color: #dc3545; /* Risalto per il numero di telefono */
}
/*-----------------------*/

/* Stile per l'icona accanto al nominativo */
.col-icon {
    color: #3498db;
    margin-right: 8px;
}

/* ==========================================================================
   SEZIONE 2: BOTTONI & EFFETTI GENERALI (Floating, Neumorphic, ecc.)
   Questi stili sono generici e possono essere usati in tutta l'applicazione.
   ========================================================================== */

.btn-floating-modern {
    display: inline-block;
    padding: 8px 20px;
    margin-bottom: 4px;
    background-color: #ffffff; /* Bianco puro per staccare dal darkred */
    color: darkred !important; /* Testo rosso scuro */
    text-decoration: none;
    border-radius: 50px; /* Forma a pillola, molto 2026 */
    font-size: 14px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Effetto pop-up */
    box-shadow: 0 4px 0px rgba(0, 0, 0, 0.2); /* Ombra piatta iniziale */
}

    .btn-floating-modern:hover {
        transform: translateY(-3px); /* Si alza leggermente */
        background-color: #fffaf0; /* Diventa crema al passaggio */
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.4); /* Ombra profonda al volo */
        text-decoration: none;
    }

.btn-floating-soft {
    display: inline-block;
    margin-top: 8px;
    padding: 6px 18px;
    background-color: #dc3545; /* Rosso per richiamare l'urgenza */
    color: white !important;
    text-decoration: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.2);
}

    .btn-floating-soft:hover {
        transform: translateY(-3px); /* Effetto Floating */
        background-color: #bb2d3b; /* Rosso leggermente più scuro */
        box-shadow: 0 6px 12px rgba(220, 53, 69, 0.3);
        text-decoration: none;
    }

.btn-floating-neumorphic {
    cursor: pointer;
    border: none;
    padding: 8px 25px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #dc3545;
    background: #e0e0e0; /* Stesso colore dello sfondo per l'effetto fusione */
    border-radius: 10px;
    /* Ombre per effetto "rilievo" */
    box-shadow: 5px 5px 10px #bebebe, -5px -5px 10px #ffffff;
    transition: all 0.2s ease-in-out;
}

    .btn-floating-neumorphic:hover {
        /* Effetto Floating al passaggio */
        transform: translateY(-2px);
        color: #b02a37;
        box-shadow: 7px 7px 15px #b1b1b1, -7px -7px 15px #ffffff;
    }

    .btn-floating-neumorphic:active {
        /* Effetto "premuto" (pushed) */
        transform: translateY(1px);
        box-shadow: inset 2px 2px 5px #bebebe, inset -2px -2px 5px #ffffff;
    }

.msg-container-floating {
    text-align: center;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.5); /* Effetto vetro */
    backdrop-filter: blur(5px);
    border-radius: 12px;
    transition: all 0.4s ease-in-out;
    cursor: default;
}

    /* Leggera animazione automatica o al passaggio */
    .msg-container-floating:hover {
        transform: translateY(-5px); /* Effetto Floating */
        background: rgba(255, 255, 255, 0.8);
        box-shadow: 0 15px 30px rgba(220, 53, 69, 0.1); /* Glow rosso pallido */
    }

/* Stile per il link/testo all'interno */
#messaggio_for_all {
    display: block;
    transition: color 0.3s ease;
}

    #messaggio_for_all:hover {
        color: #dc3545 !important; /* Il testo diventa rosso al passaggio */
    }

/* Badge circolare per il numero */
.badge-count {
    display: inline-block;
    background-color: #dc3545;
    color: white;
    padding: 2px 10px;
    border-radius: 6px;
    margin-right: 5px;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3);
}

/* Pulsante Floating per il riordino */
.btn-inventory-alert {
    display: inline-block;
    padding: 8px 16px;
    background-color: #fff;
    color: #dc3545 !important;
    border: 1px solid #dc3545;
    text-decoration: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    text-align: center;
}

    .btn-inventory-alert:hover {
        transform: translateY(-3px); /* Effetto Floating */
        background-color: #dc3545;
        color: #ffffff !important;
        box-shadow: 0 8px 15px rgba(220, 53, 69, 0.2);
        text-decoration: none;
    }

/* Indicatore laterale che pulsa leggermente */
.status-indicator {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background-color: #dc3545;
    animation: pulse-red 2s infinite;
}

@keyframes pulse-red {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        opacity: 1;
    }
}

/* Effetto floating sul contenitore quando ci passi sopra */
#Alert_meeting {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
    cursor: pointer;
}

    #Alert_meeting:hover {
        transform: scale(1.02) translateY(-2px); /* Effetto floating combinato con zoom */
        box-shadow: 0 12px 25px rgba(0,0,0,0.1);
        border-color: #dc3545;
    }

/* Stile per il nome della sala riunioni */
#sala_riunioni {
    position: relative;
    padding-bottom: 2px;
    border-bottom: 2px solid rgba(220, 53, 69, 0.2);
    transition: border-color 0.3s ease;
}

#Alert_meeting:hover #sala_riunioni {
    border-color: #dc3545;
}

/*------ FINE HOME ------*/

/*------ SW_TIMBRATURE ------*/

.sw-container {
    display: flex;
    justify-content: center;
    padding-top: 50px;
    background-color: #f4f7f6;
    min-height: 80vh;
}

.sw-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    width: 100%;
    max-width: 500px;
    border: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.sw-header {
    color: #2d3436;
    border-bottom: 2px solid #f1f1f1;
    padding-bottom: 20px;
    text-align: center;
    margin-bottom: 20px;
}

#liveClock {
    font-size: 45pt; /* Leggermente più piccolo per dare respiro */
    font-weight: 500; /* Peso "Light": molto più elegante e pulito */
    line-height: 1.2; /* Aumenta lo spazio verticale */
    letter-spacing: 2px; /* Distanzia leggermente i numeri */
    color: #2d3436; /* Un grigio antracite invece del nero puro */
}

#liveDate {
    font-size: 14pt;
    font-weight: 400; /* Peso normale per la data */
    color: #636e72;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.sw-status-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: #636e72;
    margin-bottom: 5px;
}

.sw-badge {
    font-size: 1.8rem !important;
    padding: 10px 20px !important;
    border-radius: 12px !important;
    background-color: #f8f9fa;
    display: inline-block;
    border: 1px solid #eee;
}

.sw-action-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

/* --- BOTTONI CHIARI CON TESTO E BORDO COLORATO --- */
.btn-sw-light {
    width: 500px;
    height: 100px;
    /* Riduciamo il font base e usiamo i pixel */
    font-size: 80px;
    font-weight: 600;
    border-radius: 15px;
    background-color: #ffffff;
    border: 1px solid #dcdcdc;
    cursor: pointer;
    transition: all 0.1s ease;
    display: block;
    margin: 0 auto 25px auto;
    /* Allinea il testo verticalmente al centro dei 100px */
    line-height: 100px;
    text-align: center;
    padding: 0;
    overflow: hidden; /* Impedisce al testo di uscire */
}

/* Stile ENTRATA: Scritta Verde e Bordo sotto Verde */
.btn-ent-light {
    font-size: 60px !important; /* Prova 35px, se è ancora grande metti 30px */
    color: #198754;
    box-shadow: 0 8px 0 #198754;
}

    .btn-ent-light:hover {
        background-color: #f9fffb;
    }

/* Stile USCITA: Scritta Rossa e Bordo sotto Rosso */
.btn-usc-light {
    font-size: 70px !important;
    color: #dc3545;
    box-shadow: 0 8px 0 #dc3545;
}

    .btn-usc-light:hover {
        background-color: #fff9f9;
    }

/* Stile FUORI SEDE: Scritta Arancione e Bordo sotto Arancione */
.btn-qr-light {
    color: #fd7e14;
    font-size: 28px !important; /* Più piccolo perché la scritta è lunga */
    box-shadow: 0 8px 0 #fd7e14;
}

/* Effetto Pressione */
.btn-sw-light:active {
    transform: translateY(6px);
    box-shadow: 0 2px 0 #999;
}

/* Input Username/Password */
.custom-input-group {
    width: 460px;
    margin: 0 auto 10px auto;
}

.btn-auth {
    width: 460px;
    height: 45px;
    font-weight: 600;
    border-radius: 8px;
    border: none;
    background-color: #6c757d;
    color: white;
    margin-bottom: 5px;
}

.btn-logout {
    background-color: #8b0000;
}

.btn-pwd {
    background-color: #dee2e6;
    color: black;
}

/*------ FINE SW_TIMBRATURE ------*/

/*------ CENTRALINO ------*/
/* Occupa tutto lo schermo */
.container-fluid-full {
    width: 100%;
    padding: 5px;
    background-color: #f4f7f6;
}

.dashboard-col {
    padding: 5px !important;
}

.card-floor {
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    height: 85vh; /* Altezza dinamica rispetto allo schermo */
    display: flex;
    flex-direction: column;
}

.card-floor-half {
    height: 42vh !important;
}

.header-floor {
    padding: 10px;
    color: white;
    font-weight: bold;
    text-align: center;
    border-radius: 8px 8px 0 0;
    font-size: 1.1rem;
}

/* Colori distintivi per piano */
.bg-reception {
    background-color: #2c3e50;
}

.bg-piano1 {
    background-color: #2980b9;
}

.bg-piano2 {
    background-color: #8e44ad;
}

.bg-piano3 {
    background-color: #27ae60;
}

.bg-piano4 {
    background-color: #4800ff;
}

.bg-piano5 {
    background-color: cornflowerblue;
}

.table-container {
    flex-grow: 1;
    overflow-y: auto; /* Scroll solo dentro la tabella */
    padding: 5px;
}

.custom-gv {
    font-size: 13px;
    border: none;
}

    .custom-gv th {
        position: sticky;
        top: 0;
        background: #eee;
        z-index: 10;
        border-top: none;
        font-size: 11px;
        text-transform: uppercase;
    }

/* Pulsanti compatti per risparmiare spazio */
.btn-action {
    border: none;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
}

.btn-e {
    background-color: #28a745;
    color: white;
}

.btn-u {
    background-color: #dc3545;
    color: white;
}
/*------ FINE CENTRALINO ------*/






/* END */