:root{--bg:#f4f5f4;--card:#fff;--text:#1d2321;--muted:#6b7470;--border:#e2e5e3;--green:#2a7;--orange:#e8890c;--red:#d64040;--tag-bg:#fde7c4;--tag-text:#9a5a00;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#111413;--card:#1c201f;--text:#eef1ef;--muted:#9aa3a0;--border:#2c3230;--tag-bg:#4a3613;--tag-text:#f6c77a}}*{box-sizing:border-box}body{background:var(--bg);overscroll-behavior-y:none;margin:0}button{font:inherit;cursor:pointer}.app{max-width:640px;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 96px);margin:0 auto}.app-header h1{margin:8px 0 12px;font-size:28px}.section h2{text-transform:uppercase;letter-spacing:.04em;margin:20px 0 8px;font-size:13px}.tone-red h2{color:var(--red)}.tone-orange h2{color:var(--orange)}.tone-green h2{color:var(--green)}.swipe-row{background:var(--card);border-radius:12px;margin-bottom:8px;position:relative;overflow:hidden}.swipe-actions{display:flex;position:absolute;inset:0 0 0 auto}.swipe-action{color:#fff;border:0;font-size:14px;font-weight:600}.swipe-action.orange{background:var(--orange)}.swipe-action.green{background:var(--green)}.swipe-content{background:var(--card);border:1px solid var(--border);touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:12px;transition:transform .18s ease-out;position:relative}.item-row{align-items:center;gap:12px;min-height:60px;padding:10px 12px;display:flex}.thumb{background:var(--border);object-fit:cover;border-radius:8px;flex:none;width:40px;height:40px}.item-text{min-width:0}.item-name{overflow-wrap:anywhere;font-size:16px;font-weight:600}.item-date{color:var(--muted);margin-top:2px;font-size:13px}.tag{background:var(--tag-bg);color:var(--tag-text);vertical-align:2px;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600}.empty{color:var(--muted);text-align:center;margin-top:64px}.error{background:var(--red);color:#fff;border-radius:10px;padding:10px 12px}.fab{right:max(20px, env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 20px);background:var(--green);color:#fff;border:0;border-radius:50%;width:60px;height:60px;font-size:34px;line-height:1;position:fixed;box-shadow:0 4px 14px #00000040}.toast{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 92px);color:#fff;background:#222826;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;max-width:608px;margin:0 auto;padding:12px 16px;display:flex;position:fixed}.toast button{color:#7fe0b9;background:0 0;border:0;font-weight:700}.sheet-backdrop{z-index:10;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:92vh;padding:16px 16px calc(env(safe-area-inset-bottom) + 20px);border-radius:18px 18px 0 0;overflow-y:auto}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-header h2{margin:0;font-size:20px}.link{color:var(--green);background:0 0;border:0;padding:12px 0;font-size:16px;font-weight:600}.muted{color:var(--muted)}.scanner{aspect-ratio:4/3;background:#000;border-radius:14px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-line{border-top:2px solid #ff3b30;position:absolute;top:50%;left:12%;right:12%}.form{flex-direction:column;gap:14px;display:flex}.product-card{align-items:flex-end;gap:12px;display:flex}.product-card .thumb{width:56px;height:56px}.grow{flex:1}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.field input{border:1px solid var(--border);background:var(--card);color:var(--text);appearance:none;border-radius:10px;width:100%;min-height:48px;padding:12px;font-size:17px}.stepper{color:var(--text);align-items:center;gap:18px;font-size:20px;font-weight:600;display:flex}.stepper button{border:1px solid var(--border);background:var(--card);width:44px;height:44px;color:var(--text);border-radius:50%;font-size:22px}.primary,.secondary,.danger{border:0;border-radius:12px;padding:14px;font-size:17px;font-weight:600}.primary{background:var(--green);color:#fff}.secondary{background:var(--card);color:var(--green);border:1px solid var(--green)}.danger{color:var(--red);background:0 0}.primary:disabled,.secondary:disabled{opacity:.45}.notice{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:12px}.notice p{margin:0 0 4px}.notice .primary{width:100%}
