@charset "UTF-8";

:root,
[data-bs-theme=light] {
    --tblr-gray: #4c496c;
    --tblr-gray-dark: #211d3b;
    --tblr-gray-100: #f1f5f9;
    --tblr-gray-200: #e2e8f0;
    --tblr-gray-300: #c8d3e1;
    --tblr-gray-400: #c9c1d6;
    --tblr-gray-500: #736c91;
    --tblr-gray-600: #4c496c;
    --tblr-gray-700: #333152;
    --tblr-gray-800: #211d3b;
    --tblr-gray-900: #1a0f2a;
    --tblr-primary: #248C86;
    --tblr-secondary: #66626c;
    --tblr-success: #42ba96;
    --tblr-info: #467fd0;
    --tblr-warning: #ffc107;
    --tblr-danger: #df4759;
    --tblr-light: #f8fafc;
    --tblr-dark: #241f2d;
    --tblr-muted: #66626c;
    --tblr-tabler: #7c69ef;
    --tblr-primary-rgb: 36, 140, 134;
    --tblr-secondary-rgb: 102, 98, 108;
    --tblr-success-rgb: 66, 186, 150;
    --tblr-info-rgb: 70, 127, 208;
    --tblr-warning-rgb: 255, 193, 7;
    --tblr-danger-rgb: 223, 71, 89;
    --tblr-light-rgb: 248, 250, 252;
    --tblr-dark-rgb: 36, 31, 45;
    --tblr-muted-rgb: 102, 98, 108;
    --tblr-tabler-rgb: 124, 105, 239;
    --tblr-primary-text-emphasis: #322a60;
    --tblr-secondary-text-emphasis: #42444b;
    --tblr-success-text-emphasis: #1a4a3c;
    --tblr-info-text-emphasis: #1c3353;
    --tblr-warning-text-emphasis: #664d03;
    --tblr-danger-text-emphasis: #591c24;
    --tblr-light-text-emphasis: #333152;
    --tblr-dark-text-emphasis: #333152;
    --tblr-primary-bg-subtle: #e5e1fc;
    --tblr-secondary-bg-subtle: #edeef1;
    --tblr-success-bg-subtle: #d9f1ea;
    --tblr-info-bg-subtle: #dae5f6;
    --tblr-warning-bg-subtle: #fff3cd;
    --tblr-danger-bg-subtle: #f9dade;
    --tblr-light-bg-subtle: #f8fafc;
    --tblr-dark-bg-subtle: #a09bbe;
    --tblr-primary-border-subtle: #cbc3f9;
    --tblr-secondary-border-subtle: #dbdde4;
    --tblr-success-border-subtle: #b3e3d5;
    --tblr-info-border-subtle: #b5ccec;
    --tblr-warning-border-subtle: #ffe69c;
    --tblr-danger-border-subtle: #f2b5bd;
    --tblr-light-border-subtle: #e2e8f0;
    --tblr-dark-border-subtle: #736c91;
    --tblr-body-font-size: 0.875rem;
    --tblr-body-font-weight: 400;
    --tblr-body-line-height: 1.4285714286;
    --tblr-body-color: #241f2d;
    --tblr-body-color-rgb: 36, 31, 45;
    --tblr-body-bg: #f1f5f9;
    --tblr-body-bg-rgb: 241, 245, 249;
    --tblr-emphasis-color: #000;
    --tblr-emphasis-color-rgb: 0, 0, 0;
    --tblr-secondary-color: rgba(36, 31, 45, .75);
    --tblr-secondary-color-rgb: 36, 31, 45;
    --tblr-secondary-bg: #e2e8f0;
    --tblr-secondary-bg-rgb: 226, 232, 240;
    --tblr-tertiary-color: rgba(36, 31, 45, .5);
    --tblr-tertiary-color-rgb: 36, 31, 45;
    --tblr-tertiary-bg: #f1f5f9;
    --tblr-tertiary-bg-rgb: 241, 245, 249;
    --tblr-link-color: #248C86;
    --tblr-link-color-rgb: 36, 140, 134;
    ;
    --tblr-link-hover-color: #14524A;
    --tblr-link-hover-color-rgb: 20, 82, 74;
    --tblr-border-color: #e7e6e7;
    --tblr-border-color-translucent: rgba(102, 98, 108, .16);
    --tblr-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);
    --tblr-focus-ring-width: 0.25rem;
    --tblr-focus-ring-opacity: 0.25;
    --tblr-focus-ring-color: rgba(124, 105, 239, .25);
    --tblr-form-valid-color: #42ba96;
    --tblr-form-valid-border-color: #42ba96;
    --tblr-form-invalid-color: #df4759;
    --tblr-form-invalid-border-color: #df4759;
    --tblr-danger-text: var(--tblr-danger);
    --tblr-navbar-border-color: transparent;
    --bg-switch-checked-color: var(--tblr-primary, #248C86);
}

