*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--card: #161616;--card2: #1f1f1f;--border: #2c2c2c;--text: #f2f2f2;--muted: #9a9a9a;--accent: #eab308;--accent-dark: #a16207;--green: #4ade80;--red: #f87171;--blue: #60a5fa}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:50;background:#000;border-bottom:2px solid var(--accent);padding:12px 14px;display:flex;align-items:center;gap:10px}.header h1{font-size:1.05rem;font-weight:800;letter-spacing:.3px;flex:1}.header .langBtn,.header .iconBtn{background:var(--card2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:.8rem;font-weight:700;cursor:pointer}.page{flex:1;padding:14px;max-width:640px;width:100%;margin:0 auto}.pageTitle{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:14px 0 8px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:10px}.card.tap{cursor:pointer;transition:border-color .15s}.card.tap:active{border-color:var(--accent)}.card .titolo{font-size:1rem;font-weight:700}.card .sotto{font-size:.82rem;color:var(--muted);margin-top:4px}.badge{display:inline-block;font-size:.72rem;font-weight:800;border-radius:999px;padding:2px 10px;margin-top:6px}.badge.colore{color:var(--accent);border:1px solid var(--accent-dark)}.badge.ro{color:var(--muted);border:1px solid var(--border)}.badge.verde{color:var(--green);border:1px solid rgba(74,222,128,.4)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:none;border-radius:12px;font-size:1rem;font-weight:800;cursor:pointer;background:var(--accent);color:#000}.btn:disabled{opacity:.45}.btn.secondario{background:var(--card2);color:var(--text);border:1px solid var(--border)}.btn.piccolo{width:auto;padding:9px 14px;font-size:.85rem;border-radius:10px}.input,select.input{width:100%;padding:13px;border-radius:10px;background:var(--card2);color:var(--text);border:1px solid var(--border);font-size:1rem}.input:focus{outline:none;border-color:var(--accent)}label.lbl{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin:12px 0 5px}.matRow{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.matRow:last-child{border-bottom:none}.matRow .nome{flex:1;font-size:.92rem;font-weight:600}.matRow .qta{text-align:right;white-space:nowrap}.matRow .qta .big{font-size:1rem;font-weight:800;color:var(--accent)}.matRow .qta .small{display:block;font-size:.72rem;color:var(--muted)}.doseRow{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:var(--card2);margin-bottom:8px;border:1px solid var(--border)}.doseRow .pigmento{font-weight:700}.doseRow .g{font-size:1.25rem;font-weight:900;color:var(--accent)}.msgErr{background:#f871711f;border:1px solid rgba(248,113,113,.4);color:var(--red);border-radius:10px;padding:10px 12px;font-size:.85rem;margin:10px 0}.msgOk{background:#4ade801a;border:1px solid rgba(74,222,128,.4);color:var(--green);border-radius:10px;padding:10px 12px;font-size:.9rem;font-weight:700;margin:10px 0}.loading{text-align:center;color:var(--muted);padding:40px 0}.loginWrap{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.loginBox{width:100%;max-width:360px}.loginBox .logo{text-align:center;font-size:2.2rem;margin-bottom:6px}.loginBox h2{text-align:center;font-size:1.2rem;margin-bottom:22px}.loginBox .input{margin-bottom:12px}
