/* =========================================================
   ES Server - pannello ES amministratore e pannello azienda
   Questo file e intenzionalmente separato dal tema globale.
   Header, footer e menu generale non vengono modificati.
   ========================================================= */

#amministratoreContent{
    --pa-primary:#1d4fa3;
    --pa-primary-dark:#153a75;
    --pa-primary-soft:#edf5ff;
    --pa-success:#159447;
    --pa-success-dark:#0f7437;
    --pa-danger:#c93434;
    --pa-text:#172033;
    --pa-muted:#667085;
    --pa-border:#d9e2ef;
    --pa-surface:#ffffff;
    --pa-surface-soft:#f6f8fc;
    --pa-shadow:0 16px 40px rgba(25,48,86,.10);
    --pa-radius:20px;
}

@supports selector(:has(*)){
    .generation-shell:has(#amministratoreContent:not([hidden])){
        max-width:1460px;
    }
}

#amministratoreContent.amministratore-card{
    max-width:none;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--pa-text);
}

#amministratoreContent .amministratore-workspace{
    display:grid;
    grid-template-columns:240px minmax(0, 1fr);
    gap:22px;
    width:100%;
    min-width:0;
}

/* ---------- Navigazione interna ---------- */
#amministratoreContent .amministratore-sidebar{
    position:sticky;
    top:calc(var(--header-height) + 20px);
    display:flex;
    flex-direction:column;
    gap:9px;
    padding:12px;
    border:1px solid rgba(190,210,245,.85);
    border-radius:22px;
    background:rgba(255,255,255,.94);
    box-shadow:var(--pa-shadow);
    backdrop-filter:blur(10px);
}

#amministratoreContent .amministratore-sidebar-item{
    width:100%;
    min-height:58px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:8px 12px 8px 8px;
    border:1px solid transparent;
    border-radius:15px;
    background:transparent;
    color:#344054;
    font:700 14px/1.25 Arial, Helvetica, sans-serif;
    text-align:left;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

#amministratoreContent .amministratore-sidebar-item:hover{
    transform:translateX(2px);
    border-color:#d8e5f7;
    background:#f4f8fe;
    color:var(--pa-primary);
}

#amministratoreContent .amministratore-sidebar-item.is-active{
    border-color:#c8dcfb;
    background:linear-gradient(135deg, var(--pa-primary-dark), var(--pa-primary));
    color:#fff;
    box-shadow:0 10px 22px rgba(29,79,163,.22);
}

#amministratoreContent .amministratore-sidebar-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#edf3fb;
    color:var(--pa-primary);
}

#amministratoreContent .amministratore-sidebar-item.is-active .amministratore-sidebar-icon{
    background:rgba(255,255,255,.16);
    color:#fff;
}

#amministratoreContent .amministratore-ui-icon{
    width:21px;
    height:21px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

#amministratoreContent .amministratore-workspace-body{
    min-width:0;
}

#amministratoreContent .amministratore-panel-view{
    display:none;
    min-width:0;
}

#amministratoreContent .amministratore-panel-view.is-active{
    display:block;
}

/* ---------- Superfici interne (senza header aggiuntivi) ---------- */
#amministratoreContent .amministratore-surface{
    border:1px solid rgba(190,210,245,.82);
    border-radius:var(--pa-radius);
    background:rgba(255,255,255,.96);
    box-shadow:var(--pa-shadow);
}

/* ---------- Filtri utenti ---------- */
#amministratoreContent .amministratore-filter-toolbar{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    padding:10px;
    border:1px solid #dbe4f0;
    border-radius:18px;
    background:#f8fafc;
    box-shadow:none;
}

#amministratoreContent .amministratore-quick-search-box{
    position:relative;
    order:-10;
    flex:1 1 310px;
    min-width:220px;
}

#amministratoreContent .amministratore-quick-search-box::before{
    content:"";
    position:absolute;
    z-index:2;
    top:50%;
    left:16px;
    width:12px;
    height:12px;
    border:2px solid #7b8ba3;
    border-radius:50%;
    transform:translateY(-58%);
    pointer-events:none;
}

#amministratoreContent .amministratore-quick-search-box::after{
    content:"";
    position:absolute;
    z-index:2;
    top:50%;
    left:28px;
    width:7px;
    height:2px;
    border-radius:2px;
    background:#7b8ba3;
    transform:translateY(5px) rotate(45deg);
    transform-origin:left center;
    pointer-events:none;
}

#amministratoreContent .amministratore-filter-group{
    flex:0 1 172px;
    min-width:145px;
}

#amministratoreContent .amministratore-filter-hint{
    display:none;
}

#amministratoreContent .amministratore-filter-label,
#amministratoreContent .workspace-label{
    display:block;
    margin:0 0 7px;
    color:#344054;
    font-size:12px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}

#amministratoreContent .amministratore-filter-dropdown{
    position:relative;
    border:1px solid #d3deeb;
    border-radius:12px;
    background:#fff;
    transition:border-color .16s ease, box-shadow .16s ease;
}

#amministratoreContent .amministratore-filter-dropdown[open]{
    border-color:#9eb9dc;
    box-shadow:0 0 0 3px rgba(29,79,163,.07);
}

#amministratoreContent .amministratore-filter-dropdown > summary{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 12px;
    list-style:none;
    color:#344054;
    font-size:12.5px;
    font-weight:750;
    cursor:pointer;
}

#amministratoreContent .amministratore-filter-dropdown > summary::-webkit-details-marker{
    display:none;
}

#amministratoreContent .amministratore-filter-dropdown > summary::after{
    content:"";
    width:7px;
    height:7px;
    flex:none;
    border-right:1.8px solid #718096;
    border-bottom:1.8px solid #718096;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .16s ease;
}

#amministratoreContent .amministratore-filter-dropdown[open] > summary::after{
    transform:rotate(225deg) translate(-2px,-2px);
}

#amministratoreContent .amministratore-filter-options{
    position:absolute;
    z-index:30;
    top:calc(100% + 7px);
    left:0;
    min-width:100%;
    width:max-content;
    max-width:280px;
    display:flex;
    flex-direction:column;
    gap:3px;
    max-height:260px;
    overflow:auto;
    padding:7px;
    border:1px solid #d7e1ed;
    border-radius:12px;
    background:#fff;
    box-shadow:0 14px 32px rgba(30,50,80,.14);
}

#amministratoreContent .amministratore-filter-option{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:36px;
    padding:6px 8px;
    border-radius:8px;
    color:#344054;
    font-size:12.5px;
    cursor:pointer;
    white-space:nowrap;
}

#amministratoreContent .amministratore-filter-option:hover{
    background:#f3f6fa;
}

#amministratoreContent .amministratore-filter-option input{
    accent-color:var(--pa-primary);
}

#amministratoreContent .amministratore-filter-actions{
    display:flex;
    align-items:center;
    gap:7px;
    margin-left:auto;
}

#amministratoreContent .amministratore-apply-filters-btn,
#amministratoreContent .amministratore-reset-filters-btn,
#amministratoreContent .workspace-new-company-btn,
#amministratoreContent .workspace-submit-btn,
#amministratoreContent .amministratore-algorithm-add-btn,
#amministratoreContent .amministratore-log-settings-btn,
#amministratoreContent .contact-read-btn{
    min-height:48px;
    border-radius:13px;
    font-weight:800;
    cursor:pointer;
}

#amministratoreContent .amministratore-apply-filters-btn,
#amministratoreContent .workspace-submit-btn,
#amministratoreContent .amministratore-algorithm-add-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 17px;
    border:1px solid var(--pa-success);
    background:linear-gradient(135deg, var(--pa-success), var(--pa-success-dark));
    color:#fff;
    box-shadow:0 9px 18px rgba(21,148,71,.20);
}

#amministratoreContent .amministratore-reset-filters-btn,
#amministratoreContent .amministratore-log-settings-btn,
#amministratoreContent .contact-read-btn{
    padding:0 15px;
    border:1px solid var(--pa-border);
    background:#fff;
    color:#344054;
}

#amministratoreContent .amministratore-apply-filters-btn:hover,
#amministratoreContent .workspace-submit-btn:hover,
#amministratoreContent .amministratore-algorithm-add-btn:hover{
    filter:brightness(.97);
    transform:translateY(-1px);
}

#amministratoreContent .workspace-fieldset input,
#amministratoreContent .workspace-fieldset select,
#amministratoreContent .workspace-company-new-input,
#amministratoreContent .amministratore-algorithm-add-form input,
#amministratoreContent .amministratore-algorithm-edit-form input,
#amministratoreContent .amministratore-log-settings-form input{
    width:100%;
    height:48px;
    padding:0 13px;
    border:1px solid var(--pa-border);
    border-radius:13px;
    background:#fff;
    color:var(--pa-text);
    font-size:14px;
}

#amministratoreContent .workspace-fieldset input:focus,
#amministratoreContent .workspace-fieldset select:focus,
#amministratoreContent .workspace-company-new-input:focus,
#amministratoreContent .amministratore-algorithm-add-form input:focus,
#amministratoreContent .amministratore-algorithm-edit-form input:focus,
#amministratoreContent .amministratore-log-settings-form input:focus{
    border-color:#8eb6ef;
    box-shadow:0 0 0 4px rgba(29,79,163,.10);
    outline:none;
}

#amministratoreContent .amministratore-quick-search-input{
    width:100%;
    height:42px;
    box-sizing:border-box;
    padding:0 14px 0 42px;
    border:1px solid #d3deeb;
    border-radius:12px;
    background:#fff;
    color:var(--pa-text);
    font-size:13px;
    font-weight:600;
    outline:none;
    transition:border-color .16s ease, box-shadow .16s ease;
}

#amministratoreContent .amministratore-quick-search-input::placeholder{
    color:#8b98aa;
    font-weight:500;
}

#amministratoreContent .amministratore-quick-search-input:focus{
    border-color:#8eb6ef;
    box-shadow:0 0 0 3px rgba(29,79,163,.08);
}

#amministratoreContent .amministratore-list-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:14px 2px;
    color:var(--pa-muted);
    font-size:13px;
}

#amministratoreContent .amministratore-list-summary-count{
    color:var(--pa-text);
    font-weight:800;
}

#amministratoreContent .amministratore-filter-empty-state{
    margin:0 0 14px;
    padding:14px 16px;
    border:1px solid #f1d39b;
    border-radius:14px;
    background:#fff8e9;
    color:#8a5711;
}

/* ---------- Gestione utenti: tree gerarchico v5.96 ---------- */
/*
 * Sistema tree riscritto da zero.
 * Le linee non sono più spezzate tra pseudo-elementi di nodi diversi:
 * un solo layer SVG per ogni albero disegna percorsi continui. Il CSS gestisce
 * soltanto geometria dei nodi, rientri e stile uniforme dei collegamenti.
 */
#amministratoreContent .amministratore-company-board{
    --tree-line:#a9bfd8;
    --tree-size:2px;
    --company-tree-step:38px;
    --company-tree-gap:12px;
    position:relative;
    isolation:isolate;
    overflow:visible;
    display:flex;
    flex-direction:column;
    gap:var(--company-tree-gap);
    padding:12px;
    border:1px solid rgba(190,210,245,.72);
    border-radius:16px;
    background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%);
    box-shadow:var(--pa-shadow);
}

#amministratoreContent .amministratore-company-group{
    --company-tree-effective-indent:0px;
    position:relative;
    z-index:2;
    width:100%;
    margin:0;
    overflow:visible;
    box-sizing:border-box;
    border:1px solid #d9e4f2;
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 10px rgba(44,73,117,.055);
    transition:border-color .18s ease,box-shadow .18s ease;
}

