[hidden]{display:none!important}.quote-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0}.quote-heading small{color:var(--muted);letter-spacing:.13em}.quote-heading h2{margin:5px 0;color:#294579}.quote-heading label{min-width:145px}.quote-section{border:1px solid var(--line);border-radius:16px;margin:14px 0;background:#fff;overflow:hidden}.quote-section>summary{font-weight:800;color:#294579;padding:18px;cursor:pointer;background:#f6f9fd}.quote-content{padding:18px}.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.quote-grid .full{grid-column:1/-1}.quote-grid label,.quote-line label{min-width:0}.quote-grid input,.quote-grid textarea,.quote-grid select,.quote-line input,.quote-line select{width:100%;min-width:0;box-sizing:border-box}.quote-help{font-size:.82rem;color:var(--muted);line-height:1.5}.quote-results{display:grid;gap:7px;max-height:300px;overflow:auto;margin:10px 0}.quote-result{border:1px solid #d8e3ee;border-radius:12px;background:#f9fbfd;padding:12px;text-align:left;color:var(--ink);display:flex;justify-content:space-between;gap:12px;cursor:pointer}.quote-result:hover{border-color:#188b55;background:#f1fbf6}.quote-result small{display:block;color:var(--muted);margin-top:4px}.quote-result b{white-space:nowrap}.quote-line{border:1px solid #dce5f0;border-radius:14px;padding:14px;margin:12px 0;background:#fff}.quote-line-head{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:end}.quote-line-numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px 0}.quote-discount input{color:#17804f;font-weight:750}.line-internal{background:#f2f5fa;padding:10px;border-radius:10px;display:flex;gap:15px;flex-wrap:wrap;align-items:center;font-size:.82rem}.line-internal input{width:120px}.margin-chip{padding:5px 9px;border-radius:8px;font-weight:750}.verde{color:#146d43;background:#def4e8}.giallo{color:#866200;background:#fff1c4}.rosso{color:#a42a3e;background:#ffe0e5}.sconosciuto{color:#58657b;background:#e8edf4}.included-flags{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.flag{display:flex;gap:8px;align-items:center}.flag input{width:auto}.quote-totals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;background:#f1f6fe;border:1px solid #d5e2f5;border-radius:16px;padding:20px;margin:18px 0}.quote-totals span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:5px}.quote-totals strong{display:block;font-size:1.05rem}.quote-grand{color:#294579;font-size:1.5rem!important}.quote-actions{position:sticky;bottom:12px;display:flex;gap:8px;flex-wrap:wrap;padding:14px;background:rgba(255,255,255,.97);border:1px solid #d6e1ef;border-radius:15px;box-shadow:0 8px 30px #21457422;z-index:3}.quote-actions button{white-space:normal}#settingsDialog{width:min(850px,94vw);max-height:90dvh;height:auto;border:0;border-radius:20px;padding:0}#settingsDialog article{height:auto;max-height:88dvh;overflow:auto;padding:24px;box-sizing:border-box}#settingsDialog::backdrop{background:#152d5366}#status{color:#24654d;font-weight:650;min-height:22px}#status.err,#settingsStatus.err{color:#a72f42}.condition-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-bottom:1px solid #e1e8ef}.quote-archive-row{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid #dce5ef;border-radius:13px;padding:16px;background:#fff;margin:10px 0;color:var(--ink)}.quote-archive-row small{display:block;color:var(--muted);margin-top:6px}.quote-archive-row em{font-size:.75rem;font-style:normal;padding:4px 8px;border-radius:8px;background:#eef3fa}.quote-line output{display:block;font-weight:750;padding:10px 0}.quote-editor-locked{padding:12px;background:#fff4ce;color:#785d08;border-radius:10px}@media(max-width:700px){.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-line-head{grid-template-columns:1fr auto}.quote-line-head label:nth-child(2){grid-row:2;grid-column:1/-1}.quote-line-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-actions{position:static;display:grid;grid-template-columns:1fr 1fr;padding:12px}.quote-actions button{width:100%;font-size:.85rem}.quote-content{padding:12px}.quote-heading{align-items:start}.quote-totals{padding:15px}.quote-totals>div{min-width:40%}.line-internal{gap:10px}.quote-result{font-size:.86rem}.quote-heading h2{font-size:1.3rem}#settingsDialog article{padding:16px}}@media(max-width:380px){.quote-grid{grid-template-columns:1fr}.quote-heading{display:block}.quote-result{flex-direction:column}}

.included-flags .flag,#settingsDialog .flag{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:0}.included-flags .flag input{width:auto;margin:0}@media(max-width:700px){#editor input,#editor textarea,#editor select,#settingsDialog input,#settingsDialog textarea,#settingsDialog select{font-size:16px}.included-flags{gap:14px}.quote-grid label:has(#nome),.quote-grid label:has(#email),.quote-grid label:has(#via){grid-column:1/-1}}

.project-description{display:block;margin:18px 0;color:#294579;font-weight:750}.project-description textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px}.economic-row{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:end;margin:12px 0;padding:12px;background:#f5f9ff;border-radius:12px}.economic-row textarea,.economic-row input{width:100%;box-sizing:border-box}.included-editor{flex:1 1 180px;padding:12px;border:1px solid #d8e5f5;border-radius:12px}.included-editor>label:last-child{margin-top:9px}.quote-line-head{grid-template-columns:130px 1fr 2fr auto}@media(max-width:700px){.economic-row{grid-template-columns:1fr auto}.economic-row>label:nth-child(2){grid-row:2;grid-column:1/-1}.quote-line-head{grid-template-columns:1fr auto}.quote-line-head label:nth-child(2),.quote-line-head label:nth-child(3){grid-column:1/-1}.project-description textarea{font-size:16px}}

/* Preventivi: leggibilità e controlli touch */
.quote-line:nth-child(odd){background:#f4f8fe;border-color:#cbdcf1}.quote-line:nth-child(even){background:#fff;border-color:#d6e2f1}.quote-line{box-shadow:0 2px 8px #1b3d6410}.quote-line::before{content:'Voce ' attr(data-row);display:block;font-weight:800;color:#294579;margin-bottom:12px}.included-editor .flag{min-height:40px}.quote-actions+#status{margin:9px 4px 0;padding:9px 12px;border-radius:8px;background:#e8f6ef;min-height:0}.quote-actions+#status:empty,#archiveStatus:empty,#settingsStatus:empty{display:none}.quote-actions+#status.err,#settingsStatus.err{background:#fff0f2;color:#a72f42}#settingsStatus{padding:10px 12px;border-radius:8px;background:#e8f6ef;margin:8px 0}
@media(max-width:700px){#settingsDialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#settingsDialog article{height:100%;max-height:100dvh;padding:18px 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}#settingsDialog .page-head{display:flex;flex-wrap:wrap;gap:10px}#settingsDialog .quote-grid{display:grid;grid-template-columns:1fr;gap:12px}#settingsDialog .quote-grid label,#settingsDialog .quote-grid button{width:100%;grid-column:1/-1}#settingsDialog .condition-row{display:grid;gap:10px;overflow-wrap:anywhere}#settingsDialog .condition-row>span:last-child{display:flex;flex-wrap:wrap;gap:8px}#settingsDialog .condition-row button{min-height:44px}#settingsDialog input,#settingsDialog select{max-width:100%;box-sizing:border-box}#overrideSelected{overflow-wrap:anywhere}.quote-line::before{margin-bottom:8px}.quote-line-head,.quote-line-numbers{gap:10px}.included-editor{flex:1 1 100%}.economic-row{grid-template-columns:1fr auto}.economic-row textarea{min-height:86px}.quote-actions{position:sticky;bottom:env(safe-area-inset-bottom);z-index:5}}
/* Preventivi 6.11.1b: eliminazione preventivi. Le icone di Incluso restano solo nel PDF. */
button.danger,.quote-delete{border:1px solid #efb7bf;background:#fff4f5;color:#a72f42;font-weight:750}.quote-delete{border-radius:10px;padding:10px 12px;min-height:42px}.quote-delete:hover:not(:disabled),button.danger:hover:not(:disabled){background:#ffe8eb}.quote-delete:disabled,button.danger:disabled{opacity:.5;cursor:not-allowed}.quote-archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;margin:10px 0}.quote-archive-item .quote-archive-row{margin:0}.quote-archive-item .quote-delete{align-self:stretch}@media(max-width:700px){.quote-archive-item{grid-template-columns:1fr}.quote-archive-item .quote-delete{justify-self:end;min-width:128px}}
