:root{--red:#E0142D;--red2:#B80F24;--gold:#FFC72C;--cream:#FFF8E9;--ink:#2A130B;--mut:#7a5f55;--card:#fff;--line:#f0e2c8;--ok:#1a9a52}
*{box-sizing:border-box}html,body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.4 Inter,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3{font-family:"Baloo 2",Inter,system-ui,sans-serif;margin:0}
#app{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:84px;position:relative}
.top{background:var(--red);color:#fff;padding:14px 16px 12px;position:sticky;top:0;z-index:20;border-radius:0 0 18px 18px;box-shadow:0 3px 12px #b80f2440}
.top .row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.logo{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:28px;letter-spacing:-.5px}.logo b{color:var(--gold)}
.tag{font-size:12px;opacity:.9}
.iconbtn{position:relative;background:#ffffff26;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:18px}
.dot{position:absolute;top:-2px;right:-2px;background:var(--gold);color:var(--ink);font-size:10px;font-weight:700;border-radius:9px;min-width:17px;height:17px;display:grid;place-items:center}
.filterbar{display:flex;gap:8px;padding:12px 14px 4px;align-items:center}
.fbtn{background:#fff;border:2px solid var(--red);color:var(--red);font-weight:700;border-radius:999px;padding:8px 14px;display:flex;gap:6px;align-items:center}
.fbtn.on{background:var(--red);color:#fff}
.pop{position:absolute;left:14px;right:14px;top:128px;background:#fff;border-radius:16px;box-shadow:0 12px 40px #0004;padding:14px;z-index:30}
.pop h4{margin:10px 0 6px;font-size:12px;text-transform:uppercase;color:var(--mut);letter-spacing:.06em}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:600;background:#fff}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pop input{border:1.5px solid var(--line);border-radius:10px;padding:8px;font:inherit}
.cards{padding:10px 14px;display:grid;gap:14px}
.card{background:var(--card);border-radius:18px;padding:14px;position:relative;box-shadow:0 2px 10px #2a130b14;border:2px solid transparent;cursor:pointer}
.card.rec{border-color:var(--gold);box-shadow:0 0 0 2px #ffc72c55,0 4px 16px #ffc72c66}
.rec-tag{position:absolute;top:-10px;left:14px;background:var(--gold);color:var(--ink);font-weight:800;font-size:11px;padding:3px 10px;border-radius:999px}
.burst{position:absolute;right:10px;top:-8px;background:var(--red);color:#fff;font-family:"Baloo 2";font-weight:800;font-size:17px;width:62px;height:62px;display:grid;place-items:center;text-align:center;line-height:1;clip-path:polygon(50% 0,61% 12%,76% 6%,80% 22%,95% 25%,89% 40%,100% 50%,89% 60%,95% 75%,80% 78%,76% 94%,61% 88%,50% 100%,39% 88%,24% 94%,20% 78%,5% 75%,11% 60%,0 50%,11% 40%,5% 25%,20% 22%,24% 6%,39% 12%)}
.card h3{font-size:18px;padding-right:66px;line-height:1.15}
.meta{color:var(--mut);font-size:13px;margin-top:3px}
.slotline{display:inline-flex;gap:5px;align-items:center;background:var(--cream);border-radius:8px;padding:3px 8px;font-weight:600;font-size:13px;margin-top:6px}
.pricebox{display:flex;align-items:baseline;gap:8px;margin-top:10px}
.price{font-family:"Baloo 2";font-size:28px;font-weight:800;color:var(--red)}
.was{text-decoration:line-through;color:var(--mut)}
.row2{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:12.5px;color:var(--mut)}
.scar{color:var(--red);font-weight:800;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.55}}
.cta{background:var(--red);color:#fff;font-weight:800;border-radius:12px;padding:12px;width:100%;margin-top:10px;font-family:"Baloo 2";font-size:18px;box-shadow:0 3px 0 var(--red2)}
.cta:active{transform:translateY(2px);box-shadow:none}.cta:disabled{background:#c9b8b0;box-shadow:none}
.cta.gold{background:var(--gold);color:var(--ink);box-shadow:0 3px 0 #d4a31a}
.ghost{border:2px solid var(--line);border-radius:12px;padding:10px;font-weight:700;width:100%;margin-top:8px;background:#fff}
.tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:#fff;display:flex;border-top:1px solid var(--line);z-index:25;padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;padding:10px 0 12px;font-weight:700;color:var(--mut);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px}
.tabs button.on{color:var(--red)}.tabs span{font-size:20px}
.sheetbg{position:fixed;inset:0;background:#0007;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:#fff;width:100%;max-width:480px;border-radius:22px 22px 0 0;padding:18px 16px 24px;max-height:92vh;overflow:auto}
.sheet h2{font-size:24px}.sheet label{display:block;font-weight:700;margin-top:12px;font-size:13px}
.sheet input,.sheet textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px;font:inherit;margin-top:4px}
.lock{background:var(--ink);color:#fff;border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;margin:10px 0;font-weight:700}
.lock .t{font-family:"IBM Plex Mono",monospace;font-size:22px;color:var(--gold)}
.sec{padding:6px 16px}.sec h3{margin:14px 0 8px;font-size:20px}
.bar{height:14px;border-radius:9px;background:#f3e6cc;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--red));transition:width .5s}
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-weight:700;font-size:12px}
.st-CONFIRMED{background:#d8f3e3;color:#0b6b36}.st-LOCKED{background:#fff1c2;color:#7a5a00}.st-FULFILLED{background:#e0e8ff;color:#27408f}
.st-NO_SHOW{background:#ffd9de;color:#a30c20}.st-DISPUTED{background:#ffe7cf;color:#a05200}.st-REFUNDED{background:#e0e8ff;color:#27408f}
.empty{text-align:center;color:var(--mut);padding:36px 20px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal div{padding:8px 0;border-radius:8px;font-size:13px}
.cal .h{font-size:11px;color:var(--mut)}.cal .has{background:var(--red);color:#fff;font-weight:800}.cal .today{outline:2px solid var(--gold)}
.sub{display:flex;gap:6px;margin:12px 16px 0;background:#f3e6cc;border-radius:12px;padding:4px}
.sub button{flex:1;padding:8px;border-radius:9px;font-weight:700;color:var(--mut)}.sub button.on{background:#fff;color:var(--red)}
.live{font-size:11px;background:#ffffff33;border-radius:9px;padding:2px 8px}
#toasts{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:99;display:grid;gap:6px;width:min(92vw,440px)}
.toast{background:var(--ink);color:#fff;padding:10px 14px;border-radius:12px;font-weight:600;box-shadow:0 6px 20px #0006}.toast.bad{background:var(--red)}.toast.good{background:var(--ok)}
.welcome{padding:40px 20px}.welcome input{width:100%;padding:14px;border-radius:12px;border:2px solid var(--line);font:inherit;margin:6px 0}
.quick{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.tierrow{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}
