/* ============================================================
   Forza rendering "desktop" nel backoffice.
   Sui PC aziendali con scaling Windows a 125/150% (o zoom browser) la viewport
   effettiva si restringe: il menu del tema va a capo e i contenuti si accavallano.
   Qui imponiamo una larghezza minima della pagina: sotto quella soglia si scrolla
   in orizzontale invece di collassare/sovrapporsi. Questo CSS è caricato SOLO dalle
   pagine backoffice (ALBView::render), quindi non tocca il sito pubblico.
   NB: la causa vera è lo scaling/zoom del client; questo è il "pavimento" lato app.
   Valore regolabile: alza/abbassa i 1280px per stringere o allargare.
   ============================================================ 
html, body { min-width: 1280px !important; }
html { overflow-x: auto !important; }

/* ============================================================
   Sidebar centralizzata — operatore + supervisore
   Colore aziendale activemenu: #118800 | link neutri: #454545
   ============================================================ */

.alb-sidebar {
    position: relative;
    transition: all .2s ease;
    min-height: 100vh;
    background: #f8f8f8;
    border-right: 1px solid #e8e8e8;
}

/* Stato compresso (solo operatore, ha il toggle) */
.alb-sidebar.alb-sidebar-collapsed { width: 58px !important; min-width: 58px; flex: none; padding: 0; }
.alb-sidebar.alb-sidebar-collapsed .alb-sidebar-full { display: none !important; }
.alb-sidebar.alb-sidebar-collapsed .alb-sidebar-mini { display: block !important; }
.alb-sidebar.alb-sidebar-collapsed .list-group-item { text-align: center; padding: 10px 0; }

/* Header profilo */
.alb-sidebar .side-userprofile { text-align: center; padding: 14px 0 6px; }
.alb-sidebar .icon-utente { margin-bottom: 4px; }
.alb-sidebar .circle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #118800;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
}
.alb-sidebar .circle-icon:hover,
.alb-sidebar .circle-icon:focus { color: #fff; opacity: .9; text-decoration: none; }

.alb-sidebar .utente-info-name {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-top: 6px;
    padding: 0 10px;
    color: #454545;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.alb-sidebar .utente-info-email {
    display: block;
    font-size: 11px;
    color: #888;
    padding: 0 10px 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Voci di menu */
.alb-sidebar .list-group { margin-bottom: 0; }
.alb-sidebar .list-group-item {
    border-radius: 0 !important;
    border-left: none;
    border-right: none;
    font-size: 13px;
    background: #fff;
    color: #454545;
}
.alb-sidebar .list-group-item:hover,
.alb-sidebar .list-group-item:focus { background: #eef3ff; color: #454545; text-decoration: none; }
.alb-sidebar .list-group-item ion-icon { color: #454545; vertical-align: middle; }

/* Voce attiva — colore aziendale */
.alb-sidebar .list-group-item.activemenu { background: #118800; color: #fff; border-color: #2e950f; }
.alb-sidebar .list-group-item.activemenu:hover,
.alb-sidebar .list-group-item.activemenu:focus { background: #2e950f; color: #fff; }
.alb-sidebar .list-group-item.activemenu ion-icon { color: #fff; }

/* ============================================================
   Toggle stato attivo/disattivo (backoffice)
   Usato da active-toggle.php e dalle righe permessi operatore.
   ============================================================ */
.alb-switch { position: relative; display: inline-flex; align-items: center; cursor: pointer; margin: 0; font-weight: normal; }
.alb-switch input[type=checkbox] { position: absolute; opacity: 0; width: 0; height: 0; }
.alb-switch .alb-switch-slider {
    position: relative; display: inline-block; width: 46px; height: 24px; flex: none;
    background: #c9ccd1; border-radius: 24px; transition: background .2s;
}
.alb-switch .alb-switch-slider:before {
    content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px;
    background: #fff; border-radius: 50%; box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: transform .2s;
}
.alb-switch input[type=checkbox]:checked + .alb-switch-slider { background: #118800; }
.alb-switch input[type=checkbox]:checked + .alb-switch-slider:before { transform: translateX(22px); }
.alb-switch .alb-switch-label { margin-left: 10px; font-weight: 600; color: #8a8f98; }
.alb-switch input[type=checkbox]:checked ~ .alb-switch-label { color: #2e950f; }
