:root{--verde: #1f6f3f;--verde-scuro: #16522e;--rosso: #b3261e;--grigio: #5f6368;--grigio-chiaro: #e8eaed;--sfondo: #ffffff;--testo: #1a1a1a;--r-md: 16px;--tocco: 64px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:20px;line-height:1.35;color:var(--testo);background:var(--sfondo);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit}h1{font-size:28px;margin:0 0 8px}p{margin:0 0 16px}.schermo{min-height:100%;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));gap:16px}.schermo--centro{justify-content:center}.cresce{flex:1}.btn{min-height:var(--tocco);width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border:2px solid var(--verde);border-radius:var(--r-md);background:var(--verde);color:#fff;font-size:22px;font-weight:600;cursor:pointer;touch-action:manipulation}.btn:active{background:var(--verde-scuro)}.btn:disabled{opacity:.45;cursor:default}.btn--secondario{background:#fff;color:var(--verde)}.btn--secondario:active{background:var(--grigio-chiaro)}.btn--pericolo{background:#fff;color:var(--rosso);border-color:var(--rosso)}.btn--grande{min-height:96px;font-size:24px;flex-direction:column;gap:6px}.btn svg{width:32px;height:32px;flex:none}.btn--grande svg{width:44px;height:44px}.campo{display:flex;flex-direction:column;gap:6px}.campo label{font-weight:600}.campo input{min-height:var(--tocco);font-size:26px;padding:8px 14px;border:2px solid var(--grigio);border-radius:var(--r-md);width:100%}.campo input:focus{outline:3px solid var(--verde);border-color:var(--verde)}.avviso{padding:12px 16px;border-radius:var(--r-md);background:var(--grigio-chiaro)}.avviso--errore{background:#fde7e5;color:var(--rosso)}.avviso--ok{background:#e3f3e8;color:var(--verde-scuro)}.aiuto{color:var(--grigio);font-size:18px}.campo input.codice{text-align:center;font-size:40px;letter-spacing:.4em;font-variant-numeric:tabular-nums}.visivamente-nascosto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pulsa{width:72px;height:72px;margin:0 auto;border-radius:50%;background:var(--verde);animation:pulsa 1.4s ease-in-out infinite}@keyframes pulsa{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.pulsa{animation:none}}.griglia-capi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:359px){.griglia-capi{grid-template-columns:1fr}}.wizard{height:100%;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));gap:10px}.wizard-testa h1{font-size:24px;margin:4px 0}.wizard-testa .aiuto{margin:0}.wizard-passo{font-weight:700;color:var(--verde)}.wizard-centro{flex:1;min-height:0;position:relative;border-radius:var(--r-md);overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center}.fotocamera,.fotocamera video,.wizard-anteprima{width:100%;height:100%;object-fit:contain;display:block}.fotocamera{display:flex;align-items:center;justify-content:center}.wizard-avviso{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:var(--verde);color:#fff;padding:8px 16px;border-radius:999px;display:flex;gap:8px;align-items:center;font-weight:600}.wizard-avviso svg{width:24px;height:24px}.wizard-pannello{display:flex;flex-direction:column;gap:10px}.wizard-riga{display:flex;gap:10px}.wizard-riga .btn{flex:1}.wizard-riga--piccola .btn{min-height:52px;font-size:18px}.wizard-riga--piccola .btn svg{width:26px;height:26px}.btn--attivo{background:var(--verde);color:#fff}.wizard-interrompi{min-height:48px;font-size:16px;border-color:var(--grigio-chiaro);color:var(--grigio)}.velo{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.scheda{background:#fff;border-radius:var(--r-md);padding:20px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:12px}.scheda--installa{border:2px solid var(--verde);padding:14px}