#amministratoreContent .amministratore-company-group.is-tree-child{
    --company-tree-effective-indent:min(var(--company-tree-indent, 0px), 252px);
    width:calc(100% - var(--company-tree-effective-indent));
    margin-left:var(--company-tree-effective-indent);
    border-color:#cbdced;
}

#amministratoreContent .amministratore-company-shared-label{
    min-width:0;
    display:flex;
    position:relative;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-height:44px;
    padding:8px 11px;
    border-bottom:1px solid #dbe5f2;
    border-radius:11px 11px 0 0;
    background:#f3f7fc;
    color:#344054;
    font-size:14px;
    font-weight:900;
    line-height:1.25;
    text-align:left;
}

#amministratoreContent .amministratore-company-name{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    overflow-wrap:anywhere;
}

#amministratoreContent .amministratore-company-group.is-tree-child .amministratore-company-shared-label{
    background:#f8fbff;
}

/* ---------- Lista utenti Cliente (piatta, rifinita v5.103) ---------- */
#amministratoreContent .amministratore-user-list{
    --user-tree-level:38px;
    --user-tree-gap:12px;
    position:relative;
    isolation:isolate;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:visible;
    gap:var(--user-tree-gap);
    padding:10px;
    border-radius:0 0 11px 11px;
}

#amministratoreContent .amministratore-user-row{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    margin:0;
    padding:0;
    box-sizing:border-box;
    overflow:visible;
    border:1px solid #dfe7f1;
    border-radius:10px;
    background:#fff;
    box-shadow:0 1px 3px rgba(44,73,117,.035);
    transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;
}

/*
 * Dentro un'Azienda Cliente gli utenti sono un unico gruppo operativo.
 * Le classi legacy restano nel DOM per compatibilità, ma non producono più
 * rientri: Cliente, Installatori e Tecnici sono sempre allineati sullo stesso asse.
 */
#amministratoreContent .amministratore-company-group[data-company-structural-role='cliente'] .amministratore-user-row.is-installatore-child,
#amministratoreContent .amministratore-company-group[data-company-structural-role='cliente'] .amministratore-user-row.is-tecnico-child,
#amministratoreContent .amministratore-user-row.is-installatore-child.has-visible-tree-root,
#amministratoreContent .amministratore-user-row.is-tecnico-child.has-visible-installer-parent{
    width:100%;
    margin-left:0;
}

/* Nessun connector interno nel div Cliente: il tree rimane solo tra aziende. */
#amministratoreContent .amministratore-company-group[data-company-structural-role='cliente'] .amministratore-user-list > .amministratore-tree-layer{
    display:none !important;
}

/*
 * Unico layer per i collegamenti. Ogni ramo è un path continuo: niente gap,
 * niente sovrapposizioni tra due metà, niente verticale oltre l'ultimo nodo.
 */
#amministratoreContent .amministratore-tree-layer{
    position:absolute;
    z-index:1;
    inset:0;
    width:100%;
    height:100%;
    overflow:visible;
    pointer-events:none;
}

#amministratoreContent .amministratore-tree-layer path{
    fill:none;
    stroke:var(--tree-line);
    stroke-width:var(--tree-size);
    stroke-linecap:square;
    stroke-linejoin:miter;
    vector-effect:non-scaling-stroke;
    shape-rendering:crispEdges;
}

/* Disattiva in modo esplicito tutti i vecchi connector CSS. */
#amministratoreContent .amministratore-company-group::before,
#amministratoreContent .amministratore-company-group::after,
#amministratoreContent .amministratore-user-row::before,
#amministratoreContent .amministratore-user-row::after,
#amministratoreContent .amministratore-user-summary::before,
#amministratoreContent .amministratore-user-summary::after,
#amministratoreContent .amministratore-user-person::before,
#amministratoreContent .amministratore-user-person::after{
    content:none !important;
    display:none !important;
}

#amministratoreContent .amministratore-company-ancestor-line{
    display:none !important;
}

/* ---------- Anteprima inline di un nodo non ancora salvato ---------- */
#amministratoreContent .amministratore-user-row.is-draft-user-row,
#amministratoreContent .amministratore-company-group.is-draft-company-group{
    border-style:dashed;
    border-color:#d89b31;
    background:#fffaf0;
    box-shadow:0 0 0 3px rgba(216,155,49,.10),0 4px 12px rgba(115,78,18,.07);
}

#amministratoreContent .amministratore-user-row.is-draft-user-row .amministratore-user-summary{
    background:linear-gradient(180deg,#fffaf0 0%,#fff7e6 100%);
}

#amministratoreContent .amministratore-company-group.is-draft-company-group .amministratore-company-shared-label{
    border-bottom-style:dashed;
    border-bottom-color:#e3bc75;
    background:#fff3d8;
    color:#765016;
}

#amministratoreContent .inline-draft-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:23px;
    padding:3px 8px;
    border:1px solid #e2b45e;
    border-radius:999px;
    background:#fff0c9;
    color:#805511;
    font-size:10px;
    font-weight:900;
    line-height:1.1;
    letter-spacing:.01em;
    white-space:nowrap;
}

#amministratoreContent .is-draft-user-row .amministratore-user-title-line{
    flex-wrap:wrap;
}

#amministratoreContent .is-draft-user-row .inline-draft-access,
#amministratoreContent .is-draft-user-row .inline-draft-algorithms{
    color:#89652b;
    font-style:italic;
}

#amministratoreContent .amministratore-inline-create-host{
    position:relative;
    z-index:3;
    padding:12px;
    border-top:1px dashed #dfb467;
    background:rgba(255,252,244,.96);
    border-radius:0 0 9px 9px;
}

#amministratoreContent .amministratore-inline-create-host .amministratore-contextual-add-head{
    margin:0 0 10px;
    border-color:#ead09e;
    background:#fff8e8;
}

#amministratoreContent .amministratore-inline-create-host .amministratore-add-layout{
    padding:15px;
    border-color:#ead09e;
    background:#fff;
    box-shadow:none;
}

#amministratoreContent .amministratore-inline-create-host .workspace-submit-row{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

#amministratoreContent .amministratore-inline-create-host .workspace-submit-row::before{
    content:'I dati non sono ancora stati salvati';
    margin-right:auto;
    color:#8a641f;
    font-size:11px;
    font-weight:800;
}

#amministratoreContent .amministratore-company-group.is-draft-company-group .amministratore-user-list{
    background:rgba(255,250,240,.42);
}

@media (max-width:760px){
    #amministratoreContent .amministratore-inline-create-host{
        padding:8px;
    }
    #amministratoreContent .amministratore-inline-create-host .amministratore-add-layout{
        padding:11px;
    }
    #amministratoreContent .amministratore-inline-create-host .workspace-submit-row{
        align-items:stretch;
        flex-direction:column;
        gap:8px;
    }
    #amministratoreContent .amministratore-inline-create-host .workspace-submit-row::before{
        margin-right:0;
    }
}

#amministratoreContent .amministratore-company-group.is-current-company{
    border-color:#b9cde7;
    box-shadow:0 4px 12px rgba(44,73,117,.065);
}

#amministratoreContent .amministratore-company-group.is-current-company .amministratore-company-shared-label{
    background:linear-gradient(180deg,#edf5ff 0%,#e8f1fb 100%);
    color:#243b5a;
}

/* Expander azienda: non fa parte delle linee del tree. */
#amministratoreContent .amministratore-company-tree-btn,
#amministratoreContent .amministratore-company-tree-leaf{
    width:26px;
    min-width:26px;
    height:26px;
    min-height:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 26px;
    box-sizing:border-box;
}

#amministratoreContent .amministratore-company-tree-btn{
    padding:0;
    border:1px solid #b9cce3;
    border-radius:8px;
    background:#fff;
    color:var(--pa-primary);
    cursor:pointer;
    box-shadow:0 1px 2px rgba(44,73,117,.08);
    transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;
}

#amministratoreContent .amministratore-company-tree-btn > span{
    width:0;
    height:0;
    border-top:5px solid transparent;
    border-bottom:5px solid transparent;
    border-left:7px solid currentColor;
    transform:translateX(1px) rotate(0deg);
    transform-origin:42% 50%;
    transition:transform .16s ease;
}

#amministratoreContent .amministratore-company-tree-btn[aria-expanded='true'] > span{
    transform:translateY(1px) rotate(90deg);
}

#amministratoreContent .amministratore-company-tree-btn:hover,
#amministratoreContent .amministratore-company-tree-btn:focus-visible{
    border-color:#7fa5d6;
    background:#eef5ff;
    box-shadow:0 0 0 3px rgba(89,132,185,.12);
    outline:none;
}

#amministratoreContent .amministratore-company-tree-leaf > span{
    width:8px;
    height:8px;
    border:2px solid #8eacd0;
    border-radius:50%;
    background:#fff;
    box-sizing:border-box;
}

#amministratoreContent .amministratore-company-group[hidden],
#amministratoreContent .amministratore-user-row[hidden]{
    display:none !important;
}

#amministratoreContent .amministratore-user-list{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:visible;
    border-radius:0 0 11px 11px;
}

#amministratoreContent .amministratore-user-row{
    display:block;
    padding:0;
    background:#fff;
    transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;
}

#amministratoreContent .amministratore-company-group:last-child .amministratore-user-row:last-child{
    border-bottom:1px solid #e0e8f2;
}

#amministratoreContent .amministratore-user-row:hover{
    background:#f8fbff;
    transform:none;
}

#amministratoreContent .amministratore-user-row.is-search-result{
    background:#eef9f2;
    box-shadow:inset 3px 0 0 var(--pa-success);
}

#amministratoreContent .amministratore-user-summary{
    min-height:48px;
    display:grid;
    grid-template-columns:minmax(170px,1.25fr) 96px 138px minmax(120px,1fr) auto;
    align-items:center;
    gap:8px;
    padding:7px 10px;
}

/* Il ruolo dell'account loggato puo essere nascosto senza spostare le altre colonne. */
@media (min-width:761px){
    #amministratoreContent .amministratore-user-row.is-self-role-hidden .amministratore-user-accesso{
        grid-column:3;
    }

    #amministratoreContent .amministratore-user-row.is-self-role-hidden .amministratore-user-meta{
        grid-column:4;
    }

    #amministratoreContent .amministratore-user-row.is-self-role-hidden .amministratore-row-actions{
        grid-column:5;
    }
}

#amministratoreContent .amministratore-user-role{
    min-width:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    height:26px;
    padding:0 9px;
    border:1px solid transparent;
    border-radius:999px;
    background:#edf3fb;
    color:var(--pa-primary);
    font-size:12px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

#amministratoreContent .amministratore-user-role::before{
    content:'';
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:currentColor;
    opacity:.9;
}

/* Colori ruolo: leggibili anche con lista Cliente completamente piatta. */
#amministratoreContent .amministratore-user-role-cliente{
    background:#eaf2ff;
    border-color:#bfd4ff;
    color:#2456a6;
}

#amministratoreContent .amministratore-user-role-rivenditore{
    background:#f3edff;
    border-color:#d9c8ff;
    color:#6941c6;
}

#amministratoreContent .amministratore-user-role-installatore{
    background:#fff3df;
    border-color:#f1cf96;
    color:#99610e;
}

#amministratoreContent .amministratore-user-role-tecnico{
    background:#e9f8ef;
    border-color:#b9e5c8;
    color:#277447;
}

#amministratoreContent .amministratore-user-role-es-amministratore{
    background:#fff4dc;
    border-color:#efd08b;
    color:#946200;
}

