:root{--color-primary:#2e7d32;--color-primary-dark:#1b5e20;--color-primary-light:#66bb6a;--color-primary-soft:#e8f5e9;--color-accent:#f9a825;--color-danger:#c62828;--color-danger-soft:#fdecea;--color-bg:#f3f7f2;--color-surface:#fff;--color-surface-muted:#eef3ec;--color-border:#dde7dc;--color-text:#1b2a1f;--color-text-muted:#5c6f60;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 3px #14211614;--shadow-md:0 6px 20px #1421161a;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-primary:#4caf50;--color-primary-dark:#2e7d32;--color-primary-light:#81c784;--color-primary-soft:#1c2e1e;--color-accent:#ffb74d;--color-danger:#ef5350;--color-danger-soft:#3a2020;--color-bg:#10160f;--color-surface:#182019;--color-surface-muted:#1e2820;--color-border:#2a352b;--color-text:#e9f1e8;--color-text-muted:#9fb09f;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 6px 20px #00000073}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100svh}h1,h2,h3{font-family:var(--font-sans);color:var(--color-text);margin:0}p{margin:0}button{font-family:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,select,textarea{font-family:inherit}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{z-index:10;background:var(--color-primary);background:linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;padding-top:env(safe-area-inset-top);box-shadow:var(--shadow-sm);position:sticky;top:0}.app-header__contenuto{align-items:center;gap:10px;max-width:640px;margin:0 auto;padding:14px 20px;display:flex}.app-header__logo{font-size:22px;line-height:1}.app-header__titolo{letter-spacing:-.2px;font-size:20px;font-weight:700}.app-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 100px}.bottom-nav{z-index:10;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);position:sticky;bottom:0;box-shadow:0 -2px 10px #1421160f}.bottom-nav__contenuto{max-width:640px;margin:0 auto;display:flex}.bottom-nav__item{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;margin:4px;padding:8px 2px 6px;transition:color .15s,background-color .15s;display:flex}.bottom-nav__icona{font-size:20px;line-height:1}.bottom-nav__etichetta{font-size:11px;font-weight:500}.bottom-nav__item.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.vista{flex-direction:column;gap:14px;display:flex}.vista__titolo{letter-spacing:-.3px;font-size:22px;font-weight:700}.vista__sottotitolo{color:var(--color-text-muted);margin-top:-8px;font-size:13.5px}.stato-vuoto{text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:32px 16px;font-size:14px}.scheda{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:18px;transition:box-shadow .15s}@media (hover:hover){.scheda:hover{box-shadow:var(--shadow-md)}}.scheda__titolo{margin-bottom:6px;font-size:16px;font-weight:700}.scheda__descrizione{color:var(--color-text-muted);margin-bottom:14px;font-size:13px;line-height:1.5}.scheda+.scheda{margin-top:14px}.form,.form-inline{flex-direction:column;gap:14px;display:flex}.form-inline{flex-direction:row;gap:8px}.form-inline input{flex:1}.campo{flex-direction:column;gap:6px;display:flex}.campo label{color:var(--color-text-muted);font-size:13px;font-weight:600}.campo-riga{grid-template-columns:1fr 1fr;gap:12px;display:grid}.campo-inline{align-items:center;gap:8px;display:flex}.campo-checkbox{color:var(--color-text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.campo-checkbox input{width:18px;height:18px;accent-color:var(--color-primary)}input[type=text],input[type=number],input[type=date],select,textarea{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);outline:none;padding:11px 12px;font-size:15px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}textarea{resize:vertical}.prezzo-al-kg{background:var(--color-primary-soft);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.prezzo-al-kg__etichetta{color:var(--color-text-muted);font-size:13px;font-weight:600}.prezzo-al-kg__valore{color:var(--color-primary-dark);font-size:20px;font-weight:700}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:11px 16px;font-size:14.5px;font-weight:600;transition:filter .15s,background-color .15s}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{filter:brightness(1.08)}.btn--secondary{background:var(--color-primary-soft);color:var(--color-primary-dark)}.btn--secondary:hover{filter:brightness(.97)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--compatto{white-space:nowrap;padding:9px 12px;font-size:13.5px}.btn--blocco{width:100%;padding:13px 16px;font-size:15.5px}.btn--icona{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 6px;font-size:16px}.btn--icona:hover{background:var(--color-surface-muted)}.messaggio{border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;font-weight:500}.messaggio--successo{background:var(--color-primary-soft);color:var(--color-primary-dark)}.messaggio--errore{background:var(--color-danger-soft);color:var(--color-danger)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge--successo{background:var(--color-primary-soft);color:var(--color-primary-dark)}.badge--offerta{color:#e65100;background:#fff3e0}@media (prefers-color-scheme:dark){.badge--offerta{color:var(--color-accent);background:#3a2b12}}.filtri{grid-template-columns:1fr 1fr;gap:12px;display:grid}.filtri .campo{gap:6px}.tabella-wrapper{padding:0;overflow-x:auto}.tabella{border-collapse:collapse;width:100%;font-size:13.5px}.tabella th,.tabella td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 14px}.tabella th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.tabella tbody tr:last-child td{border-bottom:none}.tabella tbody tr:hover{background:var(--color-surface-muted)}.cella-prodotto{white-space:normal;align-items:center;gap:8px;display:flex}.cella-prodotto__badge{gap:4px;display:inline-flex}.riga-migliore{background:var(--color-primary-soft)}.grafico{padding:14px 8px 8px}.classifica{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.classifica__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:14px 16px;display:flex}.classifica__item--migliore{border-color:var(--color-primary-light);background:var(--color-primary-soft)}.classifica__posizione{background:var(--color-surface-muted);width:26px;height:26px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.classifica__item--migliore .classifica__posizione{background:var(--color-primary);color:#fff}.classifica__dettagli{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.classifica__nome{font-size:15px;font-weight:700}.classifica__meta{color:var(--color-text-muted);font-size:12px}.classifica__prezzo{color:var(--color-primary-dark);white-space:nowrap;font-size:17px;font-weight:700}.classifica__prezzo small{color:var(--color-text-muted);margin-left:2px;font-size:11px;font-weight:600}.lista-tag{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.tag{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:13px;font-weight:500;display:inline-flex}.tag__rimuovi{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:15px;line-height:1;display:flex}.tag__rimuovi:hover{background:var(--color-danger-soft);color:var(--color-danger)}.lista-soglie{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.lista-soglie__item{background:var(--color-surface-muted);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.lista-soglie__etichetta{flex:1;min-width:0}.lista-soglie__valore{color:var(--color-primary-dark);white-space:nowrap;font-weight:700}.backup-azioni{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.backup-azioni .btn{flex:1;min-width:140px}@media (width<=380px){.campo-riga,.filtri{grid-template-columns:1fr}}@media (width>=900px){.app-shell{grid-template:"header header""nav main"1fr/232px 1fr;height:100svh;min-height:0;display:grid}.app-header{grid-area:header}.app-header__contenuto{max-width:none;margin:0;padding:16px 28px}.app-main{grid-area:main;max-width:1000px;padding:32px 40px 48px;overflow-y:auto}.scheda.form,.scheda.filtri{max-width:640px}.bottom-nav{border-top:none;border-right:1px solid var(--color-border);box-shadow:none;grid-area:nav;padding-bottom:0;position:static;overflow-y:auto}.bottom-nav__contenuto{flex-direction:column;gap:4px;max-width:none;padding:20px 14px}.bottom-nav__item{flex-direction:row;flex:none;justify-content:flex-start;gap:12px;margin:0;padding:10px 14px}.bottom-nav__item:hover{background:var(--color-surface-muted)}.bottom-nav__item.is-active:hover{background:var(--color-primary-soft)}.bottom-nav__icona{font-size:18px}.bottom-nav__etichetta{font-size:14px}}
