:root{--brand:#0f766e;--brand-dark:#0b5a54;--brand-soft:#d9f0ec;--bg:#f4f7f6;--surface:#fff;--text:#16211f;--muted:#62716e;--line:#dde5e3;--danger:#c0392b;--warn:#b45309;--radius:12px;--nav-h:62px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100dvh;margin:0}h1{margin:0 0 12px;font-size:1.4rem}h2{margin:18px 0 8px;font-size:1.05rem}button,input,select{font:inherit;color:inherit}input{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:8px 12px;font-size:16px}input:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}input[type=checkbox]{width:20px;min-height:20px}.muted{color:var(--muted)}.pad{padding:16px}.grow{flex:1;min-width:0}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:not(:disabled):hover{background:var(--brand-dark)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.big{width:100%;min-height:52px;font-size:1.1rem}.link{cursor:pointer;background:0 0;border:0;padding:4px;text-decoration:underline}.link.danger{color:var(--danger)}.icon-btn{cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-size:1.8rem;line-height:1}.form{gap:12px;display:grid}.field{gap:4px;display:grid}.field>span{color:var(--muted);font-size:.85rem}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check{align-items:center;gap:10px;display:flex}.toolbar{gap:8px;margin-bottom:12px;display:flex}.toolbar input{flex:1;min-width:0}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:40px;padding:6px 14px}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.app{min-height:100dvh}.main{padding:14px 14px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));max-width:1100px;margin:0 auto}.nav{z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.brand{display:none}.nav-link{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.nav-link.active{color:var(--brand);font-weight:700}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.page-head h1{margin:0}.banner{border-radius:var(--radius);color:var(--warn);background:#fff4d6;margin-bottom:12px;padding:10px 14px;font-weight:600;text-decoration:none;display:block}.flash{border-radius:var(--radius);background:var(--brand-soft);color:var(--brand-dark);margin:0 0 12px;padding:10px 14px;font-weight:600}.empty{text-align:center;color:var(--muted);justify-items:center;gap:12px;padding:32px 16px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:12px;margin-bottom:14px;padding:16px;display:grid}.panel h1,.panel h2,.panel p{margin:0}.welcome{place-items:center;min-height:100dvh;padding:16px;display:grid}.welcome .panel{width:min(440px,100%)}.rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.row-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;display:flex}.actions{gap:6px;display:flex}.actions.wrap{flex-wrap:wrap}.badge{background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:3px 10px;font-size:.9rem;font-weight:700;display:inline-block}.badge.low{color:var(--danger);background:#fde8e4}.stock-cell{text-align:center;min-width:70px}@media (width<=599px){.page .row-item:has(.actions){flex-wrap:wrap}}.sell{display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.tile{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-content:start;gap:4px;min-height:96px;padding:12px;display:grid}.tile:active{background:var(--brand-soft)}.tile.out{opacity:.6}.tile-name{overflow-wrap:anywhere;font-weight:700}.tile-price{color:var(--brand-dark);font-weight:600}.tile-stock{color:var(--muted);font-size:.8rem}.tile-stock.low{color:var(--danger);font-weight:700}.cart{z-index:40;background:var(--surface);flex-direction:column;display:none;position:fixed;inset:0}.cart.open{display:flex}.cart header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:4px 8px 4px 16px;display:flex}.cart h2{margin:0}.cart-lines{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.cart-lines li{border-bottom:1px solid var(--line);gap:6px;padding:12px 16px;display:grid}.cl-top,.cl-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.cl-bottom{justify-content:flex-start}.cl-bottom .link{margin-left:auto}.stepper{align-items:center;display:flex}.stepper button{border:1px solid var(--line);background:var(--bg);cursor:pointer;width:40px;height:40px;font-size:1.3rem}.stepper button:first-child{border-radius:10px 0 0 10px}.stepper button:last-child{border-radius:0 10px 10px 0}.stepper input{text-align:center;border-radius:0;width:64px;min-height:40px;padding:0 4px}.warn{color:var(--warn);font-weight:600}.cart footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);gap:10px;display:grid}.total{justify-content:space-between;align-items:baseline;font-size:1.3rem;display:flex}.change{color:var(--brand-dark);font-weight:700}.change.neg{color:var(--danger)}.cart-bar{z-index:30;left:14px;right:14px;bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom));background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:space-between;align-items:center;min-height:54px;padding:0 18px;font-size:1.05rem;display:flex;position:fixed;box-shadow:0 6px 18px #00000040}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:14px;display:grid}.card span{color:var(--muted);font-size:.85rem}.card b{font-size:1.3rem}.sale{gap:0;display:grid}.sale-head{text-align:left;cursor:pointer;width:100%}.sale.cancelled .sale-head{opacity:.55;text-decoration:line-through}.sale-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:6px;margin-top:6px;padding:10px 12px;display:grid}.sale-line{justify-content:space-between;gap:8px;display:flex}.overlay{z-index:60;background:#00000073;align-items:end;display:grid;position:fixed;inset:0}.modal{max-height:92dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-radius:18px 18px 0 0;overflow-y:auto}.modal header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal h2{margin:0}.show-mobile{display:inline-block}@media (width>=900px){.nav{border-top:0;border-right:1px solid var(--line);flex-direction:column;width:210px;height:auto;padding:16px 10px;inset:0 auto 0 0}.brand{color:var(--brand-dark);overflow-wrap:anywhere;padding:6px 12px 16px;font-size:1.1rem;font-weight:800;display:block}.nav-link{border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;gap:10px;padding:12px;font-size:1rem}.nav-link.active{background:var(--brand-soft)}.main{max-width:none;margin-left:210px;padding:24px 28px 40px}.overlay{place-items:center}.modal{border-radius:18px;width:min(520px,92vw);padding-bottom:16px}.sell{grid-template-columns:1fr 360px;align-items:start;gap:20px;display:grid}.cart{top:24px;border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100dvh - 48px);display:flex;position:sticky;inset:auto;overflow:hidden}.cart-bar,.show-mobile{display:none}}.flash.error{color:var(--danger);background:#fde8e4}.small{font-size:.85rem}.summary{border-radius:var(--radius);background:var(--bg);gap:6px;padding:12px;display:grid}.summary div{justify-content:space-between;gap:8px;display:flex}.summary span{color:var(--muted)}.row-item.inactive{opacity:.6}.nav-user{display:none}@media (width>=900px){.nav-user{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding:12px;font-weight:600;display:grid}.nav-user .link{color:var(--danger);justify-self:start;padding:0;font-weight:400}}.pos-text{color:var(--brand-dark)}.neg-text{color:var(--danger)}.more summary{cursor:pointer;color:var(--brand-dark);padding:6px 0;font-weight:600}.more .form{margin-top:8px}.chips.tight{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:0;display:grid}.chips.tight .chip{padding:6px 8px}.summary .info{border-top:1px dashed var(--line);margin-top:4px;padding-top:6px;font-size:.9rem}.chips.tight .chip:last-child:nth-child(odd){grid-column:1/-1}.pick{text-align:left;cursor:pointer;width:100%;color:inherit;text-decoration:none}.back{color:var(--brand-dark);margin-bottom:8px;font-weight:600;text-decoration:none;display:inline-block}.debt{justify-items:start}.debt .big{justify-self:stretch}.debt-amount{color:var(--brand-dark);font-size:1.9rem}.debt.owes .debt-amount{color:var(--danger)}.credit-box{border:1px dashed var(--line);border-radius:var(--radius);gap:8px;padding:10px;display:grid}.sync-chip{background:var(--brand-soft);color:var(--brand-dark);cursor:pointer;border:0;border-radius:999px;margin:0 0 10px auto;padding:4px 12px;font-size:.8rem;display:block}.sync-chip.offline{color:var(--warn);background:#fff4d6}.sync-chip.error{color:var(--danger);background:#fde8e4}.code-box{border-radius:var(--radius);background:var(--bg);text-align:center;letter-spacing:.04em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.25rem;font-weight:700}.qr{border:1px solid var(--line);border-radius:var(--radius);width:min(240px,100%);margin:0 auto;display:block}.scanner-video{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);background:#000;width:100%}.center{text-align:center;margin:0}