#amministratoreContent .amministratore-user-person,
#amministratoreContent .amministratore-user-accesso,
#amministratoreContent .amministratore-user-algorithms{
    min-width:0;
}

#amministratoreContent .amministratore-user-title-line{
    min-width:0;
    display:flex;
    align-items:center;
    gap:4px;
}

#amministratoreContent .amministratore-user-title-line strong{
    min-width:0;
    overflow:hidden;
    color:var(--pa-text);
    font-size:14px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#amministratoreContent .amministratore-user-accesso,
#amministratoreContent .amministratore-user-algorithms{
    overflow:hidden;
    color:#526174;
    font-size:13px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#amministratoreContent .amministratore-user-algorithms.is-empty{
    visibility:hidden;
}


/* 5.98 — identificativi impianto leggibili sul Cliente e su tutto il suo ramo. */
#amministratoreContent .amministratore-user-meta{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:5px;
}

#amministratoreContent .amministratore-user-meta .amministratore-user-algorithms{
    display:block;
    min-width:0;
}

#amministratoreContent .amministratore-user-identifiers{
    min-width:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
}

#amministratoreContent .amministratore-identifier-chip{
    min-width:0;
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:24px;
    padding:3px 7px;
    border:1px solid #cbdcf1;
    border-radius:7px;
    background:#f3f7fc;
    color:#40536d;
    font-size:10px;
    line-height:1.1;
    white-space:nowrap;
}

#amministratoreContent .amministratore-identifier-chip > span{
    color:#65758a;
    font-weight:700;
}

#amministratoreContent .amministratore-identifier-chip > strong{
    color:#174f98;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
}

#amministratoreContent .amministratore-row-actions{
    width:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:nowrap;
}

#amministratoreContent .amministratore-action-btn,
#amministratoreContent .amministratore-delete-form .delete-btn{
    width:auto;
    min-width:0;
    height:34px;
    min-height:34px;
    padding:0 11px;
    border-radius:9px;
    box-shadow:none;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

/* Gestione utenti: le azioni primarie visibili in riga restano allineate. */
#amministratoreContent .amministratore-row-actions > .amministratore-action-btn,
#amministratoreContent .amministratore-row-actions > form,
#amministratoreContent .amministratore-row-actions > form > .amministratore-action-btn,
#amministratoreContent .amministratore-row-actions > form > .delete-btn{
    width:132px;
    min-width:132px;
}

#amministratoreContent .amministratore-row-actions .amministratore-action-btn,
#amministratoreContent .amministratore-row-actions .delete-btn{
    padding-left:6px;
    padding-right:6px;
    white-space:nowrap;
}

#amministratoreContent .amministratore-action-btn.edit-btn{
    border:1px solid #cbdcf4;
    background:#f1f6fd;
    color:var(--pa-primary);
}

#amministratoreContent .amministratore-action-btn.reset-password-btn{
    border:1px solid #ead6a6;
    background:#fff9e8;
    color:#8a5a00;
}

#amministratoreContent .amministratore-password-reset-hidden-form{
    display:none !important;
}

#amministratoreContent .amministratore-edit-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    min-width:0;
}

#amministratoreContent .amministratore-reset-key-btn{
    width:38px;
    min-width:38px;
    height:38px;
    min-height:38px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
}

#amministratoreContent .amministratore-reset-key-btn .amministratore-ui-icon{
    width:18px;
    height:18px;
}

#amministratoreContent .amministratore-reset-only-edit-form{
    grid-template-columns:auto;
    justify-content:start;
}

#amministratoreContent .amministratore-delete-form .delete-btn{
    border:1px solid #f0c6c6;
    background:#fff4f4;
    color:var(--pa-danger);
}

#amministratoreContent .amministratore-action-btn.is-disabled,
#amministratoreContent .amministratore-delete-form .delete-btn.is-disabled{
    opacity:.45;
    cursor:not-allowed;
}

#amministratoreContent .amministratore-delete-form,
#amministratoreContent .amministratore-password-reset-form,
#amministratoreContent .amministratore-transfer-form{
    display:inline-flex;
    margin:0;
}


#amministratoreContent .amministratore-edit-form{
    display:none;
    grid-template-columns:repeat(3,minmax(120px,1fr)) auto;
    gap:7px;
    padding:8px 9px;
    border-top:1px solid #dce7f6;
    background:#f6f9fe;
}

#amministratoreContent .amministratore-user-row.is-edit-open{
    background:#f8fbff;
}

#amministratoreContent .amministratore-user-row.is-edit-open .amministratore-edit-form{
    display:grid;
    box-shadow:none;
}

#amministratoreContent .cliente-final-user-row.is-edit-open .cliente-final-user-edit-form{
    display:grid;
    box-shadow:none;
}

#amministratoreContent .amministratore-edit-form input,
#amministratoreContent .amministratore-edit-form select{
    height:38px;
    min-height:38px;
    padding:0 10px;
    border-radius:8px;
    font-size:13px;
}

#amministratoreContent .amministratore-edit-functions{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    padding:0;
    border-radius:0;
    background:transparent;
}

#amministratoreContent .amministratore-edit-functions label{
    display:flex;
    align-items:center;
    gap:5px;
    min-height:30px;
    padding:4px 7px;
    border:1px solid var(--pa-border);
    border-radius:8px;
    background:#fff;
    color:#344054;
    box-shadow:none;
    font-size:12px;
    cursor:pointer;
}

#amministratoreContent .amministratore-edit-form .save-btn{
    min-height:36px;
    height:38px;
    padding:0 13px;
    border-radius:8px;
    background:var(--pa-primary);
    color:#fff;
    font-size:12px;
    font-weight:900;
}

/* ---------- Aggiunta utente ---------- */
#amministratoreContent .amministratore-add-layout{
    padding:22px;
    border:1px solid rgba(190,210,245,.82);
    border-radius:var(--pa-radius);
    background:rgba(255,255,255,.96);
    box-shadow:var(--pa-shadow);
}

#amministratoreContent .amministratore-workspace-add-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px 18px;
}

#amministratoreContent .workspace-fieldset{
    min-width:0;
}

#amministratoreContent .workspace-role-grid,
#amministratoreContent .workspace-algoritmi-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
    gap:9px;
}

#amministratoreContent .workspace-choice-card{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 12px;
    border:1px solid var(--pa-border);
    border-radius:13px;
    background:#fff;
    color:#344054;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

#amministratoreContent .workspace-choice-card:hover{
    border-color:#a9c7ef;
    background:#f6f9fe;
}

#amministratoreContent .workspace-choice-card:has(input:checked){
    border-color:#87afe5;
    background:#eef5ff;
    color:var(--pa-primary);
    box-shadow:0 0 0 3px rgba(29,79,163,.08);
}

#amministratoreContent .workspace-choice-card input{
    accent-color:var(--pa-primary);
}

#amministratoreContent .workspace-company-fieldset,
#amministratoreContent .workspace-levels-fieldset,
#amministratoreContent .workspace-algoritmi-fieldset,
#amministratoreContent .workspace-submit-row{
    grid-column:1 / -1;
}

#amministratoreContent .workspace-company-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:7px;
}

#amministratoreContent .workspace-company-head .workspace-label{
    margin-bottom:0;
}

#amministratoreContent .workspace-new-company-btn{
    min-height:36px;
    padding:0 12px;
    border:1px solid #b9d2f3;
    background:#f1f6fd;
    color:var(--pa-primary);
}

#amministratoreContent .workspace-new-company-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

#amministratoreContent .workspace-new-company-btn.is-active{
    border-color:#88bca0;
    background:#eef9f2;
    color:#18794e;
}

#amministratoreContent .workspace-new-company-icon{
    font-size:18px;
    line-height:1;
}

#amministratoreContent .workspace-new-company-btn.is-active .workspace-new-company-icon{
    transform:rotate(45deg);
}

#amministratoreContent .workspace-company-new{
    display:grid;
    grid-template-columns:minmax(150px,.55fr) minmax(220px,1.45fr);
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid #a9c7ef;
    border-radius:14px;
    background:#f4f8fe;
    box-shadow:inset 3px 0 0 #5b8fd7;
}

#amministratoreContent .workspace-company-new-label{
    display:flex;
    flex-direction:column;
    gap:2px;
    color:#244b7a;
}

#amministratoreContent .workspace-company-new-label span{
    font-weight:900;
}

#amministratoreContent .workspace-company-new-label small{
    color:#60738b;
    font-size:12px;
}

#amministratoreContent .workspace-company-new[hidden],
#amministratoreContent .workspace-company-existing[hidden],
#amministratoreContent .workspace-levels-fieldset[hidden],
#amministratoreContent .workspace-algoritmi-fieldset[hidden],
#amministratoreContent .workspace-algoritmo-card[hidden]{
    display:none !important;
}

#amministratoreContent .workspace-phone-row{
    display:grid;
    grid-template-columns:minmax(220px,.95fr) 125px minmax(180px,1.2fr);
    gap:9px;
}

#amministratoreContent .workspace-phone-prefix-manual[hidden]{
    display:none !important;
}

#amministratoreContent .workspace-phone-prefix-manual{
    border-color:#a9c7ef;
    background:#f8fbff;
}

#amministratoreContent .workspace-help-text{
    margin:7px 0 0;
    color:var(--pa-muted);
    font-size:12px;
    line-height:1.45;
}

#amministratoreContent .workspace-form-feedback{
    grid-column:1 / -1;
    margin:0;
    padding:10px 12px;
    border:1px solid #f0b8b8;
    border-radius:10px;
    background:#fff5f5;
    color:#b42318;
    font-size:13px;
    font-weight:800;
    line-height:1.4;
}


#amministratoreContent .workspace-form-feedback[hidden]{
    display:none !important;
}


#amministratoreContent .workspace-submit-btn.is-loading{
    opacity:.72;
    cursor:wait;
}

#amministratoreContent .workspace-action-feedback{
    position:fixed;
    top:88px;
    right:24px;
    z-index:2200;
    width:min(360px,calc(100vw - 32px));
    margin:0;
    padding:12px 15px;
    border-radius:11px;
    box-shadow:0 12px 30px rgba(24,60,95,.18);
    font-size:13px;
    font-weight:850;
    line-height:1.4;
    animation:workspaceFeedbackIn .22s ease-out both;
}

#amministratoreContent .workspace-action-feedback.is-success{
    border:1px solid #9ed5b2;
    background:#edf9f1;
    color:#17663b;
}

@keyframes workspaceFeedbackIn{
    from{
        opacity:0;
        transform:translateY(-8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:600px){
    #amministratoreContent .workspace-action-feedback{
        top:76px;
        right:16px;
        left:16px;
        width:auto;
    }
}

@keyframes newlyCreatedUserFlash{
    0%,100%{
        background:#fff;
        box-shadow:none;
    }
    18%,72%{
        background:#dff5e7;
        box-shadow:inset 4px 0 0 #28a461, inset 0 0 0 1px #92d5aa;
    }
}

#amministratoreContent .amministratore-user-row.is-newly-created{
    animation:newlyCreatedUserFlash .75s ease-in-out both;
}

#amministratoreContent .workspace-submit-row{
    display:flex;
    justify-content:flex-end;
    padding-top:3px;
}

#amministratoreContent .workspace-submit-btn{
    min-width:180px;
}

/* ---------- Algoritmi e log separati ---------- */
#amministratoreContent .amministratore-algorithm-manager{
    overflow:hidden;
    width:100%;
}

#amministratoreContent .amministratore-algorithm-body{
    padding:18px;
}

