/* Scheda cliente operativa completa */
.cliente-operativo{
    display:block;
}

.cliente-topbar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    padding:10px !important;
    margin-bottom:10px;
    border-top:4px solid #155e63 !important;
}

.cliente-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:16px;
    align-items:start;
}

.cliente-card-operativa{
    border-top:4px solid #303030 !important;
}

.cliente-title-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    border-bottom:1px solid #ddd;
    padding-bottom:10px;
    margin-bottom:12px;
}

.cliente-title-row h2{
    margin:6px 0 0;
    font-size:28px !important;
}

.cliente-meta{
    color:#666;
    font-size:12px;
}

.cliente-anagrafica-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:10px;
}

.field-line{
    border-bottom:1px solid #aaa;
    min-height:46px;
    padding:4px 2px;
    background:#f7f7f7;
}

.field-line.large{
    grid-column:span 2;
}

.field-line label{
    display:block;
    font-size:12px;
    color:#444;
    font-weight:700;
}

.field-line b{
    display:block;
    font-size:15px;
    color:#222;
    margin-top:5px;
    min-height:18px;
}

.cliente-avvisi{
    margin-top:16px;
}

.cliente-avvisi label{
    display:block;
    margin-bottom:6px;
}

.cliente-avvisi textarea{
    width:100%;
    min-height:74px;
    border:1px solid #155e63 !important;
    color:#7f1d1d !important;
    font-weight:900;
    resize:vertical;
}

.cliente-bottom-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}

.cliente-side-actions{
    display:grid;
    gap:9px;
    position:sticky;
    top:14px;
}

