:root{--berry: #d4537e;--berry-dark: #993556;--berry-deep: #4b1528;--pink-50: #fbeaf0;--pink-200: #ed93b1;--bg: #faf7f9;--card: #ffffff;--ink: #26212b;--muted: #8a7f85;--line: #efe8ec;--green: #1d9e75;--green-50: #e1f5ee;--red: #a32d2d;--red-50: #fcebeb;--amber-50: #faeeda;--amber-900: #633806}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Heebo,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.hdr{position:sticky;top:0;z-index:20;background:var(--pink-50);color:var(--berry-deep);padding:10px 14px;display:flex;align-items:center;gap:8px;padding-top:max(10px,env(safe-area-inset-top))}.hdr h1{font-size:17px;margin:0;font-weight:700}.hdr .stamp{font-size:17px;color:var(--berry-dark);direction:ltr;background:none;border:none;padding:6px 10px}.seg{display:flex;background:#fff9;border-radius:10px;padding:2px}.seg button{border:none;background:none;padding:5px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--berry-dark)}.seg button.on{background:#fff;color:var(--berry-deep);font-weight:700}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:active{transform:scale(.98)}.btn-primary{background:var(--berry);border-color:var(--berry);color:#fff}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-danger{background:var(--card);border-color:#f0c4c4;color:var(--red)}.btn-sm{padding:6px 10px;font-size:13px;border-radius:8px}.btn:disabled{opacity:.5}.input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;background:var(--card);color:var(--ink)}.input:focus{outline:2px solid var(--pink-200);outline-offset:0;border-color:var(--pink-200)}.field{margin-bottom:10px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.ltr{direction:ltr;text-align:left}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:12.5px;white-space:nowrap;font-weight:500}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.rows{flex:1}.row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--card)}.row.dim{opacity:.55}.row .thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--pink-50);flex-shrink:0}.row .thumb.ph{display:flex;align-items:center;justify-content:center;color:var(--berry);font-size:18px}.row .info{min-width:0;flex:1}.row .nm{font-size:14px;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .sb{font-size:11.5px;color:var(--muted);margin:1px 0 0}.row .side{text-align:left;flex-shrink:0}.row .pr{font-size:16px;font-weight:700;direction:ltr;margin:0}.badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;border-radius:999px;padding:5px 10px;min-height:28px;border:none;white-space:nowrap;color:#fff}.tag{font-size:10.5px;background:var(--red-50);color:var(--red);border-radius:6px;padding:1px 6px;font-weight:500}.fab{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));inset-inline-end:18px;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;border:none;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:30;box-shadow:0 4px 14px #26212b4d}@media (min-width: 520px){.fab{inset-inline-end:calc(50vw - 222px)}}.modal-bg{position:fixed;inset:0;background:#17131a80;z-index:50;display:flex;align-items:flex-end;justify-content:center;overscroll-behavior:contain}@media (min-width: 520px){.modal-bg{align-items:center}}.modal{background:var(--card);border-radius:18px 18px 0 0;width:100%;max-width:480px;max-height:88vh;max-height:86svh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding:12px;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}@media (min-width: 520px){.modal{border-radius:18px}}.modal h2{font-size:16px;margin:0 0 12px;font-weight:700}.sheet-grab{position:sticky;top:-16px;z-index:5;margin:-16px -16px 8px;padding:10px 12px 8px;background:var(--card);border-radius:18px 18px 0 0;display:flex;align-items:center;justify-content:center;touch-action:none}.sheet-pill{width:44px;height:5px;border-radius:3px;background:var(--line)}.sheet-x{position:absolute;inset-inline-end:6px;top:4px;border:none;background:none;color:var(--muted);font-size:16px;padding:8px 10px}.modal-actions{display:flex;gap:8px;margin-top:14px}.modal-actions .btn{flex:1}.toast{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:10px;padding:9px 16px;font-size:13.5px;z-index:100;max-width:90vw;text-align:center}.scan-bg{position:fixed;inset:0;background:#17131a;z-index:60;display:flex;flex-direction:column}.scan-top{display:flex;align-items:center;gap:10px;padding:14px;color:#cfc6cc;padding-top:max(14px,env(safe-area-inset-top))}.scan-top button{background:none;border:none;color:#cfc6cc;font-size:20px;padding:4px 8px}.scan-video-wrap{position:relative;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center}.scan-video-wrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.viewfinder{position:relative;width:78%;max-width:340px;height:130px;border:2px solid rgba(255,255,255,.9);border-radius:14px;z-index:2}.scan-hint{position:absolute;bottom:12px;z-index:2;color:#ffffffbf;font-size:12px;text-align:center;width:100%}.scan-bottom{background:#241e29;padding:10px 14px calc(12px + env(safe-area-inset-bottom));z-index:2}.scan-manual{display:flex;gap:8px}.scan-manual input{flex:1;background:#17131a;border:1px solid #3a3242;color:#fff;border-radius:8px;padding:8px 10px;font-size:16px}.scan-result{background:var(--card);color:var(--ink);border-radius:16px 16px 0 0;padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.auth-wrap{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:24px;max-width:400px;margin:0 auto;width:100%}.auth-logo{text-align:center;font-size:44px;margin-bottom:6px}.auth-wrap h1{text-align:center;font-size:22px;margin:0 0 20px;color:var(--berry-deep)}.center{min-height:60dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);padding:20px;text-align:center}.spinner{width:26px;height:26px;border:3px solid var(--pink-50);border-top-color:var(--berry);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.offline-chip{font-size:11px;background:var(--amber-50);color:var(--amber-900);border-radius:999px;padding:2px 8px;font-weight:500}.mut{color:var(--muted)}.empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px}.selbar{position:sticky;bottom:0;z-index:25;background:var(--ink);color:#fff;display:flex;gap:8px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.selbar .btn{border-color:#ffffff40;background:none;color:#fff}.checkbox{width:20px;height:20px;accent-color:var(--berry);flex-shrink:0}.color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0}.palette{display:flex;gap:8px;flex-wrap:wrap}.palette button{width:30px;height:30px;border-radius:50%;border:2px solid transparent}.palette button.on{border-color:var(--ink)}.tier-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.tier-row .input{width:0;flex:1}.deal-chipset{display:flex;gap:6px;flex-wrap:wrap}.menu-pop{position:absolute;top:100%;inset-inline-end:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;z-index:40;box-shadow:0 6px 20px #26212b26;min-width:180px}.menu-pop button{display:flex;width:100%;border:none;background:none;padding:10px 12px;font-size:14px;border-radius:8px;text-align:start;gap:8px;align-items:center}.menu-pop button:active{background:var(--bg)}