#amministratoreContent .amministratore-algorithm-add-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px;
    margin-bottom:16px;
}

#amministratoreContent .amministratore-algorithm-add-btn{
    min-width:118px;
}

#amministratoreContent .amministratore-algorithm-list{
    display:flex;
    flex-direction:column;
    gap:7px;
}

#amministratoreContent .amministratore-algorithm-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:6px 7px 6px 12px;
    border:1px solid #e1e8f2;
    border-radius:12px;
    background:#f9fbfe;
}

#amministratoreContent .amministratore-algorithm-name{
    overflow:hidden;
    color:#344054;
    font-size:13px;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#amministratoreContent .amministratore-algorithm-remove-btn{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #efcccc;
    border-radius:10px;
    background:#fff5f5;
    color:var(--pa-danger);
    cursor:pointer;
}

#amministratoreContent .amministratore-log-column{
    display:flex;
    flex-direction:column;
    gap:16px;
    min-width:0;
}

#amministratoreContent .amministratore-log-settings-card{
    padding:17px 18px;
}

#amministratoreContent .amministratore-log-settings-form{
    display:grid;
    grid-template-columns:repeat(3,minmax(130px,1fr)) auto;
    align-items:end;
    gap:10px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

#amministratoreContent .amministratore-log-settings-form label{
    color:#344054;
    font-size:12px;
    font-weight:800;
}

#amministratoreContent .amministratore-log-settings-form label span{
    display:block;
    margin-bottom:7px;
}

#amministratoreContent .amministratore-activity-card{
    overflow:hidden;
}

#amministratoreContent .amministratore-log-search-toolbar{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 16px;
    border-bottom:1px solid #e8eef6;
    background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%);
}

#amministratoreContent .amministratore-log-search-field{
    min-width:0;
    flex:1 1 520px;
    min-height:46px;
    display:grid;
    grid-template-columns:22px minmax(0,1fr) 34px;
    align-items:center;
    gap:9px;
    padding:0 7px 0 14px;
    border:1px solid #d6e1ef;
    border-radius:14px;
    background:#fff;
    box-shadow:0 2px 8px rgba(25,48,86,.04);
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#amministratoreContent .amministratore-log-search-field:focus-within{
    border-color:#8eb5ec;
    background:#fff;
    box-shadow:0 0 0 3px rgba(29,79,163,.10),0 5px 16px rgba(25,48,86,.07);
}

#amministratoreContent .amministratore-log-search-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#7b8ba3;
    pointer-events:none;
}

#amministratoreContent .amministratore-log-search-icon .amministratore-ui-icon{
    width:19px;
    height:19px;
}

#amministratoreContent .amministratore-log-search-input{
    width:100%;
    min-width:0;
    height:44px;
    padding:0;
    border:0;
    outline:0;
    box-shadow:none;
    background:transparent;
    color:var(--pa-text);
    font:600 13px/1.3 Arial,Helvetica,sans-serif;
}

#amministratoreContent .amministratore-log-search-input:focus{
    border:0;
    outline:0;
    box-shadow:none;
}

#amministratoreContent .amministratore-log-search-input::placeholder{
    color:#8a98ad;
    font-weight:500;
}

#amministratoreContent .amministratore-log-search-input::-webkit-search-cancel-button{
    display:none;
}

#amministratoreContent .amministratore-log-search-clear{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 2px;
    border:0;
    border-radius:9px;
    background:#eef3fa;
    color:#52637b;
    font:700 20px/1 Arial,Helvetica,sans-serif;
    cursor:pointer;
    transition:background .16s ease,color .16s ease,transform .16s ease;
}

#amministratoreContent .amministratore-log-search-clear:hover{
    background:#e0e9f6;
    color:var(--pa-primary-dark);
}

#amministratoreContent .amministratore-log-search-clear:active{
    transform:scale(.94);
}

#amministratoreContent .amministratore-log-search-count{
    flex:none;
    min-width:72px;
    color:var(--pa-muted);
    font-size:12px;
    font-weight:800;
    text-align:right;
    white-space:nowrap;
}

#amministratoreContent .amministratore-log-search-empty{
    margin:0;
    padding:34px 20px;
    color:var(--pa-muted);
    font-size:13px;
    font-weight:700;
    text-align:center;
}

#amministratoreContent .amministratore-log-search-clear[hidden],
#amministratoreContent .amministratore-log-search-empty[hidden],
#amministratoreContent .amministratore-activity-list[hidden],
#amministratoreContent .amministratore-activity-item[hidden]{
    display:none;
}

#amministratoreContent .amministratore-activity-list{
    display:flex;
    flex-direction:column;
}

#amministratoreContent .amministratore-activity-item{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:13px;
    padding:16px 20px;
    border-bottom:1px solid #edf1f7;
}

#amministratoreContent .amministratore-activity-item:last-child{
    border-bottom:0;
}

#amministratoreContent .amministratore-activity-marker{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#edf3fb;
    color:var(--pa-primary);
}

#amministratoreContent .amministratore-activity-item.is-add .amministratore-activity-marker,
#amministratoreContent .amministratore-activity-item.is-login .amministratore-activity-marker,
#amministratoreContent .amministratore-activity-item.is-function-add .amministratore-activity-marker{
    background:#eaf7ef;
    color:var(--pa-success-dark);
}

#amministratoreContent .amministratore-activity-item.is-delete .amministratore-activity-marker,
#amministratoreContent .amministratore-activity-item.is-function-delete .amministratore-activity-marker{
    background:#fff1f1;
    color:var(--pa-danger);
}

#amministratoreContent .amministratore-activity-topline{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

#amministratoreContent .amministratore-activity-topline strong{
    color:var(--pa-text);
    font-size:14px;
}

#amministratoreContent .amministratore-activity-time{
    flex:none;
    color:var(--pa-muted);
    font-size:11px;
}

#amministratoreContent .amministratore-activity-actor{
    margin-top:3px;
    color:var(--pa-muted);
    font-size:12px;
}

#amministratoreContent .log-detail-box{
    margin-top:10px;
    padding:10px 12px;
    border:1px solid #e5ebf4;
    border-radius:11px;
    background:#f8fafd;
    color:#475467;
    font-size:12px;
}

#amministratoreContent .log-simple-row,
#amministratoreContent .log-change-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
}

#amministratoreContent .log-change-row + .log-change-row{
    margin-top:8px;
}

#amministratoreContent .log-change-label{
    min-width:58px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#344054;
    font-weight:900;
}

#amministratoreContent .log-change-row.is-before .log-change-label::before,
#amministratoreContent .log-change-row.is-after .log-change-label::before{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:14px;
    line-height:1;
}

#amministratoreContent .log-change-row.is-before .log-change-label::before{
    content:'−';
    background:#fee4e2;
    color:#b42318;
}

#amministratoreContent .log-change-row.is-after .log-change-label::before{
    content:'+';
    background:#dcfae6;
    color:#067647;
}

#amministratoreContent .log-value{
    display:inline-flex;
}

#amministratoreContent .log-field{
    align-items:center;
    gap:5px;
    margin:2px 6px 2px 0;
    padding:4px 7px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#fff;
}

#amministratoreContent .log-field-label{
    color:#667085;
    font-size:10px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
}

#amministratoreContent .log-field-value{
    color:#344054;
    font-size:12px;
    font-weight:700;
}

#amministratoreContent .log-changed{
    font-weight:800;
}

#amministratoreContent .log-change-row.is-before .log-field.log-changed{
    border-color:#f3b7b2;
    background:#fff4f3;
}

#amministratoreContent .log-change-row.is-before .log-field.log-changed .log-field-label,
#amministratoreContent .log-change-row.is-before .log-field.log-changed .log-field-value{
    color:#b42318;
}

#amministratoreContent .log-change-row.is-after .log-field.log-changed{
    border-color:#a6e1b8;
    background:#effcf3;
}

#amministratoreContent .log-change-row.is-after .log-field.log-changed .log-field-label,
#amministratoreContent .log-change-row.is-after .log-field.log-changed .log-field-value{
    color:#067647;
}

#amministratoreContent .log-separator{
    color:#98a2b3;
}

#amministratoreContent .log-function-primary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

#amministratoreContent .amministratore-empty-state{
    margin:0;
    padding:22px;
    color:var(--pa-muted);
    text-align:center;
}

/* ---------- Messaggi: rotta separata, non dentro Log e algoritmi ---------- */
#amministratoreContent .amministratore-message-list{
    display:flex;
    flex-direction:column;
}

#amministratoreContent .amministratore-message-item{
    padding:17px 20px;
    border-bottom:1px solid #edf1f7;
}

#amministratoreContent .amministratore-message-item:last-child{
    border-bottom:0;
}

#amministratoreContent .amministratore-message-item.is-unread{
    background:#f5f9ff;
    box-shadow:inset 4px 0 0 var(--pa-primary);
}

#amministratoreContent .amministratore-message-head,
#amministratoreContent .amministratore-message-meta,
#amministratoreContent .amministratore-message-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

#amministratoreContent .amministratore-message-head strong{
    color:var(--pa-text);
    font-size:14px;
}

#amministratoreContent .amministratore-message-date,
#amministratoreContent .amministratore-message-meta{
    color:var(--pa-muted);
    font-size:12px;
}

#amministratoreContent .amministratore-message-meta{
    justify-content:flex-start;
    flex-wrap:wrap;
    margin-top:6px;
}

#amministratoreContent .amministratore-message-text{
    margin-top:11px;
    color:#344054;
    font-size:13px;
    line-height:1.55;
}

#amministratoreContent .amministratore-message-actions{
    justify-content:flex-end;
    margin-top:12px;
}

#amministratoreContent .amministratore-message-toolbar{
    display:flex;
    justify-content:flex-end;
    margin-bottom:12px;
}

/* ---------- Modali esistenti ---------- */
#amministratoreContent [hidden],
#amministratoreContent .amministratore-user-row[hidden],
#amministratoreContent .amministratore-company-group[hidden]{
    display:none !important;
}

/* ---------- Cliente > Impianti ---------- */
#amministratoreContent .cliente-final-users-card,
#amministratoreContent .cliente-final-users-list-card{
    overflow:hidden;
    padding:0;
    border-color:#dbe4f0;
    border-radius:18px;
    box-shadow:0 10px 28px rgba(31,50,80,.06);
}

#amministratoreContent .cliente-final-users-list-card{
    margin-top:16px;
}

#amministratoreContent .cliente-final-users-head{
    padding:22px 24px 12px;
}

#amministratoreContent .cliente-final-users-head h2,
#amministratoreContent .cliente-final-users-list-head h3{
    margin:0;
    color:#172033;
    font-size:20px;
    font-weight:850;
    letter-spacing:-.015em;
}

#amministratoreContent .cliente-final-user-create-form{
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto;
    gap:10px;
    align-items:end;
    padding:10px 24px 24px;
}

#amministratoreContent .cliente-final-user-field{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:7px;
}

#amministratoreContent .cliente-final-user-field > span{
    color:#56657a;
    font-size:11px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
}

#amministratoreContent .cliente-final-user-field input{
    width:100%;
    min-height:50px;
    box-sizing:border-box;
    padding:0 15px;
    border:1px solid #d3deeb;
    border-radius:13px;
    background:#f9fbfd;
    color:#172033;
    font:650 14px/1.2 Arial, Helvetica, sans-serif;
    outline:none;
    transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

#amministratoreContent .cliente-final-user-field input:focus{
    border-color:#86aee3;
    background:#fff;
    box-shadow:0 0 0 3px rgba(29,79,163,.08);
}

