*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f6f7f4;color:#1f2937}.contenitore{max-width:1250px;margin:0 auto;padding:1rem}.intestazione{display:flex;align-items:center;gap:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.75rem;margin-bottom:1rem;flex-wrap:wrap}.intestazione h1{font-size:1.3rem;margin:0}.logo{height:1.6em;width:auto;vertical-align:-.45em}.logo.grande{height:2.2em;vertical-align:-.7em}.intestazione nav{display:flex;gap:.25rem;flex:1}.scheda{background:none;border:none;color:#4b5563;padding:.5rem .9rem;border-radius:8px}.scheda:hover{background:#eef0ea;color:#1f2937}.scheda.attiva{background:#d97706;color:#fff}input,button,select,textarea{font:inherit;padding:.5rem .7rem;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:inherit}button{background:#d97706;color:#fff;border:none;cursor:pointer;white-space:nowrap}button:disabled{opacity:.6;cursor:default}button:hover:not(:disabled){background:#b45309}button.secondario{background:#fff;color:#374151;border:1px solid #d1d5db}button.secondario:hover:not(:disabled){background:#f3f4f6}button.lieve{background:none;color:#6b7280;padding:.15rem .4rem;font-size:.85rem}button.lieve:hover:not(:disabled){background:#f3f4f6;color:#1f2937}button.lieve.pericolo:hover{color:#dc2626}a.lieve{color:#6b7280;font-size:.85rem;text-decoration:none}a.lieve:hover{color:#1f2937}.errore{color:#dc2626;margin:.5rem 0;font-size:.9rem}.successo{color:#16a34a;margin:.5rem 0;font-size:.9rem}.secondaria{color:#6b7280;font-size:.9em}.vuoto{text-align:center;color:#9ca3af;padding:2rem!important}.spaziatore{flex:1}.centrato{min-height:100vh;display:flex;align-items:center;justify-content:center}.scheda-login{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;gap:.75rem;width:min(320px,90vw);text-align:center}.scheda-login h1{font-size:1.2rem;margin:0 0 .5rem}.riquadri{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.riquadro{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.7rem 1rem;font-size:.95rem}.riquadro .numero{font-size:1.4rem;font-weight:700;margin-right:.35rem}.riquadro.allarme{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.riquadro.attenzione{border-color:#fcd34d;background:#fffbeb;color:#92400e}.barra-strumenti{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.barra-strumenti input[type=search]{min-width:180px}.barra-strumenti input.cerca-breve{min-width:110px;width:110px}.spunta{display:flex;align-items:center;gap:.35rem;font-size:.95rem;white-space:nowrap}.spunta input{width:auto}.tabella{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;font-size:.92rem}.tabella th,.tabella td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid #f3f4f6;vertical-align:top}.tabella thead th{background:#f9fafb;font-weight:600;font-size:.85rem;color:#4b5563;-webkit-user-select:none;user-select:none}.tabella th.ordinabile{cursor:pointer}.tabella th.ordinabile:hover{color:#1f2937}.tabella tfoot td{background:#f9fafb;border-top:2px solid #e5e7eb}.tabella .importo{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tabella .azioni{white-space:nowrap;text-align:right}.tabella .azioni .nota-riga{white-space:normal;max-width:16rem;margin-top:.2rem;font-size:.78rem}.tabella.compatta th,.tabella.compatta td{padding:.35rem .5rem}.riga-attesa{background:#fffdf2}.riga-scaduta{background:#fef2f2}.segna-pagata{display:flex;gap:.3rem;align-items:center}.segna-pagata input{padding:.15rem .3rem;font-size:.8rem}.scorri-orizzontale{overflow-x:auto}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge.stato-da-caricare{background:#fee2e2;color:#b91c1c}.badge.stato-caricata{background:#dcfce7;color:#15803d}.badge.stato-italiana{background:#f3f4f6;color:#6b7280}.badge.ok{background:#dcfce7;color:#15803d}.badge.no{background:#fee2e2;color:#b91c1c}.badge.attesa{background:#fef3c7;color:#92400e}.badge.estera{background:#ede9fe;color:#6d28d9;margin-left:.4rem}.badge.servizio{background:#e0f2fe;color:#075985}.badge.saldo{background:#dbeafe;color:#1d4ed8}.da-pagare{color:#b91c1c}.pannelli-pareggio{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem;margin-bottom:1rem}.pannello{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #d1d5db;border-radius:10px;padding:.75rem 1rem}.pannello h3{margin:0 0 .35rem;font-size:.9rem;color:#4b5563}.pannello p{margin:0}.pannello.buono{border-left-color:#16a34a}.pannello.critico{border-left-color:#dc2626;background:#fef2f2}.pannello.attenzione{border-left-color:#d97706}.scheda-grafico{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem;margin-bottom:1.25rem}.scheda-grafico h2{margin:0 0 .75rem;font-size:1.05rem}.tooltip-grafico{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem .7rem;font-size:.85rem;box-shadow:0 4px 12px #0000001a}.tooltip-riga{display:flex;align-items:center;gap:.35rem;margin-top:.2rem}.pallino{width:8px;height:8px;border-radius:50%;display:inline-block}.form-inline{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.sezione{margin-bottom:1.5rem}.sezione-testata{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.sezione-testata h2{font-size:1.05rem;margin:0}.badge.ordine-preventivo{background:#f3f4f6;color:#6b7280}.badge.ordine-confermato{background:#dbeafe;color:#1d4ed8}.badge.ordine-fatturato{background:#fef3c7;color:#92400e}.badge.ordine-incassato{background:#dcfce7;color:#15803d}.avviso-fiscale{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:10px;padding:.6rem 1rem;margin:0 0 1rem;font-size:.92rem}.elenco-scadenze{margin:.4rem 0 0;padding-left:1.1rem;font-size:.92rem}.elenco-scadenze li{margin-top:.15rem}.distinta{border:1px solid #f0d3a8;background:#fffcf7;border-radius:10px;padding:1rem}.sfondo-modale{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;z-index:10}.modale{background:#fff;border-radius:12px;padding:1.25rem;width:min(720px,100%);box-shadow:0 10px 40px #0003}.modale.larga{width:min(950px,100%)}.modale header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modale header h2{margin:0;font-size:1.15rem}.modale h3{font-size:.95rem;margin:1rem 0 .5rem}.modale footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.griglia-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem}.griglia-form label,.griglia-form .calcolato{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#4b5563}.griglia-form .calcolato .badge{align-self:flex-start}.griglia-form .calcolato .secondaria,.griglia-form label .secondaria{font-size:.78rem}.griglia-form .riga-consegna{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem}.riga-consegna label.spunta{flex:0 0 auto;padding-bottom:.45rem}.riga-consegna label:not(.spunta){flex:1 1 160px}.campo-doppio{display:flex;gap:.35rem}.campo-doppio input:first-child{flex:1;min-width:0}.campo-doppio input:last-child{width:4.5rem;text-transform:uppercase}.griglia-form label.larga{grid-column:1 / -1}.griglia-form label.spunta{flex-direction:row;align-items:center;color:#1f2937;font-size:.95rem}.prodotti-acquisto{margin-top:1rem;border-top:1px solid #f3f4f6;padding-top:.5rem}.prodotti-acquisto table{margin-bottom:.6rem}.prodotti-acquisto input{width:100%;padding:.3rem .45rem;font-size:.9rem}.prodotti-acquisto .col-codice{width:7.5rem}.prodotti-acquisto .col-qta,.prodotti-acquisto .col-um{width:4.5rem}.prodotti-acquisto .col-prezzo{width:7rem}.prodotti-acquisto .col-prezzo input,.prodotti-acquisto .col-qta input{text-align:right}.ordini-spediti{margin-top:1rem;border-top:1px solid #f3f4f6;padding-top:.5rem}.ordini-spediti ul{list-style:none;padding:0;margin:.5rem 0}.ordini-spediti li{padding:.2rem 0}.ordini-spediti select{max-width:100%}.tabella .collegamento{font-size:.78rem;max-width:26rem}.allegati{margin-top:1rem;border-top:1px solid #f3f4f6;padding-top:.5rem}.allegati ul{list-style:none;padding:0;margin:.5rem 0}.allegati li{padding:.25rem 0}.allegati a{color:#1d4ed8;text-decoration:none}.allegati a:hover{text-decoration:underline}.bottone-file{display:inline-block;background:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:.5rem .9rem;cursor:pointer;color:#4b5563}.bottone-file:hover{background:#f9fafb}.zona-file{text-align:center;padding:2rem 1rem}.griglia-mappa{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.5rem}.griglia-mappa label{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem;color:#4b5563}.prospetto{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem}.prospetto>h2{margin:0 0 .75rem;font-size:1.1rem}.prospetto .tabella{border-radius:0}.intestazione-societa{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f3f4f6;font-size:.9rem;line-height:1.5}@media print{.no-stampa,.intestazione,.barra-strumenti,.sfondo-modale{display:none!important}body{background:#fff}.contenitore{max-width:none;padding:0}.solo-stampa{display:inline!important}.prospetto{border:0;padding:0}.prospetto .tabella{border-color:#9ca3af}.prospetto .tabella th,.prospetto .tabella td{border-bottom-color:#d1d5db}.scorri-orizzontale{overflow-x:visible}table{page-break-inside:auto}tr{page-break-inside:avoid}thead{display:table-header-group}}.quantita-inline{width:5.5rem;padding:.2rem .35rem;font-size:.9rem;text-align:right;font-variant-numeric:tabular-nums}.riga-esaurita{opacity:.55}.solo-stampa{display:none}.riga-cliccabile{cursor:pointer}.riga-cliccabile:hover td{background:#f9fafb}.payload-anteprima code{display:inline-block;max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-size:.82rem}.payload-mqtt{margin:.25rem 0;padding:.5rem .65rem;background:#f3f4f6;border-radius:6px;font-size:.82rem;white-space:pre-wrap;word-break:break-all;max-height:16rem;overflow-y:auto}
