:root{--brand:#0b5cad;--bg:#f3f5f8;--fg:#1b1f24;--err:#b3261e}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin:0;font:18px/1.4 system-ui,sans-serif}.card{background:#fff;border-radius:12px;flex-direction:column;gap:14px;margin:16px;padding:20px;display:flex;box-shadow:0 1px 4px #0002}h1{color:var(--brand);margin:0;font-size:1.5rem}label{flex-direction:column;gap:6px;font-weight:600;display:flex}input{font:inherit;border:1px solid #99a;border-radius:8px;min-height:48px;padding:8px 12px}button{font:inherit;border:1px solid var(--brand);min-height:52px;color:var(--brand);background:#fff;border-radius:10px;padding:8px 16px}button.primary{background:var(--brand);color:#fff}button:disabled{opacity:.6}.error{color:var(--err);margin:0}.login{max-width:420px;margin:10vh auto 0}textarea,select{font:inherit;background:#fff;border:1px solid #99a;border-radius:8px;min-height:48px;padding:8px 12px}fieldset{border:0;flex-direction:column;gap:14px;min-width:0;margin:0;padding:0;display:flex}legend{color:var(--brand);margin-bottom:8px;padding:0;font-weight:700}.field{flex-direction:column;gap:8px;display:flex}.label{font-weight:600}.row{gap:12px;display:flex}.row>*{flex:1;min-width:0}.choices{flex-wrap:wrap;gap:12px;display:flex}label.check{background:#fff;border:1px solid #99a;border-radius:10px;flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:4px 12px;font-weight:400}label.check input{flex:none;width:26px;height:26px;min-height:0}.results{flex-direction:column;gap:6px;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.results button{text-align:left;width:100%}.mat-fields{gap:8px;display:flex}.mat-fields input:first-child{flex:1;min-width:0}.mat-fields .qty{width:5.5rem}.sigbox{background:#fff;border:2px dashed #99a;border-radius:10px;height:200px}.sigbox canvas{touch-action:none;width:100%;height:100%;display:block}.sigbox canvas.locked{pointer-events:none;touch-action:auto}.sigactions{gap:8px;display:flex}.sigactions button{flex:1}button.ok{background:var(--brand);color:#fff}.note{background:#e8f1fb;border-radius:8px;margin:0;padding:10px 12px}.total{margin:0}button.link{background:0 0;border:0;align-self:flex-start;min-height:40px;padding:0}.report .primary{position:sticky;bottom:8px}button.big{min-height:80px;font-size:1.4rem}.status{margin:0;font-weight:600}.status.online{color:#1a7f37}.status.offline{color:#b35900}.badge{margin:0;font-weight:600}.reports{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.report-row{border:1px solid #ccd;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.admin{width:calc(100% - 32px);max-width:1200px;margin:16px auto}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tabs button{min-height:44px}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filters label{flex:160px}.filters h2{flex-basis:100%;margin:0}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #dde;padding:6px 8px}td.actions{flex-wrap:wrap;gap:6px;display:flex}td.actions button{min-height:40px}.pill{background:#e8eaf0;border-radius:10px;padding:2px 8px;font-size:.8rem;display:inline-block}.pill.errore{color:var(--err);background:#f9dedc}.pill.completato,.pill.allegato,.pill.inviata{background:#d8f0dc}.pill.da_collegare,.pill.annullato{background:#fdebc8}.small{font-size:.8rem}.last-error{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.pager{justify-content:space-between;align-items:center}.pager span{text-align:center}.dialog{z-index:10;background:#fff;border-radius:12px;flex-direction:column;gap:12px;max-width:560px;max-height:80vh;margin:0 auto;padding:20px;display:flex;position:fixed;inset:10% 5% auto;overflow:auto;box-shadow:0 4px 24px #0005}.companies{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.company{flex-direction:column;gap:10px;display:flex}.logo{align-self:flex-start;max-height:80px}.sortin{width:5rem}