#amministratoreContent .cliente-final-user-create-btn{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 18px;
    border-radius:13px;
    white-space:nowrap;
}

#amministratoreContent .cliente-final-users-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px 22px;
    border-bottom:1px solid #e3eaf3;
    background:#fbfcfe;
}

#amministratoreContent .cliente-final-users-list-head h3{
    font-size:16px;
}

#amministratoreContent .cliente-final-users-count{
    min-width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    padding:0 9px;
    border:1px solid #d5e2f1;
    border-radius:9px;
    background:#fff;
    color:#315f99;
    font-size:12px;
    font-weight:900;
}

#amministratoreContent .cliente-final-users-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:12px;
}

#amministratoreContent .cliente-final-user-row{
    display:grid;
    grid-template-columns:minmax(170px,1.1fr) minmax(250px,1.25fr) auto;
    align-items:center;
    gap:12px;
    min-height:68px;
    padding:10px 12px;
    border:1px solid #e0e7f0;
    border-radius:13px;
    background:#fff;
    transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

#amministratoreContent .cliente-final-user-row:hover{
    border-color:#c8d7e9;
    box-shadow:0 7px 18px rgba(31,50,80,.06);
    transform:translateY(-1px);
}

#amministratoreContent .cliente-final-user-name{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}

#amministratoreContent .cliente-final-user-label{
    margin:0;
    padding:0;
    background:transparent;
    color:#7a8798;
    font-size:9.5px;
    font-weight:850;
    letter-spacing:.055em;
    text-transform:uppercase;
}

#amministratoreContent .cliente-final-user-name strong{
    max-width:100%;
    overflow:hidden;
    color:#1b2638;
    font-size:14px;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#amministratoreContent .cliente-final-user-identifiers{
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    gap:7px;
    min-width:0;
}

#amministratoreContent .cliente-final-user-code{
    min-width:112px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
    padding:7px 10px;
    border-left:3px solid #b7cbe5;
    border-radius:7px;
    background:#f7f9fc;
}

#amministratoreContent .cliente-final-user-code span{
    color:#7a8798;
    font-size:9px;
    font-weight:800;
    letter-spacing:.035em;
    text-transform:uppercase;
}

#amministratoreContent .cliente-final-user-code strong{
    color:#244f83;
    font-size:14px;
    font-weight:900;
    letter-spacing:.055em;
}

#amministratoreContent .cliente-final-user-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:6px;
}

#amministratoreContent .cliente-final-user-actions form{
    display:block;
    margin:0;
}

#amministratoreContent .cliente-final-user-actions > .amministratore-action-btn,
#amministratoreContent .cliente-final-user-actions > form,
#amministratoreContent .cliente-final-user-actions > form > .amministratore-action-btn,
#amministratoreContent .cliente-final-user-actions > form > .delete-btn{
    width:132px;
    min-width:132px;
}

#amministratoreContent .cliente-final-user-edit-form{
    grid-column:1 / -1;
    grid-template-columns:minmax(0,1fr) auto;
    margin:0 -12px -10px;
    padding:10px 12px;
    border-top:1px solid #dce7f6;
    border-radius:0 0 12px 12px;
}

#amministratoreContent .cliente-final-user-row.is-edit-open{
    background:#f8fbff;
}

#amministratoreContent .cliente-final-users-empty{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:12px;
    padding:24px;
    border:1px dashed #ced9e6;
    border-radius:13px;
    background:#fbfcfe;
    color:#7a8798;
    font-size:12px;
    text-align:center;
}

#amministratoreContent .cliente-final-users-empty strong{
    color:#465468;
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
    #amministratoreContent .amministratore-filter-toolbar{
        grid-template-columns:repeat(3,minmax(150px,1fr));
    }

    #amministratoreContent .amministratore-filter-actions,
    #amministratoreContent .amministratore-quick-search-box{
        grid-column:auto;
    }

    #amministratoreContent .amministratore-quick-search-box{
        grid-column:span 2;
    }

    #amministratoreContent .amministratore-edit-form{
        grid-template-columns:repeat(2,minmax(130px,1fr));
    }
}

@media (max-width:1180px){
    #amministratoreContent .amministratore-user-summary{
        grid-template-columns:minmax(145px,1fr) 88px 126px minmax(90px,.75fr) auto;
    }
}

@media (max-width:920px){
    #amministratoreContent .amministratore-workspace{
        grid-template-columns:1fr;
    }

    #amministratoreContent .amministratore-sidebar{
        position:static;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

    #amministratoreContent .amministratore-sidebar-item{
        grid-template-columns:38px minmax(0,1fr);
        min-height:54px;
    }

    #amministratoreContent .amministratore-sidebar-icon{
        width:38px;
        height:38px;
    }

    #amministratoreContent .cliente-final-user-row{
        grid-template-columns:minmax(160px,1fr) minmax(240px,1.4fr);
    }

    #amministratoreContent .cliente-final-user-actions{
        grid-column:1 / -1;
        justify-content:flex-end;
    }

}

@media (max-width:760px){
    #amministratoreContent .amministratore-company-board{
        --company-tree-step:24px;
        --company-tree-gap:8px;
        padding:8px;
    }

    #amministratoreContent .amministratore-company-group.is-tree-child{
        --company-tree-effective-indent:min(var(--company-tree-mobile-indent, 0px), 96px);
    }

    #amministratoreContent .amministratore-user-list{
        --user-tree-level:28px;
        --user-tree-gap:8px;
        padding:8px;
    }

    #amministratoreContent .amministratore-company-shared-label{
        gap:5px;
        padding:8px 6px;
        font-size:12px;
        flex-wrap:wrap;
    }

    #amministratoreContent .amministratore-company-tree-btn,
    #amministratoreContent .amministratore-company-tree-leaf{
        width:22px;
        min-width:22px;
        height:22px;
        min-height:22px;
        flex-basis:22px;
    }


    #amministratoreContent .amministratore-user-summary{
        grid-template-columns:minmax(0,1fr) 132px;
        gap:5px 8px;
        min-height:0;
        padding:7px 8px;
    }

    #amministratoreContent .amministratore-user-person{
        grid-column:1;
        grid-row:1;
    }

    #amministratoreContent .amministratore-row-actions{
        width:132px;
        grid-column:2;
        grid-row:1 / span 4;
        align-items:stretch;
        justify-content:flex-start;
        flex-direction:column;
        flex-wrap:nowrap;
    }

    #amministratoreContent .amministratore-row-actions > .amministratore-action-btn,
    #amministratoreContent .amministratore-row-actions > form,
    #amministratoreContent .amministratore-row-actions > form > .amministratore-action-btn,
    #amministratoreContent .amministratore-row-actions > form > .delete-btn{
        width:100%;
    }

    #amministratoreContent .amministratore-user-role,
    #amministratoreContent .amministratore-user-accesso,
    #amministratoreContent .amministratore-user-meta{
        grid-column:1;
    }

    #amministratoreContent .amministratore-user-identifiers{
        gap:3px;
    }

    #amministratoreContent .amministratore-identifier-chip{
        padding:3px 6px;
    }

    #amministratoreContent .amministratore-edit-form{
        grid-template-columns:1fr;
    }
}

@media (max-width:720px){
    #amministratoreContent .amministratore-sidebar{
        grid-template-columns:1fr;
    }

    #amministratoreContent .amministratore-filter-toolbar,
    #amministratoreContent .amministratore-workspace-add-form,
    #amministratoreContent .amministratore-log-settings-form{
        grid-template-columns:1fr;
    }

    #amministratoreContent .amministratore-log-search-toolbar{
        align-items:stretch;
        flex-direction:column;
        gap:8px;
        padding:12px;
    }

    #amministratoreContent .amministratore-log-search-field{
        flex:auto;
        width:100%;
    }

    #amministratoreContent .amministratore-log-search-count{
        min-width:0;
        padding:0 3px;
        text-align:left;
    }

    #amministratoreContent .amministratore-quick-search-box,
    #amministratoreContent .workspace-company-fieldset,
    #amministratoreContent .workspace-levels-fieldset,
    #amministratoreContent .workspace-algoritmi-fieldset,
    #amministratoreContent .workspace-submit-row{
        grid-column:auto;
    }

    #amministratoreContent .amministratore-filter-actions{
        justify-content:stretch;
    }

    #amministratoreContent .amministratore-apply-filters-btn,
    #amministratoreContent .amministratore-reset-filters-btn{
        flex:1;
    }

    #amministratoreContent .amministratore-list-summary,
    #amministratoreContent .amministratore-activity-topline,
    #amministratoreContent .amministratore-message-head{
        align-items:flex-start;
        flex-direction:column;
    }

    #amministratoreContent .amministratore-row-actions{
        justify-content:flex-start;
    }

    #amministratoreContent .cliente-final-user-create-form,
    #amministratoreContent .cliente-final-user-row,
    #amministratoreContent .cliente-final-user-identifiers{
        grid-template-columns:1fr;
    }

    #amministratoreContent .cliente-final-user-actions{
        grid-column:auto;
        justify-content:stretch;
    }

    #amministratoreContent .cliente-final-user-actions > button,
    #amministratoreContent .cliente-final-user-actions > form,
    #amministratoreContent .cliente-final-user-actions > form > button{
        flex:1;
        width:100%;
    }

    #amministratoreContent .amministratore-edit-form{
        grid-template-columns:1fr;
    }

    #amministratoreContent .workspace-phone-row,
    #amministratoreContent .amministratore-algorithm-add-form{
        grid-template-columns:1fr;
    }

    #amministratoreContent .workspace-submit-btn,
    #amministratoreContent .amministratore-algorithm-add-btn{
        width:100%;
    }
}


@media (max-width:900px){
    #amministratoreContent .workspace-phone-row{
        grid-template-columns:1fr 120px;
    }

    #amministratoreContent .workspace-phone-local{
        grid-column:1 / -1;
    }
}

@media (max-width:720px){
    #amministratoreContent .workspace-company-new,
    #amministratoreContent .workspace-phone-row{
        grid-template-columns:1fr;
    }

    #amministratoreContent .workspace-phone-local{
        grid-column:auto;
    }
}

/* Azienda: inserimento diretto oppure selezione esistente */
#amministratoreContent .workspace-company-combined{
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto minmax(250px,1fr);
    align-items:center;
    gap:12px;
}

#amministratoreContent .workspace-company-new{
    display:block;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

#amministratoreContent .workspace-company-new-input{
    border:1px solid var(--pa-border);
    background:#fff;
}

#amministratoreContent .workspace-company-new-input:focus{
    border-color:#87afe5;
    box-shadow:0 0 0 3px rgba(29,79,163,.09);
}

#amministratoreContent .workspace-company-or{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:62px;
    color:#667085;
    font-size:13px;
    font-weight:800;
    text-transform:lowercase;
}

#amministratoreContent .workspace-company-or::before,
#amministratoreContent .workspace-company-or::after{
    content:'';
    width:10px;
    height:1px;
    margin:0 6px;
    background:#d0d5dd;
}

#amministratoreContent .workspace-company-or[hidden]{
    display:none !important;
}

/* Eliminazione algoritmo più chiara */
#amministratoreContent .amministratore-algorithm-item{
    grid-template-columns:minmax(0,1fr) auto;
}

#amministratoreContent .amministratore-algorithm-remove-btn{
    width:auto;
    min-width:104px;
    height:36px;
    padding:0 12px;
    gap:7px;
    border-color:#e6b9b9;
    border-radius:10px;
    background:#fff;
    color:#b42318;
    font-size:12px;
    font-weight:800;
}