.form-switch.switch .switch-input.form-check-input:checked,
.form-switch.switch .switch-input:checked + .switch-slider {
    background-color: var(--bg-switch-checked-color, var(--tblr-primary)) !important;
    border-color: var(--bg-switch-checked-color, var(--tblr-primary)) !important;
}



@media (min-width: 768px) {
    .ingredients-recipe [bp-field-type="relationship.select"] {


        flex: 0 0 auto;
        width: 33%;

    }

}

@media(max-width:992px) {
    /* Rimosso position:absolute che rompeva il fixed della quick-menu e causava overflow.
       Il top offset della topbar mobile è gestito dal tema Tabler con padding nativo. */
    .page-body {
        position: relative;
        width: 100%;
        overflow-x: hidden;
    }
}

.navbar-nav i.d-lg-none {
    display: inline-block !important;
}

.close.delete-element,
.close.move-up-element,
.close.move-down-element {
    background: rgb(240, 240, 240);
}


.product-ingredients-table td:not(:nth-child(1)),
.product-ingredients-table th:not(:nth-child(1)) {
    text-align: right;
}

.theme-light {

    .product-ingredients-table {
        background: white;
        box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2);
        border-radius: 5px
    }

    .product-ingredients-table thead {
        background: rgba(0, 0, 0, .05);
    }

    .product-ingredients-table.table-striped>tbody>tr:nth-of-type(even)>* {
        --tblr-table-accent-bg: rgba(0, 0, 0, .05) !important;
    }
}

.theme-dark {

    .product-ingredients-table {
        background: rgba(0, 0, 0, 0.5);
        box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2);
        border-radius: 5px
    }

    .product-ingredients-table thead {
        background: rgba(0, 0, 0, .8);
    }

    .product-ingredients-table.table-striped>tbody>tr:nth-of-type(even)>* {
        --tblr-table-accent-bg: rgba(0, 0, 0, .4) !important;
    }
}

.action-toggler {

    color: var(--tblr-dark-fg);
    background: var(--tblr-dark);
    padding: 4px 10px;
    width: auto;

    span {
        margin: 0 5px;
    }

}

#navbar-action-products .nav-item {
    margin: 5px;
    display: flex;

    big {
        padding: 10px 0;
        display: block;
    }
}
.weigh-collumns .navbar{
    margin-top:20px;
}
.weigh-collumns .navbar .justify-content-end{
justify-content: normal !important;
}

.logo-header {
    max-height: 30px;
}

.theme-dark .logo-header {
    filter: brightness(100);
}


.product-notes .ck-editor__editable_inline {
    min-height: 360px;
}

.jsoneditor {
    border-color: rgba(102, 98, 108, .16) !important;

    .jsoneditor-menu {
        background-color: rgba(102, 98, 108, .7) !important;
        border-color: rgba(102, 98, 108, .2) !important;
    }

}

.jsoneditor-column .jsoneditor-menu {
    display: none;
}

[bp-section="crud-operation-show"] .card {
    --tblr-card-spacer-x: 1rem;
    --tblr-card-cap-padding-x: 1rem;
}

.stock-ingredient-link {
    font-size: 1.4rem;
    display: inline-block;
    vertical-align: middle;
}

.recipe-counter-container {
    position: relative;
}

.recipe-counter {
    /* width: 100px; */
    /* height: 50px; */
    position: fixed;
    right: 20px;
    bottom: 15px;
    /* background: black; */
    width: 210px;

    text-align: center;
    z-index: 50;
    font-size: 1rem;

    .card-body {
        padding: 15px;
    }

    box-shadow: 0px 2px 2px #00000021;
}