.side-action{
    display:block;
    text-decoration:none;
    color:#303030;
    background:linear-gradient(180deg,#ffffff,#eeeeee);
    border:1px solid #cfcfcf;
    border-radius:8px;
    padding:12px;
    box-shadow:inset 0 1px 0 #fff, 0 2px 4px rgba(0,0,0,.12);
}

.side-action:hover{
    border-color:#155e63;
    background:linear-gradient(180deg,#edf7f7,#eeeeee);
}

.side-action.primary{
    border-left:5px solid #155e63;
}

.side-action b{
    display:block;
    font-size:15px;
    color:#303030;
    margin-bottom:5px;
}

.side-action span{
    display:block;
    font-size:12px;
    color:#666;
    font-weight:700;
}

.journal-pill{
    display:inline-block;
    padding:5px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.journal-pill.done{
    background:#d7f7df;
    color:#166534;
}

.journal-pill.todo{
    background:#eef2f7;
    color:#475569;
}

.journal-pill.muted{
    background:#e5e5e5;
    color:#555;
}

@media(max-width:1100px){
    .cliente-layout{
        grid-template-columns:1fr;
    }

    .cliente-side-actions{
        position:static;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .cliente-anagrafica-grid,
    .cliente-side-actions{
        grid-template-columns:1fr;
    }

    .field-line.large{
        grid-column:auto;
    }
}


/* Organizzazione scheda cliente completa */
.cliente-toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:stretch;padding:8px!important;margin-bottom:8px;border-top:4px solid #155e63!important}
.tool-form{display:inline;margin:0}
.tool-btn{min-width:78px;min-height:70px;border:1px solid #cfcfcf;border-radius:8px;background:linear-gradient(180deg,#fff,#ececec);box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:#333;font-weight:900;cursor:pointer;padding:8px 10px;font:inherit}
.tool-btn span{font-size:24px;line-height:1}.tool-btn b{font-size:13px}.tool-btn:hover{border-color:#155e63;background:linear-gradient(180deg,#edf7f7,#ececec)}.tool-btn.danger{color:#8b0000}.tool-btn.disabled{opacity:.45;cursor:not-allowed}.cliente-subtoolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:14px;padding:8px!important}.cliente-meta-line{font-size:12px;color:#555;margin-left:10px}.cliente-anagrafica-completa{display:grid;grid-template-columns:74px minmax(150px,1.4fr) minmax(150px,1.4fr) minmax(110px,.8fr);gap:8px;align-items:end}.cliente-anagrafica-completa .field-line{min-height:45px}.cliente-anagrafica-completa .field-line.codice b{color:#0f4f53;font-size:17px}.cliente-anagrafica-completa .field-line.large{grid-column:span 2}.cliente-anagrafica-completa .field-line.email-line{grid-column:span 3}.access-web-inline{display:flex;flex-direction:column;gap:6px;align-self:stretch;justify-content:flex-end}.access-status{font-size:12px;text-align:center}.access-status.ko{color:#e00000}.access-status.ok{color:#087b20}.inline-form{display:inline-block;margin:2px}.inline-form button.small{vertical-align:middle}.btn.danger,button.danger,.small.danger{background:#b91c1c!important;color:#fff!important;border-color:#991b1b!important}
@media(max-width:1050px){.cliente-anagrafica-completa{grid-template-columns:1fr 1fr}.cliente-anagrafica-completa .field-line.large,.cliente-anagrafica-completa .field-line.email-line{grid-column:span 2}}
@media(max-width:640px){.cliente-anagrafica-completa{grid-template-columns:1fr}.cliente-anagrafica-completa .field-line.large,.cliente-anagrafica-completa .field-line.email-line{grid-column:auto}.tool-btn{min-width:calc(50% - 6px)}}

/* Mandati: creazione diretta da scheda cliente e ricerca cliente */
.mandato-cliente-picker{display:flex;flex-direction:column;gap:8px}
.cliente-selezionato-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #ddd;border-left:5px solid #155e63;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.cliente-selezionato-card small{display:block;color:#555;margin-top:4px;font-weight:500}
.cliente-search-results{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:360px;overflow:auto}
.cliente-search-item{width:100%;text-align:left;border:1px solid #ddd;border-radius:9px;background:#fff;padding:12px 14px;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.cliente-search-item:hover,.cliente-search-item:focus{border-color:#155e63;outline:2px solid rgba(21,94,99,.18)}
.cliente-search-item b{display:block;font-size:15px;color:#222}.cliente-search-item small{display:block;color:#555;margin-top:3px}
.cliente-search-empty,.cliente-search-selected{padding:10px 12px;border-radius:8px;background:#f7f7f7;color:#333}
@media(max-width:760px){.cliente-selezionato-card{align-items:stretch;flex-direction:column}.cliente-search-results{max-height:300px}.mandato-form .form-actions .btn{width:100%}}

/* Cliente: azioni della scheda sempre visibili all'apertura */
.cliente-toolbar-principale{align-items:stretch;gap:8px}
.cliente-meta-compatta{padding:8px 12px!important;margin-bottom:14px}
.cliente-meta-compatta .btn,.cliente-meta-compatta .inline-form button{margin:0}
.cliente-meta-compatta .inline-form{display:inline-flex;margin:0}
.cliente-meta-line{align-self:center;white-space:normal}
@media(max-width:700px){.cliente-toolbar-principale .tool-btn{min-width:calc(50% - 6px)}.cliente-meta-compatta .btn,.cliente-meta-compatta .inline-form,.cliente-meta-compatta .inline-form button{width:100%}}

/* Azioni laterali cliente sempre visibili */
@media(max-width:1100px){.cliente-side-actions-compatte{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cliente-side-actions-compatte{grid-template-columns:1fr}}

/* Variante attivata dal pulsante: evita che un print generico stampi solo la scheda */
@media print{
    body.print-cliente-scheda *{
        visibility:hidden !important;
    }
    body.print-cliente-scheda,
    body.print-cliente-scheda main,
    body.print-cliente-scheda .content,
    body.print-cliente-scheda .cliente-operativo,
    body.print-cliente-scheda .cliente-layout,
    body.print-cliente-scheda .cliente-main,
    body.print-cliente-scheda .cliente-card-operativa,
    body.print-cliente-scheda .cliente-card-operativa *{
        visibility:visible !important;
    }
    body.print-cliente-scheda{
        background:#fff !important;
        margin:0 !important;
        padding:0 !important;
    }
    body.print-cliente-scheda .side,
    body.print-cliente-scheda .mobile-topbar,
    body.print-cliente-scheda .side-backdrop,
    body.print-cliente-scheda h1,
    body.print-cliente-scheda .cliente-toolbar,
    body.print-cliente-scheda .cliente-subtoolbar,
    body.print-cliente-scheda .cliente-side-actions,
    body.print-cliente-scheda #pannello-accesso-web,
    body.print-cliente-scheda #modifica-cliente,
    body.print-cliente-scheda .cliente-bottom-actions,
    body.print-cliente-scheda .access-web-inline .btn,
    body.print-cliente-scheda .access-status{
        display:none !important;
    }
    body.print-cliente-scheda .cliente-card-operativa{
        position:absolute !important;
        left:0 !important;
        top:0 !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        box-shadow:none !important;
        background:#fff !important;
    }
    body.print-cliente-scheda .cliente-card-operativa::before{
        content:'Scheda cliente';
        display:block;
        font-size:18pt;
        font-weight:900;
        margin:0 0 8mm;
        padding-bottom:4mm;
        border-bottom:2px solid #222;
        color:#111;
    }
    body.print-cliente-scheda .cliente-layout,
    body.print-cliente-scheda .cliente-main,
    body.print-cliente-scheda .cliente-anagrafica-completa{
        display:block !important;
        width:100% !important;
    }
    body.print-cliente-scheda .field-line{
        display:inline-block !important;
        vertical-align:top !important;
        width:48% !important;
        min-height:16mm !important;
        margin:0 1% 3mm 0 !important;
        padding:2mm !important;
        background:#fff !important;
        border:1px solid #999 !important;
        break-inside:avoid;
    }
    body.print-cliente-scheda .field-line.large,
    body.print-cliente-scheda .field-line.email-line{
        width:98% !important;
    }
    body.print-cliente-scheda .field-line label{
        font-size:9pt !important;
        color:#444 !important;
    }
    body.print-cliente-scheda .field-line b{
        font-size:11pt !important;
        color:#111 !important;
    }
    body.print-cliente-scheda .cliente-avvisi{
        margin-top:6mm !important;
        break-inside:avoid;
    }
    body.print-cliente-scheda .cliente-avvisi textarea{
        border:1px solid #999 !important;
        color:#111 !important;
        min-height:28mm !important;
        resize:none !important;
    }
}