#amministratoreContent .amministratore-algorithm-remove-btn:hover{
    border-color:#d92d20;
    background:#fff1f0;
    color:#b42318;
}

#amministratoreContent .amministratore-algorithm-remove-btn .amministratore-ui-icon{
    width:16px;
    height:16px;
}

@media (max-width: 760px){
    #amministratoreContent .workspace-company-combined{
        grid-template-columns:1fr;
        gap:9px;
    }

    #amministratoreContent .workspace-company-or{
        justify-self:center;
    }
}


/* ---------- Migliorie UI richieste: nuovo utente e pannello azienda ---------- */

/* Nei pannelli amministratore e azienda Ruolo e Algoritmi usano gli stessi selettori compatti. */
#amministratoreContent .amministratore-workspace-add-form .workspace-role-grid,
#amministratoreContent .amministratore-workspace-add-form .workspace-algoritmi-grid{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-role-grid .workspace-choice-card,
#amministratoreContent .amministratore-workspace-add-form .workspace-algoritmi-grid .workspace-choice-card{
    position:relative;
    width:auto;
    min-width:0;
    min-height:40px;
    padding:7px 11px;
    border-radius:9px;
    box-shadow:none;
    font-size:13px;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-role-grid .workspace-choice-card{
    min-width:118px;
    justify-content:center;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-algoritmi-grid .workspace-choice-card{
    flex:0 1 auto;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-choice-card input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-choice-card span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-choice-card span::before{
    content:'';
    width:16px;
    height:16px;
    flex:0 0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #b8c7dc;
    border-radius:5px;
    background:#fff;
    color:#fff;
    font-size:11px;
    font-weight:900;
    line-height:1;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-choice-card:has(input:checked) span::before{
    content:'✓';
    border-color:var(--pa-primary);
    background:var(--pa-primary);
}

#amministratoreContent .amministratore-workspace-add-form .workspace-choice-card:focus-within{
    outline:3px solid rgba(29,79,163,.14);
    outline-offset:1px;
}

/* Il prefisso occupa soltanto lo spazio necessario e il numero usa il resto. */
#amministratoreContent .workspace-phone-row,
.accesso-installatore-row{
    width:100%;
    display:flex;
    align-items:stretch;
    gap:9px;
}

#amministratoreContent .workspace-phone-prefix,
.accesso-installatore-prefix{
    flex:0 0 168px;
    width:168px;
    min-width:0;
    max-width:168px;
    padding-left:10px;
    padding-right:8px;
    text-overflow:ellipsis;
}

#amministratoreContent .workspace-phone-prefix-manual,
.accesso-installatore-prefix-manual{
    flex:0 0 108px;
    width:108px;
    min-width:0;
    max-width:108px;
    padding-left:10px;
    padding-right:10px;
}

#amministratoreContent .workspace-phone-local,
.accesso-installatore-local{
    flex:1 1 230px;
    width:auto;
    min-width:150px;
}

.accesso-installatore-prefix-manual[hidden]{
    display:none !important;
}

/* Nella card di accesso il prefisso resta compatto senza creare overflow. */
.accesso-installatore-row{
    display:grid;
    grid-template-columns:145px minmax(0,1fr);
}

.accesso-installatore-prefix{
    width:100%;
    max-width:none;
}

.accesso-installatore-local{
    width:100%;
    min-width:0;
    grid-column:2;
    grid-row:1;
}

.accesso-installatore-prefix-manual:not([hidden]){
    width:100%;
    max-width:none;
    grid-column:1 / -1;
    grid-row:2;
}

/* ---------- Menu a tendina condivisi: telefono e azienda ---------- */
.ui-select{
    position:relative;
    min-width:0;
}

.ui-select-native{
    position:absolute !important;
    inset:0 !important;
    z-index:0;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.ui-select-trigger{
    position:relative;
    z-index:1;
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 13px;
    border:1px solid var(--pa-border, #d5dfed);
    border-radius:13px;
    background:#fff;
    color:#344054;
    font:inherit;
    font-size:14px;
    text-align:left;
    cursor:pointer;
    transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.ui-select-trigger:hover{
    border-color:#a9c7ef;
    background:#fbfdff;
}

.ui-select-trigger:focus-visible,
.ui-select.is-open .ui-select-trigger{
    border-color:#8eb6ef;
    outline:none;
    box-shadow:0 0 0 4px rgba(29,79,163,.10);
}

.ui-select-trigger:disabled{
    background:#f2f4f7;
    color:#98a2b3;
    cursor:not-allowed;
}

.ui-select-trigger.is-placeholder,
.ui-select-trigger.is-placeholder .ui-select-label{
    color:#667085;
    font-weight:500;
}

.ui-select-trigger-content,
.ui-select-option{
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
}

.ui-select-trigger-content{
    overflow:hidden;
    flex:1 1 auto;
}

.ui-select-label{
    overflow:hidden;
    min-width:0;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ui-select-arrow{
    width:8px;
    height:8px;
    flex:0 0 8px;
    margin-right:2px;
    border-right:2px solid #667085;
    border-bottom:2px solid #667085;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .18s ease;
}

.ui-select.is-open .ui-select-arrow{
    transform:rotate(225deg) translate(-2px,-2px);
}

.ui-select-menu{
    position:absolute;
    z-index:1200;
    top:calc(100% + 7px);
    left:0;
    width:max-content;
    min-width:100%;
    max-width:min(340px, calc(100vw - 32px));
    max-height:280px;
    overflow-x:hidden;
    overflow-y:auto;
    padding:7px;
    border:1px solid var(--pa-border, #d5dfed);
    border-radius:13px;
    background:#fff;
    box-shadow:0 18px 38px rgba(15,35,70,.18);
}

.ui-select-menu[hidden]{
    display:none !important;
}

.ui-select-option{
    width:100%;
    min-height:40px;
    padding:8px 10px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#344054;
    font:inherit;
    font-size:13px;
    text-align:left;
    cursor:pointer;
    transition:background .14s ease, color .14s ease;
}

.ui-select-option:hover,
.ui-select-option:focus-visible{
    outline:none;
    background:#f1f6fd;
    color:#163f7a;
}

.ui-select-option.is-selected{
    background:#eef5ff;
    color:#1d4fa3;
    font-weight:800;
}

.ui-select-flags{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
}

.ui-select-flag{
    width:21px;
    height:15px;
    display:block;
    object-fit:cover;
    border:1px solid rgba(15,35,70,.14);
    border-radius:3px;
    background:#fff;
    box-shadow:0 1px 2px rgba(15,35,70,.10);
}

.ui-select-flag + .ui-select-flag{
    margin-left:-5px;
}

#amministratoreContent .workspace-company-existing > .ui-select--company{
    width:100%;
}

#amministratoreContent .workspace-phone-row > .ui-select--phone{
    flex:0 0 190px;
    width:190px;
    max-width:190px;
}

.accesso-installatore-row > .ui-select--phone{
    width:100%;
    min-width:0;
    grid-column:1;
    grid-row:1;
}

.ui-select--phone .ui-select-menu{
    min-width:285px;
}

.ui-select--company .ui-select-menu{
    right:0;
    width:100%;
}

@media (max-width:900px){
    #amministratoreContent .workspace-phone-row > .ui-select--phone{
        flex-basis:165px;
        width:165px;
        max-width:165px;
    }
}

@media (max-width:720px){
    #amministratoreContent .workspace-phone-row > .ui-select--phone{
        width:132px;
        max-width:132px;
        grid-column:1;
        grid-row:1;
    }

    .ui-select--phone .ui-select-menu{
        min-width:min(285px, calc(100vw - 32px));
    }
}


/* Form Nuovo utente unico: stesso layout per level 0 e level 1+. */
#amministratoreContent .amministratore-workspace-add-form .workspace-role-fieldset{
    grid-column:1 / -1;
    padding-bottom:18px;
    border-bottom:1px solid var(--pa-border);
}

#amministratoreContent .amministratore-workspace-add-form .workspace-role-fieldset .workspace-role-grid{
    justify-content:flex-start;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-name-fieldset{
    grid-column:1;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-surname-fieldset{
    grid-column:2;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-phone-fieldset,
#amministratoreContent .amministratore-workspace-add-form .workspace-child-company-fieldset,
#amministratoreContent .amministratore-workspace-add-form .workspace-algoritmi-fieldset,
#amministratoreContent .amministratore-workspace-add-form .workspace-submit-row{
    grid-column:1 / -1;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-phone-fieldset .workspace-phone-row{
    max-width:none;
}

@media (max-width:720px){
    #amministratoreContent .amministratore-workspace-add-form .workspace-role-fieldset,
    #amministratoreContent .amministratore-workspace-add-form .workspace-name-fieldset,
    #amministratoreContent .amministratore-workspace-add-form .workspace-surname-fieldset,
    #amministratoreContent .amministratore-workspace-add-form .workspace-phone-fieldset,
    #amministratoreContent .amministratore-workspace-add-form .workspace-child-company-fieldset,
    #amministratoreContent .amministratore-workspace-add-form .workspace-algoritmi-fieldset,
    #amministratoreContent .amministratore-workspace-add-form .workspace-submit-row{
        grid-column:1;
    }
}

/* ---------- Gerarchia aziende / sotto-livelli ---------- */
#amministratoreContent .amministratore-edit-levels{
    grid-column:1 / -1;
    display:flex;
    align-items:flex-end;
    gap:10px;
    padding:8px 10px;
    border:1px solid var(--pa-border);
    border-radius:10px;
    background:#fff;
}

#amministratoreContent .amministratore-edit-levels label{
    display:grid;
    gap:5px;
    min-width:180px;
    color:#344054;
    font-size:12px;
    font-weight:800;
}

#amministratoreContent .amministratore-edit-levels small{
    padding-bottom:8px;
    color:var(--pa-muted);
    font-size:11px;
}

#amministratoreContent .workspace-child-company-fieldset{
    grid-column:1 / -1;
}

.panel-loading-error{
    display:grid;
    justify-items:center;
    gap:10px;
}

.role-panel-retry-btn{
    min-height:38px;
    padding:0 16px;
    border:1px solid var(--pa-border);
    border-radius:10px;
    background:#fff;
    color:var(--pa-primary);
    font-weight:800;
    cursor:pointer;
}

@media(max-width:720px){
    #amministratoreContent .amministratore-edit-levels{
        align-items:stretch;
        flex-direction:column;
    }
}


#amministratoreContent .amministratore-generation-card{
    width:min(100%, 720px);
    margin:0 auto;
    padding:22px;
}

#amministratoreContent .amministratore-generation-head{
    margin-bottom:16px;
}

#amministratoreContent .amministratore-generation-head h2{
    margin:0 0 6px;
}

#amministratoreContent .amministratore-generation-head p{
    margin:0;
    color:#526174;
    line-height:1.45;
}

/* Catalogo algoritmi: lettura iniziale e modifica esplicita, come Gestione utenti. */
#amministratoreContent .amministratore-algorithm-add-form{
    grid-template-columns:minmax(0,1fr) minmax(150px,210px) auto;
    align-items:end;
}

#amministratoreContent .amministratore-algorithm-field{
    min-width:0;
    display:grid;
    gap:6px;
}

#amministratoreContent .amministratore-algorithm-field > span{
    color:#526174;
    font-size:11px;
    font-weight:800;
}

#amministratoreContent .amministratore-algorithm-field input{
    width:100%;
    min-width:0;
}

#amministratoreContent .amministratore-algorithm-item{
    display:block;
    min-height:0;
    padding:0;
    overflow:hidden;
    transition:border-color .14s ease, background .14s ease;
}

