: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}.scanner.typing video,.scanner.typing .scanline{display:none}.scanner.typing .scanbar{padding-top:calc(1rem + env(safe-area-inset-top))}.scan-manual{gap:.5rem;display:flex}.scan-manual input{flex:1;min-width:0}.counted{color:var(--ok);font-size:.9em}.auth{max-width:25rem;padding:calc(env(safe-area-inset-top) + 2rem) 1rem 2rem;flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.auth .card{margin-top:1rem}.auth h1{color:var(--wine);align-items:center;gap:.7rem;margin:0;font-size:1.6rem;display:flex}.auth h1 img{border-radius:10px;width:44px;height:44px}.auth h2{margin-top:0}.auth .tagline{margin:.3rem 0 0}.auth form>button.primary,.auth .wide{width:100%;margin-top:.6rem}.auth .or{text-align:center;border-top:1px solid var(--line);margin:1.2rem 0 .6rem;padding-top:1rem}.auth .center{text-align:center}.auth footer{text-align:center;margin-top:auto;padding-top:2rem}.hint{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.notice{background:#fff3cd;border-radius:10px;padding:.7rem .9rem;font-size:.92rem}.error-box{color:var(--bad);background:#fde8e6;border-radius:10px;margin-top:.6rem;padding:.7rem .9rem}.choice{gap:.5rem;display:flex}.choice label{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;flex:1;margin:0;padding:.7rem;font-size:.95rem}.choice label.on{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}.choice input{width:auto;margin:0 .4rem 0 0}.account section{margin-bottom:1.4rem}.account .card+.card{margin-top:.8rem}.account .row>button{flex:none}.ok-text{color:var(--ok);font-size:.9rem}details summary{cursor:pointer;color:var(--wine);padding:.4rem 0}.chips button.active{background:var(--wine);border-color:var(--wine);color:#fff}.filters{margin:.7rem 0 .2rem}.wines h2{margin-top:.4rem}.wines .card{margin:.8rem 0}.button.primary{background:var(--wine);border-color:var(--wine);color:#fff}table.facts{border-collapse:collapse;width:100%;margin:.6rem 0}table.facts th,table.facts td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.45rem .2rem;font-weight:400}table.facts th{color:var(--muted);width:40%}.wine-form .card{margin:.7rem 0;padding:.5rem 1rem}.group-head{background:0 0;border:none;justify-content:space-between;width:100%;padding:.6rem 0;display:flex}.packs{flex-wrap:wrap;align-items:center;gap:0 1.2rem;margin:.5rem 0;display:flex}.packs label{margin:.3rem 0}label .chips{margin-top:.4rem}label .chips button{padding:.35rem .7rem;font-size:.85rem}nav a{font-size:.92rem}.team .member{flex-direction:column;gap:.4rem;padding:.7rem .2rem;display:flex}.team .actions{flex-wrap:wrap;gap:.4rem;display:flex}.team .actions button{padding:.4rem .6rem;font-size:.85rem}.tag{background:var(--wine);color:#fff;border-radius:99px;padding:.1rem .5rem;font-size:.75rem}.small{font-size:.85rem}.linkbox{background:#f3ece0;border-radius:12px;margin:.8rem 0;padding:.8rem}.linkbox input{margin:.5rem 0;font-size:.85rem}.import .upload{margin:1rem 0 .3rem;display:block}.import .upload .button{display:inline-block}.summary{grid-template-columns:1fr 1fr;gap:.3rem 1rem;padding:0;list-style:none;display:grid}.problems li{padding:.4rem 0;font-size:.9rem}.list>li.entry{align-items:flex-start;gap:.8rem;padding:.6rem .2rem;display:flex}.entry-text{flex:1;min-width:0}.list>li.entry>.entry-action{text-align:right;white-space:nowrap;flex:none;width:auto;padding:0 .2rem}.places .card{margin:.8rem 0}button.rename{text-align:left;background:0 0;border:none;width:100%;padding:.3rem 0}.list>li.entry>.entry-action:disabled{color:var(--muted);opacity:.6}.places form.row{margin-top:.5rem}.count-input{flex:none;gap:.3rem;display:flex}.count-input select.unit{width:auto;max-width:8.5rem;padding:.7rem .4rem}.count-default{gap:.6rem;margin:.4rem 0}.count-default select{width:auto}.count-input input.narrow{width:4.5rem}.named{text-align:left;grid-template-columns:2.6rem 1fr;align-items:center;gap:.5rem;display:grid}.named .no{text-align:center}.named .clamp{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.named .producer{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.named .name{min-width:0}.chips.favorites{flex-direction:column}.chips.favorites button{border-radius:14px;width:100%}.listno{background:var(--wine);color:#fff;text-align:center;border-radius:6px;min-width:1.9em;padding:0 .3em;font-size:.85em;font-weight:600;display:inline-block}.side{text-align:left;flex-direction:column;flex:none;align-items:flex-start;width:7.5rem;font-size:.9rem;display:flex}.side.boxed{align-items:center}.side.boxed>.stack{flex-direction:column;align-items:flex-start;width:4.4rem;display:flex}main.wide{max-width:78rem}.split{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:1.5rem;display:grid}.side-pane{max-height:calc(100dvh - 10rem);position:sticky;top:5rem;overflow:auto}.placeholder p{color:var(--muted);margin:.4rem 0}.list>li.selected{background:#6b1f2a14;border-radius:10px}@media (max-width:899px){.split{display:block}.side-pane{max-height:none;position:static}}table.grid{border-collapse:collapse;width:100%;font-size:.95rem}table.grid th,table.grid td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .45rem}table.grid thead th{color:var(--muted);font-size:.85rem;font-weight:600}table.grid tfoot th{border-bottom:none}table.grid .num{text-align:right;white-space:nowrap}table.grid .stack-cell span{white-space:nowrap;display:block}table.grid tr.negative td{color:var(--bad)}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.tiles button{border-radius:14px;min-height:4.8rem;padding:.6rem}.tiles button.active{border-color:var(--wine);box-shadow:inset 0 0 0 2px var(--wine)}.tiles .named{grid-template-columns:2.8rem 1fr}.tiles .listno{padding:.15em .3em;font-size:1.05rem}.recent{margin-top:1rem}.recent li.gone .entry-text{opacity:.6;text-decoration:line-through}.count-table .count-input{gap:.4rem;display:flex}.count-table input.narrow{width:5rem}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:.2rem;padding:1rem;display:flex}.kpi strong{color:var(--wine);font-size:1.6rem}.kpi.negative strong{color:var(--bad)}@media (max-width:899px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.overview .card{margin-bottom:1rem}.wine-form.wide .groups{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:start;gap:1rem;display:grid}.wine-form.wide .groups>.card{margin:0}.split.wide-left{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}table.grid .nowrap{white-space:nowrap}.links{margin:0 0 .6rem}.inventory-banner{color:var(--ink);border-color:var(--wine);flex-direction:column;gap:.2rem;margin-bottom:.8rem;text-decoration:none;display:flex}.inventory-banner strong{color:var(--wine)}.banner-box{background:#fff3cd;border-radius:12px;margin:.8rem 0;padding:.8rem 1rem}.banner-box ul{margin:.4rem 0 0;padding-left:1.2rem}.list>li.entry-block{padding:.7rem .2rem}.entry-block .named{margin-bottom:.2rem}.entry-block .cause{padding:.25rem 0 0 2.6rem}.side.negative,.negative .side{color:var(--bad)}.assign{flex-wrap:wrap;margin-top:.5rem}.assign select{flex:1;width:auto}.assign input.narrow{width:4.5rem}.filters-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.filters-row>input{flex:2;min-width:12rem}.filters-row>select{flex:1;width:auto;min-width:9rem}.filters-row>label.check{margin:0}tr.gone td,li.gone{opacity:.55}tr.gone td:not(:last-child){text-decoration:line-through}.split.wide-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reports .card,.inventory .card{margin-bottom:1rem}.reports .dates{flex-wrap:wrap}.reports .dates input[type=date]{flex:1;min-width:9rem}.entry-action{white-space:nowrap}details>summary{cursor:pointer;color:var(--wine);padding:.4rem 0}button.link.inline{font-size:inherit;padding:0}
