:root{--wine:#6b1f2a;--wine-dark:#4d141d;--paper:#f6f0e4;--card:#fffdf8;--ink:#2b2222;--muted:#7a6e68;--line:#e4dccd;--ok:#2f6b3f;--warn:#9a6a00;--bad:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,.button{font:inherit;touch-action:manipulation}input,select{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:.7rem .8rem}button,.button{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;padding:.65rem .9rem;text-decoration:none}button.primary{background:var(--wine);border-color:var(--wine);color:#fff}button.big{width:100%;margin-top:.8rem;padding:1rem;font-size:1.15rem}button.link{color:var(--wine);background:0 0;border:none;padding:.3rem}button.danger{color:var(--bad)}label{color:var(--muted);margin:.7rem 0;font-size:.9rem;display:block}label>input,label>select{color:var(--ink);margin-top:.3rem;font-size:1rem}label.check{color:var(--ink);align-items:center;gap:.6rem;font-size:1rem;display:flex}label.check input{width:auto}.muted{color:var(--muted);font-size:.9em}.error{color:var(--bad)}.warn{color:var(--warn);font-size:.9rem}.loading{text-align:center;color:var(--muted);padding:2rem}.screen{flex-direction:column;min-height:100dvh;display:flex}header{z-index:2;padding:calc(env(safe-area-inset-top) + .6rem) 1rem .6rem;background:var(--wine);color:#fff;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:1rem 1rem 5rem}nav{z-index:2;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}nav a{text-align:center;color:var(--muted);flex:1;padding:.9rem 0;text-decoration:none}nav a.active{color:var(--wine);font-weight:600}.badge{color:#fff;background:#ffffff2e;border-radius:99px;padding:.25rem .6rem;font-size:.8rem;text-decoration:none}.badge.offline{background:#8a6d1d}.badge.error{background:var(--bad)}.banner{background:#fff3cd;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.row{align-items:center;gap:.5rem;display:flex}.row>input{flex:1}.between{justify-content:space-between}.segmented{border:1px solid var(--line);border-radius:10px;margin-bottom:1rem;display:flex;overflow:hidden}.segmented button{border:none;border-radius:0;flex:1}.segmented button.active{background:var(--wine);color:#fff}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips button{border-radius:99px}.list{margin:.5rem 0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--line)}.list>li>button{text-align:left;background:0 0;border:none;border-radius:0;width:100%;padding:.75rem .2rem}.list>li.row{padding:.6rem .2rem}.detail{margin:0;padding:0 0 .6rem .8rem;font-size:.92rem;list-style:none}.detail li{padding:.25rem 0}.negative,.negative span{color:var(--bad)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem}.stepper{align-items:center;display:flex}.stepper button{width:3rem;height:3rem;padding:0;font-size:1.4rem}.stepper input{text-align:center;width:4rem;margin:0 .3rem}input.narrow{text-align:right;flex:none;width:6rem}.toast{left:1rem;right:1rem;bottom:calc(4.5rem + env(safe-area-inset-bottom));z-index:3;background:var(--ink);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex;position:fixed}.toast button{color:#fff;background:0 0;border-color:#fff6}.setup,.measure{max-width:28rem;margin:0 auto;padding:2rem 1rem}.setup h1,.measure h1{color:var(--wine)}h2{margin:1.2rem 0 .3rem;font-size:1.05rem}h3{color:var(--muted);margin:1rem 0 .4rem;font-size:.95rem}.status table,.measure table{border-collapse:collapse;width:100%}.status th,.status td,.measure th,.measure td{text-align:left;border-bottom:1px solid var(--line);padding:.45rem .2rem;font-weight:400}.status th,.measure th{color:var(--muted)}.buttons{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.scanner{z-index:10;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.scanner video{object-fit:cover;flex:1;width:100%}.scanline{background:#ff4d4d;height:2px;position:absolute;top:45%;left:10%;right:10%;box-shadow:0 0 12px #ff4d4d}.scanbar{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));color:#fff;background:#111;flex-direction:column;gap:.5rem;display:flex}.counted{color:var(--ok);font-size:.9em}