@media(max-width:992px) {
    .recipe-counter {

        position: relative;
        margin: 0 0 10px;
        left: 0;
        width: auto;
        bottom: auto;
        right:auto;
        z-index:1;
        .card-body{
            padding:5px;
        }
    }

    #saveActions{

    --tblr-card-border-width: var(--tblr-border-width);
    --tblr-card-border-color: var(--tblr-border-color-translucent);
    --tblr-card-box-shadow: var(--tblr-shadow-card);
    
        position: fixed;
        width: 100%;
        bottom: 40px;
        padding: 10px;
        background: white;
        left: 0;
        z-index: 10;
        border: var(--tblr-border-width), solid var(--tblr-border-color-translucent);
        box-shadow:var(--tblr-shadow-card);
        margin: 0!important;
    }
    [bp-section="crud-operation-update"]>div>form,[bp-section="crud-operation-create"]>div>form{
        margin-bottom:100px;
    }



    
}

.bulk-badges{
        
    display:block;

    .badge{
        margin: 2px 0;
        display: block;
        /* margin-bottom: -15px; */
        width: 30%;
        float: right;
    }
}

@media(max-width:1199px) {
    .page-body{
        padding-bottom: 70px;
    }

    .bulk-badges{
 
        .badge{
      
            width: 46%;
            
        }
    }

   
}
@media(max-width:576px) {
   [bp-section="crud-operation-show"] .card>table:first-child>tbody>tr>td{

        display:block;
        &:first-child{
            /* background: black; */
                border-bottom: 0;
                font-size: 1.2rem;
        }

   }
}


.quick-menu{
    position: fixed;
    bottom: 0;
    z-index: 10;
    width: 100%;
    background:var(--tblr-primary);
    display: flex;
    align-items: center;
    min-height: 56px;
    padding:0 3px;
    
    .row {
        width: 100%;
        align-items: center;
    }
    .btn{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        height: 50px;
        margin:0;
        padding:0;
        font-size:1.8rem;
        line-height:1;
    }
    .nav-icon,
    .qm-pepper-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }
    .pepper-logo-mark {
        display: block;
    }
    .card-body {
        padding:5px;
    }
}

/* Robot quick-menu: colore rosso iniettato via JS inline style durante recording */
#qm-pepper-btn { transition: color 0.2s; }


table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before{
    display:none!important;
}

/* ── MEGAMENU ────────────────────────────────────────────────────────────────
   Dropdown multi-colonna per raggruppare voci di menu con header di sezione.
   Usato su: Produzione (2col), Strumenti (2col), Super Poteri (3col).
*/

/* Il dropdown megamenu: eredita stili da .dropdown-menu di Tabler, solo min-width e overflow fix */
.megamenu .megamenu-dropdown {
    min-width: 420px;
}

/* Megamenu: non sbordare a destra dal viewport */
.navbar-nav > .megamenu:last-of-type > .megamenu-dropdown,
.navbar-nav > .megamenu:nth-last-of-type(2) > .megamenu-dropdown {
    right: 0;
    left: auto;
}

/* Grid container: flexbox con colonne */
.megamenu-grid {
    display: flex;
    gap: 0;
}

.megamenu-2col { min-width: 420px; }
.megamenu-3col { min-width: 560px; }

/* Singola colonna */
.megamenu-col {
    flex: 1;
    padding: .25rem .5rem;
    min-width: 0;
}

/* Bordo verticale tra colonne */
.megamenu-col + .megamenu-col {
    border-left: 1px solid var(--tblr-border-color);
}

/* Header di sezione dentro la colonna */
.megamenu-col .dropdown-header {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--tblr-secondary);
    padding: .35rem .75rem .25rem;
    margin-bottom: .1rem;
    white-space: nowrap;
}

.megamenu-col .dropdown-header .nav-icon {
    display: inline-block !important;
    font-size: .8rem;
    margin-right: .25rem;
    opacity: .7;
}