#amministratoreContent .amministratore-algorithm-item.is-edit-open{
    border-color:#b9cfea;
    background:#f8fbff;
}

#amministratoreContent .amministratore-algorithm-summary{
    min-height:64px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(150px,210px) auto;
    align-items:center;
    gap:9px;
    padding:10px;
}

#amministratoreContent .amministratore-algorithm-value{
    min-width:0;
    display:grid;
    gap:5px;
}

#amministratoreContent .amministratore-algorithm-value > span{
    color:#526174;
    font-size:11px;
    font-weight:800;
}

#amministratoreContent .amministratore-algorithm-value > strong{
    min-width:0;
    overflow:hidden;
    color:var(--pa-text);
    font-size:14px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#amministratoreContent .amministratore-algorithm-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
}

#amministratoreContent .amministratore-algorithm-actions .toggle-algorithm-edit-btn,
#amministratoreContent .amministratore-algorithm-remove-btn,
#amministratoreContent .amministratore-algorithm-save-btn{
    width:104px;
    min-width:104px;
    height:38px;
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 12px;
    border-radius:10px;
    box-sizing:border-box;
    font-size:12px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
}

#amministratoreContent .amministratore-algorithm-actions .toggle-algorithm-edit-btn,
#amministratoreContent .amministratore-algorithm-save-btn{
    border:1px solid var(--pa-primary);
    background:#fff;
    color:var(--pa-primary);
}

#amministratoreContent .amministratore-algorithm-actions .toggle-algorithm-edit-btn:hover,
#amministratoreContent .amministratore-algorithm-save-btn:hover{
    background:#eef4ff;
}

#amministratoreContent .amministratore-algorithm-edit-form{
    display:none;
    min-width:0;
    grid-template-columns:minmax(0,1fr) minmax(150px,210px) auto;
    align-items:end;
    gap:9px;
    padding:10px;
    border-top:1px solid #dce7f6;
    background:#f6f9fe;
}

#amministratoreContent .amministratore-algorithm-item.is-edit-open .amministratore-algorithm-edit-form{
    display:grid;
}

@media(max-width:760px){
    #amministratoreContent .amministratore-algorithm-add-form,
    #amministratoreContent .amministratore-algorithm-summary,
    #amministratoreContent .amministratore-algorithm-edit-form{
        grid-template-columns:1fr;
    }

    #amministratoreContent .amministratore-algorithm-item{
        display:block;
    }

    #amministratoreContent .amministratore-algorithm-actions{
        justify-content:stretch;
    }

    #amministratoreContent .amministratore-algorithm-actions > *,
    #amministratoreContent .amministratore-algorithm-actions form{
        flex:1 1 0;
    }

    #amministratoreContent .amministratore-algorithm-add-btn,
    #amministratoreContent .amministratore-algorithm-actions .toggle-algorithm-edit-btn,
    #amministratoreContent .amministratore-algorithm-save-btn,
    #amministratoreContent .amministratore-algorithm-remove-btn{
        width:100%;
    }
}

/* ---------- Credenziali degli amministratori ----------
   Nome utente e password condividono la griglia del form. L'attributo hidden
   deve prevalere quando JavaScript seleziona il ruolo installatore. ---------- */
#amministratoreContent .workspace-credentials-fieldset[hidden]{
    display:none !important;
}

/* ---------- Credenziali provvisorie ---------- */
#amministratoreContent .workspace-credenziali-automatiche{
    grid-column:1 / -1;
    padding:12px 14px;
    border:1px solid #b9d2f3;
    border-radius:12px;
    background:#f4f8fe;
}

#amministratoreContent .workspace-credenziali-automatiche[hidden]{
    display:none !important;
}

.credenziali-temporanee-modal .confirm-modal-box{
    width:min(520px,calc(100vw - 32px));
}

.credenziali-temporanee-elenco{
    display:grid;
    gap:10px;
    margin:18px 0;
}

.credenziali-temporanee-elenco > div{
    display:grid;
    grid-template-columns:130px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:11px 12px;
    border:1px solid #d6e2f2;
    border-radius:10px;
    background:#f8fbff;
}

.credenziali-temporanee-elenco span{
    color:#526174;
    font-size:13px;
    font-weight:800;
}

.credenziali-temporanee-elenco strong{
    min-width:0;
    overflow-wrap:anywhere;
    color:#17345d;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    font-size:14px;
}

.credenziali-copia-btn,
.credenziali-chiudi-btn{
    min-height:40px;
    padding:0 16px;
    border-radius:9px;
    font-weight:900;
}

.credenziali-copia-btn{
    border:1px solid #1d4fa3;
    background:#1d4fa3;
    color:#fff;
}

.credenziali-chiudi-btn{
    border:1px solid #cbd5e1;
    background:#fff;
    color:#334155;
}

@media(max-width:520px){
    .credenziali-temporanee-elenco > div{
        grid-template-columns:1fr;
        gap:4px;
    }
}

/* 5.54: selettore del padre per le nuove aziende create da ES. */
#amministratoreContent .workspace-parent-company-select{
    width:100%;
    margin-top:8px;
}

/* 5.55 — azioni contestuali per livello azienda. */
#amministratoreContent .amministratore-company-header-actions{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:auto;
    flex:0 0 auto;
}

#amministratoreContent .amministratore-company-add-btn{
    width:30px;
    min-width:30px;
    height:30px;
    min-height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #bfd1e8;
    border-radius:9px;
    background:#fff;
    color:#1454a2;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(44,73,117,.08);
    transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}

#amministratoreContent .amministratore-company-add-btn .amministratore-ui-icon{
    width:17px;
    height:17px;
}

#amministratoreContent .amministratore-company-add-btn:hover,
#amministratoreContent .amministratore-company-add-btn:focus-visible{
    background:#eef5ff;
    border-color:#78a3d8;
    box-shadow:0 0 0 3px rgba(89,132,185,.12);
    transform:translateY(-1px);
    outline:none;
}

#amministratoreContent .amministratore-company-add-btn.is-branch{
    border-style:dashed;
}


#amministratoreContent .amministratore-contextual-add-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:14px;
    margin:0 0 14px;
    padding:13px 15px;
    border:1px solid #d8e4f2;
    border-radius:12px;
    background:#f7faff;
}

#amministratoreContent .amministratore-contextual-add-head strong{
    display:block;
    color:#243b5a;
    font-size:15px;
}

#amministratoreContent .amministratore-contextual-add-head p{
    margin:3px 0 0;
    color:#64748b;
    font-size:12px;
}

#amministratoreContent .amministratore-contextual-add-title-wrap{
    min-width:0;
}

#amministratoreContent .amministratore-contextual-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    min-width:38px;
    height:38px;
    min-height:38px;
    padding:0;
    border:1px solid #bfd1e8;
    border-radius:10px;
    background:#fff;
    color:#1454a2;
    box-shadow:0 3px 8px rgba(48,82,125,.07);
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

#amministratoreContent .amministratore-contextual-back-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
}

#amministratoreContent .amministratore-contextual-back-icon svg{
    display:block;
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

#amministratoreContent .amministratore-contextual-back:hover,
#amministratoreContent .amministratore-contextual-back:focus-visible{
    background:#eef5ff;
    border-color:#8fb2dc;
    box-shadow:0 0 0 3px rgba(89,132,185,.10);
    transform:translateX(-1px);
    outline:none;
}

@media (max-width:760px){
    #amministratoreContent .amministratore-contextual-add-head{
        grid-template-columns:1fr;
        align-items:start;
        gap:10px;
    }
    #amministratoreContent .amministratore-contextual-back{
        justify-self:start;
    }
    #amministratoreContent .amministratore-company-header-actions{ gap:4px; }
    #amministratoreContent .amministratore-company-add-btn{
        width:28px;
        min-width:28px;
        height:28px;
        min-height:28px;
    }
}


/* 5.56 — leggibilità e layout anti-overlap. L’expander resta quello compatto della 5.55. */
#amministratoreContent .amministratore-user-summary > *,
#amministratoreContent .amministratore-company-shared-label > *,
#amministratoreContent .amministratore-contextual-add-head > div,
#amministratoreContent .workspace-fieldset,
#amministratoreContent .amministratore-edit-form > *{
    min-width:0;
}

#amministratoreContent .amministratore-user-role{
    height:auto;
    min-height:26px;
    padding-top:5px;
    padding-bottom:5px;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    text-align:center;
    line-height:1.15;
}

#amministratoreContent .amministratore-user-accesso,
#amministratoreContent .amministratore-user-algorithms,
#amministratoreContent .amministratore-user-title-line strong,
#amministratoreContent .amministratore-company-name,
#amministratoreContent .amministratore-filter-option span,
#amministratoreContent .workspace-help-text,
#amministratoreContent .amministratore-contextual-add-head strong,
#amministratoreContent .amministratore-contextual-add-head p{
    max-width:100%;
}

#amministratoreContent .amministratore-contextual-add-head strong,
#amministratoreContent .amministratore-contextual-add-head p,
#amministratoreContent .workspace-help-text,
#amministratoreContent .amministratore-filter-option span{
    overflow-wrap:anywhere;
}

#amministratoreContent .amministratore-edit-form input,
#amministratoreContent .amministratore-edit-form select,
#amministratoreContent .workspace-phone-row > *,
#amministratoreContent .amministratore-workspace-add-form input,
#amministratoreContent .amministratore-workspace-add-form select{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

#amministratoreContent .amministratore-workspace-add-form .workspace-choice-card span{
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
}

#amministratoreContent .amministratore-company-add-btn.is-branch .amministratore-ui-icon{
    width:19px;
    height:19px;
}

@media (min-width:761px){
    #amministratoreContent .amministratore-user-summary{
        grid-template-columns:minmax(150px,1.25fr) minmax(112px,.78fr) minmax(105px,1fr) minmax(100px,.9fr) auto;
    }
}

@media (min-width:761px) and (max-width:1180px){
    #amministratoreContent .amministratore-user-summary{
        grid-template-columns:minmax(135px,1.15fr) minmax(108px,.78fr) minmax(98px,.95fr) minmax(88px,.82fr) auto;
        gap:6px;
    }

    #amministratoreContent .amministratore-action-btn,
    #amministratoreContent .amministratore-delete-form .delete-btn{
        padding-left:8px;
        padding-right:8px;
    }
}

@media (max-width:760px){
    #amministratoreContent .amministratore-contextual-add-head{
        align-items:flex-start;
    }
}

/* 5.59 — conferma esplicita quando si sostituisce la password di un account username-based. */
.password-change-confirm-btn{
    background:#1454a2 !important;
    border-color:#1454a2 !important;
    color:#fff !important;
}
.password-change-confirm-btn:hover,
.password-change-confirm-btn:focus-visible{
    background:#0f4385 !important;
    border-color:#0f4385 !important;
}

/* Indicatore dell'account strutturale Cliente/Rivenditore. */
#amministratoreContent .company-account-marker{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border:1px solid #fde68a;
    border-radius:999px;
    background:#fffbeb;
    color:#ca8a04;
    font-size:16px;
    line-height:1;
}

/* 5.110 — policy Codice installatore configurabile solo da ES sul Rivenditore di primo livello. */
#amministratoreContent .workspace-installer-code-policy-fieldset{
    grid-column:1 / -1;
    padding:12px;
    border:1px solid var(--pa-border);
    border-radius:13px;
    background:#f8fafc;
}

#amministratoreContent .workspace-installer-code-policy-fieldset[hidden],
#amministratoreContent .workspace-algorithm-base-wrap[hidden]{
    display:none !important;
}

