:root{--bg:#f4f6f5;--surface:#ffffff;--surface-2:#f8faf9;--ink:#0e1a14;--ink-2:#3b4a42;--ink-3:#6b7973;--ink-4:#9aa5a0;--line:#e6eae7;--line-2:#eff2f0;--brand:#0e9f6e;--brand-600:#0b8a5f;--brand-700:#0a7a55;--brand-50:#e6f6ef;--brand-100:#cfeede;--pay:#f2a825;--pay-ink:#7a4a05;--pay-50:#fff6e5;--pay-100:#fce9be;--danger:#e66a5a;--danger-50:#fdedea;--accent-hot:#e55a3f;--price-hot:#ff6a3d;--r-card:18px;--r-chip:999px;--r-btn:14px;--shadow-sm:0 1px 2px rgba(14,26,20,0.04),0 2px 6px rgba(14,26,20,0.04);--shadow-md:0 6px 18px rgba(14,26,20,0.08);--shadow-cta:0 8px 22px rgba(14,159,110,0.3);--font:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bg)}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font-family:inherit}.screen{background:var(--bg);min-height:100vh;max-width:480px;margin:0 auto;position:relative;padding-bottom:env(safe-area-inset-bottom)}.h1{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.25}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-sm)}.cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:56px;background:var(--brand);color:#fff;font-weight:700;font-size:17px;border:0;border-radius:16px;box-shadow:var(--shadow-cta);letter-spacing:-.01em;cursor:pointer}.cta:active{transform:translateY(1px)}.cta:disabled{opacity:.5;cursor:not-allowed}.cta.secondary{background:var(--surface);color:var(--ink);box-shadow:none;border:1px solid var(--line)}.cta.kakao{background:#fee500;color:#191600;box-shadow:0 6px 14px rgba(254,229,0,.4)}.sticky-cta{position:-webkit-sticky;position:sticky;bottom:0;left:0;right:0;padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(180deg,rgba(255,255,255,0) 0,var(--bg) 30%);z-index:30}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:14px;font-weight:600;border:1px solid var(--line);white-space:nowrap;cursor:pointer}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.status.wait{background:#fff5e0;color:#9c6a12}.status.urgent{background:var(--danger-50);color:#a33a2a}.status.review{background:#e6eefe;color:#1f4a9c}.status.done{background:var(--brand-50);color:var(--brand-600)}.status.paid{background:#eaefec;color:var(--ink-2)}.prod-card{background:var(--surface);border-radius:16px;overflow:hidden;border:1px solid var(--line-2)}.prod-card,.prod-meta{display:flex;flex-direction:column}.prod-meta{padding:12px 13px 14px;gap:6px}.prod-name{font-size:15px;line-height:1.4;color:var(--ink);font-weight:700;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}.prod-price-row{display:flex;align-items:baseline;gap:6px}.prod-price{font-size:15px;font-weight:800;color:var(--ink)}.prod-discount{font-size:14px;font-weight:800;color:#e55a3f}.prod-payback{align-items:center;padding:5px 8px;border-radius:8px;background:var(--pay-50);font-size:12px;font-weight:700;align-self:flex-start}.pay-amt,.prod-payback{display:inline-flex;gap:4px;color:var(--pay-ink)}.pay-amt{align-items:baseline;font-weight:800;letter-spacing:-.01em}.pay-amt .currency{font-size:.78em;font-weight:700}.pay-amt .label{font-size:.72em;font-weight:700;color:var(--pay-ink);opacity:.85;margin-left:2px}.ph-img{background:linear-gradient(135deg,var(--ph-a,#d6e6dd) 0,var(--ph-b,#b7d2c2) 100%);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-weight:800;font-size:14px;letter-spacing:.04em;position:relative;overflow:hidden}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.upload{width:100%;border:2px dashed #c7d5cd;border-radius:16px;background:var(--surface-2);padding:28px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-3);cursor:pointer}.ocr-field{position:relative}.ocr-field input{width:100%;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:15px;color:var(--ink);font-family:inherit}.ocr-field.auto input{background:#fffcef;border-color:#f2c94c}.ocr-field .auto-tag{position:absolute;top:-7px;right:10px;background:#f2c94c;color:#5a3d00;font-size:10px;font-weight:800;padding:2px 7px;border-radius:6px}.seg{display:flex;padding:3px;border-radius:12px;background:var(--surface-2);gap:3px}.seg .seg-btn{flex:1 1;padding:10px 12px;border-radius:9px;background:transparent;border:0;font-size:13px;font-weight:600;color:var(--ink-3);cursor:pointer}.seg .seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.sheet-back{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:70;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:50%;transform:translateX(-50%);right:auto;bottom:0;width:100%;max-width:480px;z-index:71;background:var(--surface);border-radius:24px 24px 0 0;padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);animation:sheetIn .35s cubic-bezier(.2,.8,.2,1)}@keyframes sheetIn{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.sheet .grabber{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.toast{position:fixed;left:50%;top:24px;transform:translateX(-50%);background:rgba(14,26,20,.92);color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:600;z-index:90;display:flex;align-items:center;gap:8px;animation:toastIn .35s cubic-bezier(.2,.8,.2,1)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.shimmer{position:relative;overflow:hidden;background:linear-gradient(135deg,#e6eeea,#d5ddda)}.shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55) 50%,transparent);transform:translateX(-100%);animation:shim 1.8s infinite}@keyframes shim{to{transform:translateX(100%)}}.page-enter{animation:pageIn .28s cubic-bezier(.2,.7,.2,1)}@keyframes pageIn{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}.card-tap{transition:opacity .15s,transform .15s}.card-tap:active{opacity:.85;transform:scale(.98)}