/* Item dentro la colonna: eredita stili Tabler, solo white-space custom */
.megamenu-col .dropdown-item {
    white-space: nowrap;
}

.megamenu-col .dropdown-item .nav-icon {
    display: inline-block !important;
    font-size: .9rem;
    width: 1.4rem;
    margin-right: .15rem;
    opacity: .7;
}

/* Su mobile (<992px): il megamenu si comporta come un dropdown verticale standard */
@media (max-width: 991.98px) {
    .megamenu .megamenu-dropdown {
        min-width: 0;
        box-shadow: none;
        border: none;
        position: static !important;
    }
    .megamenu-grid {
        flex-direction: column;
    }
    .megamenu-col + .megamenu-col {
        border-left: none;
        border-top: 1px solid var(--tblr-border-color);
        margin-top: .25rem;
        padding-top: .25rem;
    }
    .megamenu-2col,
    .megamenu-3col {
        min-width: 0;
    }
}

/* Navbar: padding piu' compatto tra lg e xl per evitare cramming */
@media (min-width: 992px) and (max-width: 1399.98px) {
    .navbar-nav > .nav-item > .nav-link {
        font-size: .8125rem;
        padding-left: .5rem;
        padding-right: .5rem;
    }
}

/* ── FIX MOBILE OVERFLOW ─────────────────────────────────────────────────────
   Impedisce overflow orizzontale su tutte le pagine mobile.
   Le tabelle con molte colonne (ingredienti, bilanciamento) scrollano
   orizzontalmente dentro il loro contenitore invece di sbordare a destra.
*/
@media(max-width:992px) {

    /* Nessun elemento fuoriesce dal viewport */
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }

    /* Contenitore principale */
    .page, .page-wrapper {
        overflow-x: hidden;
        max-width: 100%;
    }

    /* Tabelle: scroll orizzontale dentro il contenitore */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Tabelle non wrappate in .table-responsive: forza scroll */
    [bp-section="crud-operation-show"] .card table,
    [bp-section="crud-operation-update"] .card table,
    [bp-section="crud-operation-create"] .card table {
        width: 100%;
        min-width: 0;
    }

    /* Colonne affiancate (row/col) nella form edit: una per riga su mobile stretto */
    [bp-section="crud-operation-update"] .row > [class*="col-md"],
    [bp-section="crud-operation-create"] .row > [class*="col-md"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* Barra temp. target nel bilanciatore: non sborda */
    .gelato-balancer-container .input-group {
        max-width: 100%;
    }

    /* Input group con append (°C): non taglia il testo */
    .gelato-balancer-container .d-flex {
        flex-wrap: wrap;
        gap: .4rem;
    }

    /* Card del bilanciamento: no overflow */
    .gelato-balancer-container {
        overflow-x: hidden;
    }

    /* Barra top strumenti del bilanciatore: va su due righe se non ci sta */
    .gelato-balancer-container > .d-flex.align-items-center.justify-content-between {
        flex-wrap: wrap;
        gap: .5rem;
    }

    /* Quick-menu: altezza corretta, no z-index conflict con saveActions */
    .quick-menu {
        min-height: 48px;
        height: 48px;
        z-index: 9;

        .btn {
            min-height: 42px;
            height: 42px;
        }
    }

    /* saveActions fisso sopra la quick-menu (48px) */
    #saveActions {
        bottom: 48px;
    }
}

/* ══════════════════════════════════════════════════════════
   MINU SIDEBAR — vertical layout collassabile
   ══════════════════════════════════════════════════════════ */

:root {
    --minu-sb-w:          240px;
    --minu-sb-collapsed:  52px;
    --minu-sb-bg:         #ffffff;
    --minu-sb-border:     #e7e6e7;
    --minu-sb-hover:      #f1f5f9;
    --minu-sb-active-bg:  #e6f4f3;
    --minu-sb-active:     #248C86;
    --minu-sb-text:       #241f2d;
    --minu-sb-muted:      #66626c;
    --minu-sb-section:    #9e9aa8;
    --minu-topbar-h:      52px;
    --minu-tr:            200ms cubic-bezier(.4, 0, .2, 1);
}