#amministratoreContent .workspace-installer-code-toggle{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:34px;
    font-size:13px;
    font-weight:800;
    color:#344054;
    cursor:pointer;
}

#amministratoreContent .workspace-installer-code-toggle input{
    width:18px;
    height:18px;
    margin:0;
    accent-color:var(--pa-primary);
}

#amministratoreContent .workspace-algorithm-base-wrap{
    margin-top:12px;
    display:grid;
    gap:7px;
}

#amministratoreContent .workspace-algorithm-base-wrap select{
    width:100%;
    min-height:42px;
}

#amministratoreContent .amministratore-installer-code-policy{
    min-width:0;
    display:inline-flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px;
    width:max-content;
    max-width:100%;
    min-height:24px;
    padding:3px 7px;
    border:1px solid #cbdcf1;
    border-radius:7px;
    background:#f3f7fc;
    color:#40536d;
    font-size:10px;
    line-height:1.2;
}

#amministratoreContent .amministratore-installer-code-policy > span{
    color:#65758a;
    font-weight:700;
}

#amministratoreContent .amministratore-installer-code-policy > strong{
    color:#174f98;
    font-size:11px;
    font-weight:900;
}

#amministratoreContent .amministratore-installer-code-policy.is-inactive > strong{
    color:#667085;
}


/* 5.138 — Generazione Codice compatta nell'header azienda, palette Anteprima. */
#amministratoreContent .amministratore-company-add-btn.is-generation{
    border-color:#e2b45e;
    background:#fff8e8;
    color:#805511;
}

#amministratoreContent .amministratore-company-add-btn.is-generation:hover,
#amministratoreContent .amministratore-company-add-btn.is-generation:focus-visible{
    border-color:#d89b31;
    background:#fff0c9;
    box-shadow:0 0 0 3px rgba(216,155,49,.12);
}

#amministratoreContent .amministratore-company-add-btn.is-generation[aria-expanded="true"]{
    display:none;
}

#amministratoreContent .es-client-header-generation-dock{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex:0 1 286px;
    width:min(286px,42vw);
    min-width:218px;
    height:30px;
    min-height:30px;
    margin:0;
}

#amministratoreContent .es-client-header-generation-dock[hidden]{
    display:none !important;
}

#amministratoreContent .es-client-header-generation-form{
    display:grid;
    grid-template-columns:minmax(96px,1.05fr) minmax(112px,.95fr);
    align-items:center;
    gap:5px;
    width:100%;
    height:30px;
    margin:0;
}

#amministratoreContent .es-client-header-generation-field{
    min-width:0;
    height:30px;
    min-height:30px;
    display:flex;
    align-items:center;
    margin:0;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid #e2b45e;
    border-radius:8px;
    background:#fffaf0;
    box-shadow:0 1px 2px rgba(115,78,18,.06);
    transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;
}

#amministratoreContent .es-client-header-generation-field:focus-within{
    border-color:#d89b31;
    background:#fff7e6;
    box-shadow:0 0 0 2px rgba(216,155,49,.11);
}

#amministratoreContent .es-client-header-generation-field.is-disabled{
    opacity:.62;
}

#amministratoreContent .es-client-header-generation-field select,
#amministratoreContent .es-client-header-generation-field input{
    min-width:0;
    width:100%;
    height:28px;
    min-height:28px;
    margin:0;
    padding:0 8px;
    box-sizing:border-box;
    border:0;
    border-radius:0;
    outline:0;
    background:transparent;
    color:#765016;
    font:inherit;
    font-size:11px;
    font-weight:800;
    line-height:28px;
    box-shadow:none;
}

#amministratoreContent .es-client-header-generation-field select{
    padding-right:22px;
    cursor:pointer;
    text-overflow:ellipsis;
}

#amministratoreContent .es-client-header-generation-field input::placeholder{
    color:#a17a3c;
    opacity:.9;
}

#amministratoreContent .es-client-header-generation-field input:disabled{
    cursor:not-allowed;
}

#amministratoreContent .es-client-header-generation-submit{
    flex:0 0 29px;
    width:29px;
    min-width:29px;
    height:28px;
    min-height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    border:0;
    border-left:1px dashed #e2b45e;
    border-radius:0;
    background:#fff0c9;
    color:#805511;
    cursor:pointer;
    box-shadow:none;
}

#amministratoreContent .es-client-header-generation-submit .amministratore-ui-icon{
    width:15px;
    height:15px;
}

#amministratoreContent .es-client-header-generation-submit:hover,
#amministratoreContent .es-client-header-generation-submit:focus-visible{
    background:#ffe7aa;
    color:#68430b;
    outline:none;
}

#amministratoreContent .es-client-header-generation-submit:disabled{
    cursor:not-allowed;
    opacity:.5;
}

#amministratoreContent .es-client-header-generation-feedback{
    position:absolute;
    z-index:30;
    top:calc(100% + 8px);
    right:0;
    width:max-content;
    max-width:min(320px,80vw);
    margin:0;
    padding:7px 9px;
    border:1px dashed #d89b31;
    border-radius:8px;
    background:#fffaf0;
    color:#765016;
    box-shadow:0 5px 14px rgba(115,78,18,.12);
    font-size:11px;
    font-weight:800;
    line-height:1.3;
    white-space:normal;
}

#amministratoreContent .es-client-header-generation-feedback[hidden]{
    display:none !important;
}

#amministratoreContent .es-client-header-generation-feedback.error-message{
    color:#8b3a22;
}

#amministratoreContent .amministratore-company-shared-label.has-generation-dock-open{
    min-height:44px;
}

@media (max-width:760px){
    #amministratoreContent .es-client-header-generation-dock{
        flex-basis:238px;
        width:min(238px,62vw);
        min-width:190px;
    }
    #amministratoreContent .es-client-header-generation-form{
        grid-template-columns:minmax(82px,1fr) minmax(103px,1fr);
        gap:4px;
    }
    #amministratoreContent .es-client-header-generation-field select,
    #amministratoreContent .es-client-header-generation-field input{
        padding-left:6px;
        padding-right:6px;
        font-size:10px;
    }
}

@media (max-width:520px){
    #amministratoreContent .amministratore-company-shared-label.has-generation-dock-open .amministratore-company-name{
        flex-basis:0;
    }
    #amministratoreContent .amministratore-company-shared-label.has-generation-dock-open .amministratore-company-header-actions > .amministratore-company-add-btn:not(.is-generation){
        display:none;
    }
    #amministratoreContent .es-client-header-generation-dock{
        width:min(228px,70vw);
    }
}

/* Anteprima allineata alla versione 5.116: niente riga azienda duplicata. */
#amministratoreContent .amministratore-company-group.is-draft-company-group > .amministratore-inline-create-host.is-company-draft-host{
    border-top:0;
    border-radius:0 0 11px 11px;
}

/* L'azione di chiusura vive a sinistra dell'header/anteprima, non dentro un secondo header del form. */
#amministratoreContent .is-draft-user-row > .amministratore-user-summary{
    position:relative;
    padding-left:52px;
}

#amministratoreContent .inline-draft-close{
    position:absolute;
    left:9px;
    top:50%;
    z-index:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    padding:0;
    border:1px solid #d5a550;
    border-radius:9px;
    background:#fff;
    color:#7a5214;
    font-size:23px;
    font-weight:400;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    box-shadow:0 2px 7px rgba(104,72,18,.08);
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}

#amministratoreContent .inline-draft-close:hover,
#amministratoreContent .inline-draft-close:focus-visible{
    background:#fff4d9;
    border-color:#bd7f1b;
    box-shadow:0 0 0 3px rgba(189,127,27,.10);
    outline:none;
}

#amministratoreContent .amministratore-company-shared-label > .inline-draft-close.is-company-header-close{
    position:static;
    flex:0 0 32px;
    transform:none;
}

@media (max-width:760px){
    #amministratoreContent .is-draft-user-row > .amministratore-user-summary{
        padding-left:48px;
    }
}

/* 5.143 — Modifica Installatore/Tecnico: campi persona allineati e dimensioni uniformi. */
#amministratoreContent .amministratore-edit-form.is-person-edit{
    align-items:center;
    gap:10px;
}

#amministratoreContent .amministratore-edit-form.is-person-edit input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
#amministratoreContent .amministratore-edit-form.is-person-edit select,
#amministratoreContent .amministratore-edit-form.is-person-edit .save-btn{
    height:42px;
    min-height:42px;
}

#amministratoreContent .amministratore-edit-form.is-person-edit input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
#amministratoreContent .amministratore-edit-form.is-person-edit select{
    padding-left:12px;
    padding-right:12px;
}

@media (min-width:1181px){
    #amministratoreContent .amministratore-edit-form.is-installatore-edit{
        grid-template-columns:repeat(4,minmax(0,1fr)) minmax(86px,auto);
    }

    #amministratoreContent .amministratore-edit-form.is-tecnico-edit{
        grid-template-columns:repeat(3,minmax(0,1fr)) minmax(86px,auto);
    }

    #amministratoreContent .amministratore-edit-form.is-person-edit > .save-btn{
        grid-column:-2 / -1;
        grid-row:1;
    }
}

@media (min-width:761px) and (max-width:1180px){
    #amministratoreContent .amministratore-edit-form.is-installatore-edit,
    #amministratoreContent .amministratore-edit-form.is-tecnico-edit{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    #amministratoreContent .amministratore-edit-form.is-person-edit .save-btn{
        justify-self:end;
        min-width:110px;
    }
}

/* ---------- 5.145: account azienda fuori dalla Gestione utenti ---------- */
/*
 * Quando Cliente/Rivenditore non ha ancora membri, Aggiungi utente occupa lo
 * spazio della lista al posto della vecchia riga dell'account aziendale.
 * Nessun testo visibile viene aggiunto: l'azione resta iconica come nell'header.
 */
#amministratoreContent .amministratore-empty-company-add-slot{
    width:100%;
    min-width:0;
}

#amministratoreContent .amministratore-empty-company-add-slot[hidden]{
    display:none !important;
}

#amministratoreContent .amministratore-empty-company-add-btn{
    width:100%;
    min-width:0;
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
    border:1px dashed #b8cce6;
    border-radius:10px;
    background:linear-gradient(180deg,#fbfdff 0%,#f4f8fd 100%);
    color:#1454a2;
    cursor:pointer;
    box-shadow:0 1px 3px rgba(44,73,117,.035);
    transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}

#amministratoreContent .amministratore-empty-company-add-btn .amministratore-ui-icon{
    width:26px;
    height:26px;
    padding:9px;
    box-sizing:content-box;
    border:1px solid #c5d7ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 2px 7px rgba(44,73,117,.08);
}

#amministratoreContent .amministratore-empty-company-add-btn:hover,
#amministratoreContent .amministratore-empty-company-add-btn:focus-visible{
    border-color:#78a3d8;
    background:linear-gradient(180deg,#f7fbff 0%,#edf5ff 100%);
    box-shadow:0 0 0 3px rgba(89,132,185,.10),0 4px 12px rgba(44,73,117,.07);
    transform:translateY(-1px);
    outline:none;
}

#amministratoreContent .amministratore-empty-company-add-btn:active{
    transform:translateY(0);
}

@media(max-width:760px){
    #amministratoreContent .amministratore-empty-company-add-btn{
        min-height:68px;
        padding:10px;
    }
    #amministratoreContent .amministratore-empty-company-add-btn .amministratore-ui-icon{
        width:23px;
        height:23px;
        padding:8px;
    }
}
