:root{--blu:#4a86e8;--verde:#27ae60;--rosso:#e74c3c;--rosso-scuro:#c0392b;--viola:#8e44ad;--arancio:#d35400;--teal:#16a085;--testo:#2c3e50;--bg:#f4f7f6}
*{box-sizing:border-box}html,body{min-height:100%}body{font-family:'Segoe UI',Tahoma,sans-serif;background-color:var(--bg);margin:0;padding:20px;color:#222}.container{width:96%;max-width:1920px;box-sizing:border-box;margin:auto;background:white;padding:20px;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1)}
.header-bar{display:flex;align-items:center;border-bottom:3px solid #27ae60;padding-bottom:15px;margin-bottom:20px;flex-wrap:wrap;gap:15px}.header-left{flex:1;display:flex;justify-content:flex-start;min-width:150px}.header-center{flex:2;text-align:center;min-width:250px}.header-right{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:20px;min-width:200px}.header-logo{height:70px;object-fit:contain}.header-center h1{color:#2c3e50;margin:0;font-size:28px;font-weight:700;letter-spacing:-.5px}
#toast-container{position:fixed;bottom:20px;right:20px;z-index:100000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:#2c3e50;color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:14px;opacity:0;transition:opacity .3s,transform .3s;transform:translateY(20px);font-weight:bold;pointer-events:auto}.toast.show{opacity:1;transform:translateY(0)}.toast.success{border-left:5px solid #27ae60}.toast.error{border-left:5px solid #e74c3c;background:#c0392b}.toast.info{border-left:5px solid #3498db}
.tabs{display:flex;gap:5px;margin-bottom:15px;border-bottom:2px solid #ddd;padding-bottom:9px;align-items:center;flex-wrap:wrap;width:100%}.tab-btn{padding:7px 9px;border:none;background:#e0e0e0;cursor:pointer;border-radius:4px;font-weight:bold;white-space:nowrap;transition:.2s;font-size:12px;line-height:1.15}.tab-btn:hover{background:#d5d5d5}.tab-btn.active{background:#4a86e8;color:#fff}.tab-spacer{flex:1 1 12px;min-width:0}.tab-btn-chiuse{background:#7f8c8d;color:#fff}.tab-btn-chiuse.active{background:#2c3e50}.tab-btn-admin{background:#e74c3c;color:#fff}.tab-btn-admin.active{background:#c0392b}.tab-btn-fatture{background:#d35400;color:#fff}.tab-btn-fatture.active{background:#a04000}.tab-btn-fornitori{background:#16a085;color:#fff}.tab-btn-fornitori.active{background:#117864}.btn-portale-amm{background:#8e44ad!important;color:#fff!important}
.page{display:none}.page.active{display:block;animation:fadeIn .3s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.filters-bar{background:#f0f4f8;padding:15px;border-radius:6px;margin-bottom:15px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid #dcdcdc}.filters-bar select,.filters-bar input{padding:8px;border-radius:4px;border:1px solid #ccc;font-size:14px;flex-grow:1;min-width:140px}
.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:6px}table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px;min-width:800px;background:#fff}th,td{padding:12px 10px;border:1px solid #eee;text-align:left;vertical-align:middle}th{background-color:#4a86e8;color:#fff;border:1px solid #3a6bba;position:sticky;top:0;z-index:10}tr:nth-child(even){background:#fcfcfc}tr:hover{background:#f1f6fe}
.badge{padding:6px 12px;border-radius:12px;font-size:.85em;font-weight:bold;display:inline-block}.chip{display:inline-block;padding:4px 10px;border-radius:16px;background:#e0e0e0;font-size:.85em;margin:3px;border:1px solid #ccc;transition:.2s}.chip.clickable{cursor:pointer;font-weight:bold;box-shadow:0 1px 3px rgba(0,0,0,.1)}.chip.clickable:hover{background:#4a86e8;color:#fff;border-color:#4a86e8;transform:translateY(-2px)}.chip.resp{background:#d6eaf8;border-color:#85c1e9}.chip.chip-cliente{background:#fdebd0;border-color:#f5b041;color:#7e5109}.b-wip{background:#fce8b2;color:#b07d00}.b-chiusa{background:#b7e1cd;color:#0d5302}.b-attesa{background:#c9daf8;color:#0b3370}.b-standby{background:#f4c7c3;color:#870f03}.b-chiamare{background:#ffcf79;color:#8f5a00}.b-offerta{background:#d2b4de;color:#4a235a}.b-chiusa-definitiva{background:#7f8c8d;color:#fff}
.progress-container{width:100%;background:#e0e0e0;border-radius:6px;overflow:hidden;height:12px;margin-top:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{height:100%;background:#27ae60;transition:width .4s cubic-bezier(.4,0,.2,1)}
.btn{padding:10px 18px;border:none;border-radius:6px;cursor:pointer;color:#fff;font-weight:bold;transition:all .2s;text-align:center}.btn:hover{filter:brightness(.9);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-edit{background:#f39c12}.btn-save{background:#27ae60;font-size:16px}.btn-cancel{background:#c0392b}.btn-add{background:#3498db}.btn-gantt{background:#8e44ad}.btn-icon{padding:8px 12px;font-size:16px;border:none;border-radius:6px;cursor:pointer;color:#fff}.btn-icon-del{background:#c0392b}.btn-amm{background:#8e44ad}.btn-gray{background:#7f8c8d}.btn-teal{background:#16a085}.btn-orange{background:#d35400}.btn-dark{background:#34495e}
a.link-commessa{color:#2980b9;text-decoration:none;cursor:pointer;font-size:1.15em;transition:.2s}a.link-commessa:hover{color:#1abc9c;text-decoration:underline}a.link-maps{color:#27ae60;font-weight:bold;text-decoration:none}a.link-maps:hover{text-decoration:underline}
.dashboard-cards{display:flex;gap:20px;justify-content:center;margin-top:20px;margin-bottom:30px;flex-wrap:wrap}.card{background:#fff;border:1px solid #ddd;padding:25px;border-radius:10px;text-align:center;flex:1;min-width:250px;box-shadow:0 4px 6px rgba(0,0,0,.05);border-top:5px solid #4a86e8}.card h3{margin:0 0 10px;color:#7f8c8d;font-size:16px;text-transform:uppercase}.card .numero{font-size:38px;font-weight:bold;color:#2c3e50}.fittizio-row{background:#fff3e0!important}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:5px}.detail-box{background:#fff;border:1px solid #ddd;border-radius:10px;padding:20px;box-shadow:0 3px 10px rgba(0,0,0,.04)}.detail-box h3{margin-top:0;color:#2c3e50}.detail-line{margin:8px 0;line-height:1.5}.detail-line strong{color:#566573}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.notes-box{white-space:pre-wrap;background:#fffef4;border:1px solid #f4e7a1;border-radius:6px;padding:12px;min-height:70px}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);justify-content:center;align-items:center;z-index:100000;padding:10px;backdrop-filter:blur(3px)}.modal.open{display:flex}.modal-content{background:#fff;padding:25px;border-radius:12px;width:650px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal-content.wide{width:1050px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group.full{grid-column:span 2}.form-group label{margin-bottom:5px}.modal-content input,.modal-content select,.modal-content textarea,.detail-box input,.detail-box select,.detail-box textarea{padding:10px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:14px}
.task-group-read{margin-bottom:15px;background:#fdfdfd;padding:10px;border-radius:6px;border:1px solid #eee}.check-item.readonly{font-size:16px;padding:6px 0}.check-item.readonly input[type=checkbox]{transform:scale(1.4);margin-right:12px;cursor:pointer}.subtasks-container-read{padding-left:35px;border-left:3px solid #e0e0e0;margin-left:7px;margin-top:6px}.sub-item{font-size:14.5px!important;color:#555}.app-note-row{display:flex;gap:8px;margin-top:10px}.app-note-row textarea{flex:1}
.msg-box{max-width:85%;padding:10px 15px;border-radius:10px;font-size:14.5px;line-height:1.4;position:relative;margin-bottom:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.msg-me{background:#dcf8c6;align-self:flex-end;border-bottom-right-radius:0}.msg-other{background:#f1f0f0;align-self:flex-start;border-bottom-left-radius:0;border:1px solid #e0e0e0}.msg-header{font-size:11.5px;font-weight:bold;color:#555;margin-bottom:6px;border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:4px}.msg-footer{font-size:11px;color:#888;text-align:right;margin-top:6px}.msg-ticket{border:2px solid #f39c12}.notif-item{padding:12px;border-bottom:1px solid #eee;cursor:pointer;transition:.2s}.notif-item:hover{background:#f4f7f6;padding-left:15px}.chat-controls{display:flex;gap:10px;align-items:flex-start}.chat-controls select{width:250px}.chat-controls textarea{flex:1}
.amm-grid-2col{display:flex;flex-wrap:wrap;gap:20px}.amm-grid-2col>.amm-box{flex:1;min-width:45%;background:#fff;padding:25px;border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.03)}.amm-row-input{display:flex;gap:10px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.amm-row-input input{padding:10px;border:1px solid #ccc;border-radius:6px;flex-grow:1}.amm-fattura-row{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#fdfdfd;border:1px solid #eee;margin-bottom:8px;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.02);gap:15px}.money{font-variant-numeric:tabular-nums;font-weight:700}.amm-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.amm-summary .mini{background:#f8fafc;border:1px solid #ddd;border-radius:8px;padding:12px;text-align:center}.amm-summary .mini b{display:block;font-size:21px;color:#2c3e50}.forn-box{background:#fff;border:1px solid #ddd;border-radius:10px;padding:20px;box-shadow:0 3px 10px rgba(0,0,0,.04)}.forn-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px;margin:18px 0}.forn-summary .card{padding:16px;min-width:0}.forn-summary .lbl,.salute-card .lbl{font-size:12px;text-transform:uppercase;font-weight:bold;color:#64748b}.forn-summary .val,.salute-card .val{font-size:24px;font-weight:bold;margin-top:6px;color:#2c3e50}.forn-status{display:inline-block;padding:5px 9px;border-radius:12px;font-size:12px;font-weight:bold}.forn-status-pagata{background:#d5f5e3;color:#186a3b}.forn-status-parziale{background:#fcf3cf;color:#9a7d0a}.forn-status-dapagare{background:#fadbd8;color:#922b21}
.salute-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;margin:18px 0}.salute-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;box-shadow:0 3px 10px rgba(0,0,0,.04)}.salute-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.salute-verde{background:#dcfce7;color:#166534}.salute-giallo{background:#fef3c7;color:#92400e}.salute-rosso{background:#fee2e2;color:#991b1b}.salute-anomalia{display:block;margin:3px 0;font-size:12px;line-height:1.35}.salute-table{width:100%;table-layout:fixed}
.cfd-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin:15px 0}.cfd-kpi{padding:14px;border-radius:8px;border:1px solid #ddd;background:#fff}.cfd-kpi span{display:block;color:#777;font-size:12px}.cfd-kpi b{font-size:26px}.cfd-section{margin:20px 0}.cfd-section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;border-bottom:2px solid #ddd;padding-bottom:7px}.cfd-section-title h3{margin:0}.cfd-count{display:inline-block;background:#34495e;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px}.prio{font-weight:800;border-radius:999px;padding:5px 8px;display:inline-block}.prio-CRITICA{background:#fee2e2;color:#991b1b}.prio-ATTENZIONE{background:#fef3c7;color:#92400e}.prio-NORMALE{background:#dbeafe;color:#1e40af}
.diario-timeline{display:grid;gap:10px}.diario-item{border-left:4px solid #3498db;background:#f8fafc;padding:12px;border-radius:5px}.diario-item.amm{border-left-color:#8e44ad}.diario-muted{font-size:12px;color:#777}.empty{padding:25px;text-align:center;color:#888}.actions-row{display:flex;gap:8px;flex-wrap:wrap}.top-page-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}.top-page-row h2{margin:0}.login-identita{width:100%;padding:12px;border:1px solid #ccc;border-radius:6px;font-size:15px;margin-bottom:12px}
@media(max-width:900px){.amm-grid-2col{flex-direction:column;gap:15px}.amm-grid-2col>.amm-box{min-width:100%;width:100%;padding:15px}.amm-fattura-row{flex-direction:column;align-items:stretch}.forn-summary,.salute-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:850px){body{padding:10px}.container{width:100%;padding:12px}.header-bar{display:grid;grid-template-columns:1fr;gap:8px;padding-bottom:10px;margin-bottom:10px}.header-left,.header-center,.header-right{width:100%;min-width:0;justify-content:center;text-align:center}.header-logo{height:42px!important}.header-center h1{font-size:18px}.tabs{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;gap:5px;padding:5px 0 8px;margin-bottom:10px}.tab-btn{flex:0 0 auto!important;font-size:11.5px!important;padding:7px 8px!important}.tab-spacer{display:none!important}.filters-bar{width:100%;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important}.filters-bar>*{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.dashboard-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card{min-width:0;width:100%;padding:12px}.card .numero{font-size:28px}.form-grid{grid-template-columns:1fr!important;gap:10px}.form-group.full{grid-column:1!important}.table-responsive{width:100%;max-width:100%;overflow-x:auto;border:1px solid #eee}table{min-width:720px;font-size:12.5px}th,td{padding:7px 6px}.modal{padding:6px;align-items:flex-start;overflow-y:auto}.modal-content{width:100%!important;max-width:100%!important;max-height:none;margin:8px auto;padding:14px!important}.chat-controls{display:grid;grid-template-columns:1fr}.chat-controls select{width:100%}.cfd-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.forn-summary,.salute-grid,.cfd-kpis,.amm-summary{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:1fr}.header-right{gap:10px}}

/* ==========================================================
   BASELINE 1:1 V2 - dettagli recuperati dalla versione Apps Script
   ========================================================== */
.legacy-detail-grid{background:#fff;padding:25px;border:1px solid #ddd;border-radius:10px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.legacy-detail-info{padding:5px 10px}.legacy-detail-info p{margin:10px 0;line-height:1.5}
.task-group{border-bottom:1px dashed #ccc;padding-bottom:12px;margin-bottom:12px}.check-item{display:flex;align-items:center;margin-bottom:8px;gap:8px;flex-wrap:wrap}.check-item input[type=text]{flex-grow:1;min-width:150px}.subtasks-container{padding-left:30px;margin-top:8px}
.a4-sheet{background:#fff;width:100%;max-width:1000px;min-height:800px;margin:0 auto;padding:40px;box-shadow:0 5px 15px rgba(0,0,0,.2);box-sizing:border-box;border-radius:4px;overflow:hidden}
#amm-mail-testo table{min-width:0;margin:0;font-size:14px}#amm-mail-testo th{position:static}
#amm-tabella-storico{min-width:680px}.amm-row-input .amm-extra-desc{flex:2}.amm-row-input .amm-extra-val{width:100%}
#select-modello-task{min-width:220px}
@media(max-width:900px){.legacy-detail-grid{grid-template-columns:1fr;padding:15px}.a4-sheet{padding:15px;min-height:500px}.legacy-detail-info{padding:0}}

/* ==========================================================
   BASELINE 1:1 V3 - fatture, fornitori commessa, diario
   ========================================================== */
.forn-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.forn-planned-row{display:grid;grid-template-columns:64px minmax(240px,1.8fr) minmax(210px,1.2fr) 150px 52px;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #eee}
.forn-planned-row input,.forn-planned-row select{width:100%;min-width:0;padding:9px;border:1px solid #ccc;border-radius:6px;background:#fff}
.forn-planned-row .forn-attivo{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:#666}
.forn-planned-row .forn-attivo input{width:auto;transform:scale(1.15)}
.forn-planned-row .forn-money{display:flex;align-items:center;gap:6px;min-width:0}
.global-invoice-kpis{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto}.invoice-kpi{padding:11px 16px;border-radius:6px;border:1px solid #ddd;background:#fff;white-space:nowrap}.invoice-kpi.pending{background:#fce8b2;border-color:#f5b041}.invoice-kpi.pending b{color:#d35400}.invoice-kpi.billed{background:#e8f4f8;border-color:#bce0fd}.invoice-kpi.billed b{color:#27ae60}
.btn-linklike{background:transparent!important;color:#2980b9!important;padding:4px 6px!important;text-decoration:underline;box-shadow:none!important}.btn-linklike:hover{background:#eef6ff!important;filter:none!important}
#tabella-globale-fatture{min-width:1320px;table-layout:fixed}#tabella-globale-fatture th,#tabella-globale-fatture td{padding:7px 8px;font-size:12.5px;vertical-align:middle}#tabella-globale-fatture th:nth-child(1){width:150px}#tabella-globale-fatture th:nth-child(2){width:290px}#tabella-globale-fatture th:nth-child(3){width:220px}#tabella-globale-fatture th:nth-child(4){width:180px}#tabella-globale-fatture th:nth-child(5){width:130px}#tabella-globale-fatture th:nth-child(6){width:150px}#tabella-globale-fatture th:nth-child(7){width:170px}#tabella-globale-fatture th:nth-child(8){width:240px}
.rgf-fattura-num{font-weight:700;color:#2c3e50;font-size:13px}.rgf-fattura-meta{font-size:11px;color:#666;margin-top:2px}.rgf-actions{display:flex;gap:4px;justify-content:center;align-items:center;flex-wrap:nowrap}.rgf-actions .btn{padding:5px 7px!important;font-size:10.5px!important;white-space:nowrap}
#tabella-scadenziario-incassi{min-width:1300px;table-layout:fixed}#tabella-scadenziario-incassi th,#tabella-scadenziario-incassi td{padding:7px 8px;font-size:12.5px}#tabella-scadenziario-incassi th:nth-child(1){width:130px}#tabella-scadenziario-incassi th:nth-child(2){width:290px}#tabella-scadenziario-incassi th:nth-child(3){width:210px}#tabella-scadenziario-incassi th:nth-child(4){width:130px}#tabella-scadenziario-incassi th:nth-child(5),#tabella-scadenziario-incassi th:nth-child(6),#tabella-scadenziario-incassi th:nth-child(7){width:125px}#tabella-scadenziario-incassi th:nth-child(8){width:180px}#tabella-scadenziario-incassi th:nth-child(9){width:100px}
.diario-filtri{gap:7px;flex-wrap:wrap;margin:10px 0 14px}.diario-filtro{background:#e5e7eb;color:#374151;padding:7px 11px}.diario-filtro.active{background:#34495e;color:#fff}.diario-item{padding:0;background:transparent;border:0}.diario-card{border-left:4px solid #3498db;background:#f8fafc;border-radius:7px;padding:12px;border-top:1px solid #e5e7eb;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.diario-item.amm .diario-card{border-left-color:#8e44ad}.diario-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#6b7280;font-size:11.5px}.diario-area{font-weight:700;border-radius:999px;padding:3px 7px}.diario-area.tecnica{background:#dbeafe;color:#1e40af}.diario-area.amministrazione{background:#f3e8ff;color:#6b21a8}.diario-azione{font-weight:700;font-size:15px;margin:7px 0 4px}.diario-dettagli{color:#4b5563;white-space:pre-wrap}
#box-righe-dettaglio-fattura table{min-width:650px}#box-righe-dettaglio-fattura th{position:static}
@media(max-width:900px){.forn-planned-row{grid-template-columns:48px 1fr}.forn-planned-row>*{min-width:0}.forn-planned-row .forn-money,.forn-planned-row .btn-icon{grid-column:2}.global-invoice-kpis{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0}.invoice-kpi{text-align:center}}
@media(max-width:520px){.global-invoice-kpis{grid-template-columns:1fr}.diario-meta{display:grid;grid-template-columns:1fr}}

/* Parità Apps Script V35: storico fatture singola commessa */
#amm-tabella-storico{width:100%;min-width:1000px;table-layout:fixed}
#amm-tabella-storico th,#amm-tabella-storico td{box-sizing:border-box;padding:7px 8px;vertical-align:middle;line-height:1.25;white-space:normal;word-break:normal;overflow-wrap:normal}
#amm-tabella-storico td:nth-child(1),#amm-tabella-storico td:nth-child(3),#amm-tabella-storico td:nth-child(5),#amm-tabella-storico td:nth-child(6){white-space:nowrap}
.rgf-stato{display:inline-block;max-width:100%;padding:4px 7px;border-radius:10px;font-size:10.5px;font-weight:700;line-height:1.1;white-space:nowrap;text-align:center}


/* ==========================================================
   BASELINE 1:1 V4 - allineamento visuale alle schermate Apps Script V35
   ========================================================== */
.generale-header-tecnico{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:2px solid #d8dee4;padding-bottom:12px;margin-bottom:15px}
.generale-azioni-tecniche{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.subpage-list-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:2px solid #ddd;padding-bottom:10px;margin-bottom:15px}.subpage-list-header h2{margin:0;color:#2c3e50}
.legacy-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#portale-amministrazione .filters-bar,#vista-scadenziario-incassi .filters-bar,#vista-fornitori .filters-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#amm-portale-contenuto .amm-portale-table{width:100%;table-layout:fixed}#amm-portale-contenuto .amm-portale-table th:nth-child(1),#amm-portale-contenuto .amm-portale-table td:nth-child(1){width:40%}#amm-portale-contenuto .amm-portale-table th:nth-child(2),#amm-portale-contenuto .amm-portale-table td:nth-child(2){width:28%}#amm-portale-contenuto .amm-portale-table th:nth-child(3),#amm-portale-contenuto .amm-portale-table td:nth-child(3){width:20%}#amm-portale-contenuto .amm-portale-table th:nth-child(4),#amm-portale-contenuto .amm-portale-table td:nth-child(4){width:12%;text-align:center}
#vista-fornitori .forn-summary .card,#vista-scadenziario-incassi .forn-summary .card{border-top-width:1px}
#forn-tabella-globale{min-width:1180px;table-layout:fixed}#forn-tabella-globale th,#forn-tabella-globale td{padding:8px 9px;font-size:12.5px}#forn-tabella-globale th:nth-child(1){width:180px}#forn-tabella-globale th:nth-child(2){width:190px}#forn-tabella-globale th:nth-child(3){width:115px}#forn-tabella-globale th:nth-child(4){width:105px}#forn-tabella-globale th:nth-child(5){width:230px}#forn-tabella-globale th:nth-child(6),#forn-tabella-globale th:nth-child(7),#forn-tabella-globale th:nth-child(8){width:105px}#forn-tabella-globale th:nth-child(9){width:150px}#forn-tabella-globale th:nth-child(10){width:150px}
#forn-tabella-riepilogo{min-width:760px}#forn-tabella-anagrafica{min-width:820px}
.forn-status{display:inline-block;padding:5px 9px;border-radius:12px;font-size:12px;font-weight:bold;white-space:nowrap}.forn-status-pagata{background:#d5f5e3;color:#186a3b}.forn-status-parziale{background:#fcf3cf;color:#9a7d0a}.forn-status-dapagare{background:#fadbd8;color:#922b21}
.inc-status{display:inline-block;padding:5px 9px;border-radius:12px;font-size:11px;font-weight:800;white-space:nowrap}.inc-incassata{background:#27ae60;color:#fff}.inc-da-incassare{background:#2471a3;color:#fff}.inc-parziale{background:#f1c40f;color:#5d4600}.inc-scaduta{background:#c0392b;color:#fff}
#tabella-scadenziario-incassi{min-width:1080px;table-layout:fixed}#tabella-scadenziario-incassi th,#tabella-scadenziario-incassi td{padding:7px 8px;font-size:12.5px}#tabella-scadenziario-incassi th:nth-child(1){width:125px}#tabella-scadenziario-incassi th:nth-child(2){width:260px}#tabella-scadenziario-incassi th:nth-child(3){width:205px}#tabella-scadenziario-incassi th:nth-child(4){width:150px}#tabella-scadenziario-incassi th:nth-child(5),#tabella-scadenziario-incassi th:nth-child(6),#tabella-scadenziario-incassi th:nth-child(7){width:125px}#tabella-scadenziario-incassi th:nth-child(8){width:170px}#tabella-scadenziario-incassi th:nth-child(9){width:135px}
.inc-meta{display:block;font-size:10.8px;color:#555;margin-top:2px}.inc-actions{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}.inc-actions .btn{padding:6px 9px;font-size:11px;white-space:nowrap}
#today-line-overlay{box-shadow:0 0 0 0 transparent}
@media(max-width:850px){.generale-header-tecnico,.legacy-section-header{align-items:stretch}.generale-azioni-tecniche,.legacy-section-header>.forn-actions{width:100%}.generale-azioni-tecniche .btn,.legacy-section-header>.forn-actions .btn{flex:1}.scadenziario-summary{grid-template-columns:1fr!important}#amm-portale-contenuto .amm-portale-table{min-width:760px;table-layout:auto}}

/* === V5 NAVIGAZIONE PERSISTENTE === */
#main-tabs{
  display:flex !important;
}
.page-backbar{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  margin:0 0 14px 0;
}
.page-backbar .btn{
  margin:0;
}


/* V11 - Anagrafica Clienti master/detail */
.clienti-modal-content{width:min(1680px,97vw)!important;max-width:97vw!important;height:min(920px,94vh);max-height:94vh!important;overflow:hidden!important;display:flex;flex-direction:column;}
.clienti-head{flex:0 0 auto;gap:12px;}
.clienti-subtitle{font-size:13px;color:#73808c;margin-top:4px;}
.clienti-filterbar{display:flex;align-items:center;gap:12px;background:#f4f7f9;border:1px solid #dce4e9;padding:10px;border-radius:7px;margin:10px 0;flex:0 0 auto;}
.clienti-filterbar input{flex:1;min-width:220px;padding:10px;border:1px solid #cbd5dc;border-radius:6px;}
.clienti-count{font-weight:bold;color:#5d6d7e;white-space:nowrap;}
.clienti-master-detail{display:grid;grid-template-columns:minmax(680px,1.45fr) minmax(390px,.8fr);gap:14px;min-height:0;flex:1 1 auto;}
.clienti-list-pane,.cliente-dettaglio-card{min-height:0;border:1px solid #dce4e9;border-radius:8px;background:#fff;}
.clienti-table-wrap{height:100%;max-height:100%;overflow:auto;}
#clienti-tabella{min-width:800px;}
#clienti-tabella tbody tr{cursor:pointer;}
#clienti-tabella tbody tr:hover,#clienti-tabella tbody tr.selected{background:#eef7ff;}
#clienti-tabella th:nth-child(1){width:28%;}#clienti-tabella th:nth-child(2){width:20%;}#clienti-tabella th:nth-child(3){width:15%;}#clienti-tabella th:nth-child(4){width:25%;}#clienti-tabella th:nth-child(5){width:12%;}
.cliente-dettaglio-card{padding:16px;overflow:auto;background:#f9fbfc;}
.cliente-empty{color:#7f8c8d;text-align:center;padding:55px 15px;}
.cliente-card-title{margin:0 0 12px;color:#2471a3;font-size:21px;border-bottom:2px solid #3498db;padding-bottom:8px;}
.cliente-info-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 10px;font-size:13.5px;}
.cliente-info-grid .lab{font-weight:bold;color:#566573;}.cliente-info-grid .val{word-break:break-word;}
.cliente-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #dce4e9;}
.clienti-moduli-details{flex:0 0 auto;margin-top:12px;border-top:1px solid #dce4e9;padding-top:8px;max-height:230px;overflow:auto;}
.clienti-moduli-details summary{cursor:pointer;color:#8e44ad;font-weight:bold;padding:7px 0;}
@media(max-width:1000px){.clienti-modal-content{height:95vh}.clienti-master-detail{grid-template-columns:1fr;overflow:auto}.clienti-list-pane{min-height:360px}.cliente-dettaglio-card{min-height:280px}.clienti-filterbar{flex-direction:column;align-items:stretch}}


/* V12 - Preventivi Fase 1 */
.amm-order-tools{display:flex;gap:3px;flex:0 0 auto}.amm-order-tools .btn{padding:6px 9px;background:#ecf0f1;color:#34495e}
.prev-step-box{background:#fff;border:1px solid #ddd;border-radius:10px;padding:18px;margin:18px 0;box-shadow:0 2px 8px rgba(0,0,0,.03)}.prev-step-box>h3{margin:0 0 12px;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:8px}
.prev-act-card{border:1px solid #dfe6e9;border-radius:9px;padding:13px;margin:10px 0;background:#fafcfd}.prev-act-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.prev-letter{width:34px;height:34px;border-radius:50%;background:#8e44ad;color:white;font-weight:bold;display:flex;align-items:center;justify-content:center}.prev-act-money{font-size:18px;font-weight:bold;color:#2471a3}.prev-act-desc{width:100%;box-sizing:border-box;line-height:1.45}
.prev-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.prev-totals span{background:#f5f7f8;padding:12px;border-radius:7px;text-align:center}.prev-totals b{display:block;font-size:20px;margin-top:3px}
.prev-event-card{border:1px solid #d2b4de;border-radius:10px;background:#fdfaff;margin:12px 0;overflow:hidden}.prev-event-head{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:8px;padding:12px;background:#f4ecf7}.prev-event-head input,.prev-event-head select{width:100%;box-sizing:border-box}.prev-event-body{padding:12px}.prev-calc-total{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0}.prev-calc-total select{min-width:160px}.prev-calc-total input{width:120px}.prev-event-pay{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px dashed #d7bde2}.prev-event-amount{font-size:22px;font-weight:bold;color:#8e44ad;padding:10px;white-space:nowrap}.prev-sal-activities{display:grid;gap:7px}.prev-sal-row{display:grid;grid-template-columns:auto 1fr 140px 130px;gap:10px;align-items:center;padding:9px;background:white;border:1px solid #eee;border-radius:7px}.prev-sal-row input[type=number]{width:85px}.prev-sal-row em{text-align:right;font-style:normal;font-weight:bold;color:#2471a3}.prev-events-check{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f8f9f9;border:1px solid #ddd;border-radius:7px;padding:12px;margin-top:12px}.prev-events-check .ok{color:#1e8449;font-weight:bold}.prev-events-check .ko{color:#c0392b;font-weight:bold}
.prev-catalog-card{border:1px solid #ddd;border-radius:10px;padding:15px;margin:12px 0;background:#fafafa}.prev-catalog-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}.prev-catalog-card textarea{width:100%;box-sizing:border-box;line-height:1.45}
.prev-preview-paper{max-width:980px;margin:18px auto;background:white;border:1px solid #ddd;box-shadow:0 3px 18px rgba(0,0,0,.08);padding:35px;line-height:1.5}.prev-preview-title{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #2c3e50;padding-bottom:12px}.prev-preview-paper h2{text-align:center;margin:28px 0}.prev-preview-client{background:#f7f7f7;border-left:4px solid #8e44ad;padding:12px;margin:15px 0}.prev-preview-act{margin:16px 0}.prev-preview-act h4{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ddd;padding-bottom:6px}.prev-preview-table{width:100%;min-width:0;border-collapse:collapse;margin:12px 0}.prev-preview-table th,.prev-preview-table td{border:1px solid #ddd;padding:9px}.prev-preview-table th{background:#f1f2f6}
@media(max-width:850px){.prev-totals{grid-template-columns:1fr}.prev-event-head{grid-template-columns:1fr}.prev-event-pay{grid-template-columns:1fr}.prev-sal-row{grid-template-columns:auto 1fr}.prev-sal-row>div,.prev-sal-row>em{grid-column:2}.prev-catalog-grid{grid-template-columns:1fr}.prev-preview-paper{padding:16px}.prev-preview-act h4{flex-direction:column}.prev-events-check{flex-direction:column;align-items:flex-start}}

/* V12.3 - descrizioni preventivo: anteprima coerente con l'impaginazione Word */
.prev-preview-desc{font-family:"Times New Roman",serif;font-size:15px;line-height:1.35;text-align:justify}
.prev-preview-desc p{margin:6px 0 9px}
.prev-preview-desc ul{margin:5px 0 12px;padding-left:31px}
.prev-preview-desc li{margin:1px 0;padding-left:4px;text-align:justify}