/* ── Sidebar: visual styles tutte le dimensioni ── */
.minu-sidebar {
    background: var(--minu-sb-bg) !important;
    border-right: 1px solid var(--minu-sb-border) !important;
}

/* ── Nav items: tutti i breakpoint ── */
.minu-sidebar .navbar-nav {
    padding: 8px 0;
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    scrollbar-width: thin;
    scrollbar-color: var(--minu-sb-border) transparent;
}

.minu-sidebar .nav-item > .nav-link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 10px;
    margin: 1px 6px;
    height: 37px;
    border-radius: 7px;
    color: var(--minu-sb-text);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    transition: background var(--minu-tr), color var(--minu-tr);
}
.minu-sidebar .nav-item > .nav-link:hover {
    background: var(--minu-sb-hover);
    color: var(--minu-sb-text);
}
.minu-sidebar .nav-item > .nav-link.active,
.minu-sidebar .nav-item.active > .nav-link {
    background: var(--minu-sb-active-bg);
    color: var(--minu-sb-active);
    font-weight: 600;
    border: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.minu-sidebar .nav-item > .nav-link.active::before,
.minu-sidebar .nav-item.active > .nav-link::before,
.minu-sidebar .nav-item > .nav-link.active::after,
.minu-sidebar .nav-item.active > .nav-link::after {
    display: none !important;
}
.navbar-expand-lg .nav-item.active::after {
    content: initial !important;
}

.minu-sidebar .nav-icon {
    font-size: 18px;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    color: var(--minu-sb-muted);
    display: inline-block !important;
}
.minu-sidebar .nav-item > .nav-link:hover .nav-icon,
.minu-sidebar .nav-item > .nav-link.active .nav-icon,
.minu-sidebar .nav-item.active > .nav-link .nav-icon {
    color: var(--minu-sb-active);
}

.minu-sidebar .nav-item > .nav-link > span:not(.nav-icon):not(.badge) {
    transition: opacity var(--minu-tr);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.minu-sidebar .nav-item.dropdown > .nav-link::after,
.minu-sidebar .nav-item.dropdown > .nav-link .la-angle-down,
.minu-sidebar .nav-item.dropdown > .nav-link .dropdown-toggle-caret {
    transition: opacity var(--minu-tr);
}

/* ── Dropdown submenu: accordion — transizione gestita da JS ── */
.minu-sidebar .dropdown-menu {
    position: static !important;
    float: none;
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    display: block !important;
    max-height: 0;
    overflow: hidden !important;
    /* niente transition qui: la gestisce il JS inline style */
}
.minu-sidebar .dropdown-menu.show {
    max-height: 2000px; /* fallback senza JS */
}
.minu-sidebar .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px 0 39px;
    height: 33px;
    border-radius: 7px;
    margin: 1px 6px;
    font-size: 14px;
    color: var(--minu-sb-muted);
    white-space: nowrap;
    overflow: hidden;
    transition: background var(--minu-tr), color var(--minu-tr);
}
.minu-sidebar .dropdown-item:hover,
.minu-sidebar .dropdown-item:focus {
    background: var(--minu-sb-hover);
    color: var(--minu-sb-text);
}
.minu-sidebar .dropdown-item.active,
.minu-sidebar .dropdown-item:active {
    background: var(--minu-sb-active-bg);
    color: var(--minu-sb-active);
}

/* ── Section labels ── */
.minu-sidebar .nav-section-label {
    padding: 14px 16px 4px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--minu-sb-section);
    white-space: nowrap;
    list-style: none;
    transition: opacity var(--minu-tr), height var(--minu-tr), padding var(--minu-tr);
}

/* ── Logo nel navbar-brand ── */
.minu-sidebar .navbar-brand {
    border-bottom: 1px solid var(--minu-sb-border);
    padding-bottom: 12px;
    margin-bottom: 0 !important;
}
.minu-sidebar .navbar-brand .logo-header {
    max-height: 30px;
    max-width: 160px;
    transition: opacity var(--minu-tr), max-width var(--minu-tr);
}

