:root{--bg: #091016;--bg-alt: #0f1a24;--bg-elevated: #192a38;--border: #2e4456;--text: #ecf1f4;--text-muted: #8d9fb0;--primary: #02b19c;--primary-hover: #12e2ca;--primary-soft: rgba(2, 177, 156, .18);--danger: #ff5c7c;--success: #34c98a;--warning: #f5b342;--badge: #0b0f14;color-scheme:dark}:root[data-theme=light]{--bg: #f5f8fa;--bg-alt: #ffffff;--bg-elevated: #ebf0f4;--border: #d9e1e8;--text: #13222f;--text-muted: #5e7487;--primary: #02b19c;--primary-hover: #038173;--primary-soft: rgba(2, 177, 156, .12);--danger: #d92d4e;--success: #1f9d6b;--warning: #b7791f;--badge: #13222f;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.4 -apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:5;background:var(--bg-alt);border-bottom:1px solid var(--border);padding:calc(8px + env(safe-area-inset-top)) 14px 8px;display:flex;align-items:center;gap:10px}.topbar h1{font-size:17px;margin:0;flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .sub{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-elevated);border-radius:0;padding:0}.icon-btn svg{width:20px;height:20px}.search{display:flex;align-items:center;gap:8px;background:var(--bg-alt);border:1px solid var(--border);padding:0 12px;height:44px;margin:10px 14px 0}.search input{flex:1;border:0;background:none;outline:none;height:100%}.search svg{width:18px;height:18px;color:var(--text-muted)}.filters{display:flex;gap:10px;padding:10px 14px 4px}.filters select{flex:1;height:42px;border:1px solid var(--border);background:var(--bg-alt);padding:0 10px;border-radius:0}.list{display:flex;flex-direction:column;gap:10px;padding:10px 14px}.card{background:var(--bg-alt);border:1px solid var(--border);border-radius:0;padding:12px}.product{display:flex;flex-direction:column;gap:8px}.product-top{display:flex;gap:12px;align-items:flex-start}.product-pic{width:58px;height:58px;border:1px solid var(--border);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.product-pic img{width:100%;height:100%;object-fit:cover}.product-pic span{color:var(--text-muted);font-size:20px}.product-name{font-weight:700;margin:0}.product-sub{color:var(--text-muted);font-size:13px}.product-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.product-price s{color:var(--text-muted)}.badge{background:var(--badge);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border:0;border-radius:0}:root[data-theme=light] .badge{color:#fff}.badge.scheme{background:var(--primary)}.product-row{display:flex;gap:10px;align-items:end}.product-row label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.stepper{display:flex;align-items:center;border:1px solid var(--border);background:var(--bg-elevated);height:42px}.stepper button{width:42px;height:100%;border:0;background:none;color:var(--primary);font-size:20px}.stepper input{flex:1;width:3ch;min-width:0;text-align:center;border:0;background:none;height:100%;outline:none}.select{height:42px;border:1px solid var(--border);background:var(--bg-elevated);padding:0 10px;width:100%;border-radius:0}.heart{margin-left:auto;background:none;border:0;color:var(--text-muted);padding:4px}.heart.on{color:var(--danger)}.heart svg{width:22px;height:22px}.stock{font-size:12px;color:var(--text-muted)}.stock.short{color:var(--danger)}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--bg-alt);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;color:var(--text-muted);font-size:11px;position:relative}.bottomnav a.active{color:var(--primary)}.bottomnav svg{width:22px;height:22px}.bottomnav .count{position:absolute;top:4px;right:calc(50% - 22px);background:var(--primary);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center}.btn{height:46px;padding:0 18px;border:0;background:var(--primary);color:#fff;font-weight:700;border-radius:0;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.5}.btn.secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.btn.danger{background:var(--danger)}.btn.block{width:100%}.btn.sm{height:36px;padding:0 12px;font-size:13px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:12px;color:var(--text-muted);font-weight:600}.field input,.field select,.field textarea{height:44px;border:1px solid var(--border);background:var(--bg-alt);padding:0 12px;border-radius:0;width:100%}.field textarea{height:auto;padding:10px 12px}.hint{color:var(--text-muted);font-size:13px}.error{color:var(--danger);font-size:14px}.totals{display:flex;flex-direction:column;gap:6px}.totals div{display:flex;justify-content:space-between}.totals .grand{font-weight:700;font-size:17px;border-top:1px solid var(--border);padding-top:8px;margin-top:4px}.sheet-backdrop{position:fixed;inset:0;background:#00000080;z-index:20;display:flex;align-items:flex-end}.sheet{background:var(--bg-alt);border-top:1px solid var(--border);width:100%;max-height:85vh;overflow:auto;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.sheet h2{font-size:16px;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row .title{font-weight:600}.row .meta{color:var(--text-muted);font-size:12px}.pill{font-size:11px;font-weight:700;padding:3px 8px;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em}.pill.ok{color:var(--success);border-color:var(--success)}.pill.warn{color:var(--warning);border-color:var(--warning)}.pill.muted{color:var(--text-muted)}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:40px 24px;flex:1}.center h1{margin:0;font-size:26px}.brand{font-size:28px;font-weight:800;letter-spacing:-.02em}.brand span{color:var(--primary)}.swipe{position:relative;height:62px;border:1px solid var(--border);background:var(--bg-elevated);user-select:none;touch-action:pan-y;overflow:hidden}.swipe .label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-muted);pointer-events:none}.swipe .knob{position:absolute;top:4px;left:4px;width:54px;height:54px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center}.swipe.out .knob{background:var(--danger)}.swipe .knob svg{width:24px;height:24px}.swipe.done .label{color:var(--success)}.stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:0}.seg{display:flex;border:1px solid var(--border)}.seg button{flex:1;height:40px;border:0;background:none;color:var(--text-muted)}.seg button.on{background:var(--primary-soft);color:var(--primary);font-weight:700}.toast{position:fixed;left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;background:var(--bg-elevated);border:1px solid var(--border);padding:12px 14px}.toast.error{border-color:var(--danger)}