/* ── Tooltip hover (collapsed, desktop only) ── */
.minu-sb-tooltip {
    display: none;
    position: fixed;
    left: calc(var(--minu-sb-collapsed) + 8px);
    background: var(--minu-sb-text);
    color: #fff;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    pointer-events: none;
    z-index: 9999;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

/* ══════════════════════════════════════════════════════════
   DESKTOP ONLY (≥992px): collapse + toggle + page-wrapper
   ══════════════════════════════════════════════════════════ */
@media (min-width: 992px) {

    /* Larghezza sidebar + transizione */
    .minu-sidebar {
        width: var(--minu-sb-w) !important;
        min-width: var(--minu-sb-w) !important;
        max-width: var(--minu-sb-w) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;    /* auto invece di scroll: no scrollbar fissa */
        scrollbar-width: none !important; /* Firefox: nasconde scrollbar */
        transition: width var(--minu-tr), min-width var(--minu-tr), max-width var(--minu-tr) !important;
        flex-shrink: 0;
    }
    .minu-sidebar::-webkit-scrollbar {
        display: none !important; /* Chrome/Safari: nasconde scrollbar */
    }
    .minu-sidebar.sb-collapsed,
    .minu-sb-collapsed-init .minu-sidebar {
        width: var(--minu-sb-collapsed) !important;
        min-width: var(--minu-sb-collapsed) !important;
        max-width: var(--minu-sb-collapsed) !important;
    }

    /* Page-wrapper margin segue sidebar */
    .minu-sidebar ~ .page-wrapper {
        margin-left: var(--minu-sb-w) !important;
        transition: margin-left var(--minu-tr);
    }
    .minu-sidebar.sb-collapsed ~ .page-wrapper,
    .minu-sb-collapsed-init .minu-sidebar ~ .page-wrapper {
        margin-left: var(--minu-sb-collapsed) !important;
    }

    /* Toggle: cerchio sul bordo destro della sidebar */
    .minu-sb-toggle {
        position: fixed !important;
        left: calc(var(--minu-sb-w) - 13px);
        top: 14px;
        z-index: 1030;
        width: 26px;
        height: 26px;
        background: #fff;
        border: 1px solid var(--minu-sb-border);
        border-radius: 50%;
        display: flex !important;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        font-size: 11px;
        color: var(--minu-sb-muted);
        transition: left var(--minu-tr), transform var(--minu-tr), background var(--minu-tr), color var(--minu-tr);
        box-shadow: 0 2px 6px rgba(0,0,0,.15);
    }
    .minu-sb-toggle:hover {
        background: var(--minu-sb-active);
        color: #fff;
        border-color: var(--minu-sb-active);
    }
    .minu-sidebar.sb-collapsed ~ .minu-sb-toggle,
    .minu-sb-collapsed-init .minu-sidebar ~ .minu-sb-toggle {
        left: calc(var(--minu-sb-collapsed) - 13px);
        transform: rotate(180deg);
    }

    /* Icone centrate in collapsed: rimuovi padding container-fluid e margin nav-link */
    .minu-sidebar.sb-collapsed .container-fluid,
    .minu-sb-collapsed-init .minu-sidebar .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .minu-sidebar.sb-collapsed .nav-item > .nav-link,
    .minu-sb-collapsed-init .minu-sidebar .nav-item > .nav-link {
        justify-content: center;
        padding: 0 !important;
        margin: 1px 0 !important;
        gap: 0;
    }

    /* Icone centrate quando sidebar collassata */
    .minu-sidebar.sb-collapsed .nav-item > .nav-link,
    .minu-sb-collapsed-init .minu-sidebar .nav-item > .nav-link {
        justify-content: center;
        padding: 0;
        gap: 0;
    }

    /* Toggle position + rotation quando collassato */
    .minu-sidebar.sb-collapsed ~ .minu-sb-toggle,
    .minu-sb-collapsed-init .minu-sidebar ~ .minu-sb-toggle {
        left: calc(var(--minu-sb-collapsed) - 13px);
        transform: rotate(180deg);
    }

    /* Logo: fade out quando collassato */
    .minu-sidebar.sb-collapsed .navbar-brand .logo-header,
    .minu-sb-collapsed-init .minu-sidebar .navbar-brand .logo-header {
        opacity: 0;
        max-width: 0;
        pointer-events: none;
    }

    /* Label text + chevron: rimossi dal flex flow (non solo nascosti) */
    .minu-sidebar.sb-collapsed .nav-item > .nav-link > span:not(.nav-icon),
    .minu-sidebar.sb-collapsed .nav-item > .nav-link > .dropdown-toggle-caret,
    .minu-sidebar.sb-collapsed .nav-item.dropdown > .nav-link::after,
    .minu-sb-collapsed-init .minu-sidebar .nav-item > .nav-link > span:not(.nav-icon),
    .minu-sb-collapsed-init .minu-sidebar .nav-item > .nav-link > .dropdown-toggle-caret,
    .minu-sb-collapsed-init .minu-sidebar .nav-item.dropdown > .nav-link::after {
        display: none !important;
    }
    /* Submenu nascosto quando collapsed (forza max-height 0) */
    .minu-sidebar.sb-collapsed .dropdown-menu,
    .minu-sb-collapsed-init .minu-sidebar .dropdown-menu {
        max-height: 0 !important;
        transition: none;
    }
    /* Section labels hidden */
    .minu-sidebar.sb-collapsed .nav-section-label,
    .minu-sb-collapsed-init .minu-sidebar .nav-section-label {
        opacity: 0;
        height: 0;
        padding: 0;
        overflow: hidden;
    }
    /* Tooltip on hover when collapsed */
    .minu-sidebar.sb-collapsed .nav-item {
        position: relative;
    }
    .minu-sidebar.sb-collapsed .nav-item:hover > .minu-sb-tooltip {
        display: block;
    }
}

/* Mobile: slide-in da sinistra (no Bootstrap collapse) */
@media (max-width: 991.98px) {
    .minu-sb-toggle { display: none !important; }

    .minu-sidebar {
        position: fixed !important;
        top: 0; left: 0; bottom: 0;
        width: 280px !important;
        max-width: 85vw !important;
        transform: translateX(-100%);
        transition: transform 220ms cubic-bezier(.4,0,.2,1) !important;
        z-index: 200 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        /* override sb-collapsed su mobile */
        min-width: unset !important;
        max-width: 85vw !important;
    }
    .minu-sidebar.mobile-open {
        transform: translateX(0) !important;
    }
    /* menu sempre visibile dentro la sidebar fissa */
    .minu-sidebar .minu-mobile-menu {
        display: block !important;
        height: auto !important;
    }
    /* page-wrapper: niente margin-left su mobile, offset per topbar fixed */
    .minu-sidebar ~ .page-wrapper {
        margin-left: 0 !important;
        padding-top: 56px !important;
    }
}


/* ── Desktop topbar ── */
.minu-topbar-desktop {
    border-bottom: 1px solid var(--minu-sb-border);
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
}
/* User dropdown nel topbar: non stretcharsi */
.minu-topbar-desktop .nav-item.dropdown,
.minu-topbar-mobile .nav-item.dropdown {
    flex: 0 0 auto;
    align-self: center;
}
.minu-topbar-desktop .nav-item.dropdown > .nav-link,
.minu-topbar-mobile .nav-item.dropdown > .nav-link {
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto;
    padding: 4px !important;
}

/* ── Mobile topbar ── */
.minu-topbar-mobile {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid var(--minu-sb-border);
    min-height: 56px;
}
.minu-topbar-mobile .navbar-toggler-icon {
    width: 1.4em;
    height: 1.4em;
}
/* Logo nella topbar mobile: altezza contenuta */
.minu-topbar-mobile .navbar-brand,
.minu-topbar-mobile h1 {
    margin: 0 !important;
    font-size: 1rem;
}
.minu-topbar-mobile img,
.minu-topbar-mobile svg {
    max-height: 32px;
    width: auto;
}
/* Mobile: sidebar layout dal top, non centrato */
@media (max-width: 991.98px) {
    .minu-sidebar .navbar-brand { display: none !important; }
    .minu-sidebar .container-fluid {
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding-top: 8px !important;
        height: 100% !important;
    }
}
.minu-sidebar .navbar-brand img,
.minu-sidebar .navbar-brand svg {
    max-height: 36px;
    width: auto;
}

/* quick-menu z-index sopra tutto */
.quick-menu { z-index: 150 !important; }
