@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--blue: #3b66f5;--blue-700: #2748c4;--blue-400: #6e8cff;--blue-200: #c7d4ff;--blue-100: #dce4ff;--blue-50: #eef2ff;--ink: #0f172a;--ink-800: #1e293b;--ink-700: #334155;--slate-600: #475569;--slate-500: #64748b;--slate-400: #94a3b8;--line: #e2e8f0;--surface: #f3f5fa;--bg: #fafcff;--green: #16a34a;--green-bg: #dcfce7;--amber: #92700c;--amber-bg: #fff3cd;--red: #b91c1c;--red-bg: #fee2e2;--tg: #229ed9;--border: rgba(15, 23, 42, .06);--shadow: 0 6px 18px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .06);--font: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{flex:none}:focus-visible{outline:3px solid rgba(59,102,245,.45);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes pulseGlow{0%,to{box-shadow:0 0 #3b66f559}50%{box-shadow:0 0 0 10px #3b66f500}}@keyframes pulseWhite{0%,to{box-shadow:0 0 #ffffff80}50%{box-shadow:0 0 0 8px #fff0}}@keyframes scanline{0%{top:6%}50%{top:92%}to{top:6%}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes typing{0%,60%,to{opacity:.25}30%{opacity:1}}.app{max-width:480px;margin:0 auto;height:100%;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden}.screen{flex:1;display:flex;flex-direction:column;min-height:0;animation:fadeUp .22s ease}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.pad{padding:0 20px 20px}.pad-t{padding-top:16px}.stack{display:flex;flex-direction:column;gap:10px}.stack-14{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.has-nav .scroll{padding-bottom:calc(100px + var(--safe-bottom))}.page-head{flex:none;padding:12px 20px 10px;display:flex;align-items:center;gap:12px}.page-head.bordered{border-bottom:1px solid rgba(15,23,42,.05);padding-bottom:14px}.page-title{font-size:15px;font-weight:800}.page-sub{font-size:11.5px;color:var(--slate-500)}.h-title{font-size:20px;font-weight:800;letter-spacing:-.01em}.icon-btn{width:38px;height:38px;border-radius:12px;background:var(--surface);border:none;display:flex;align-items:center;justify-content:center;position:relative;color:var(--ink);flex:none;transition:transform .1s}.icon-btn:active{transform:scale(.94)}.icon-btn.sm{width:34px;height:34px;border-radius:11px}.icon-btn.blue{background:var(--blue-50);color:var(--blue);width:40px;height:40px}.dot-badge{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:999px;background:#ffc107}.count-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.link-btn{background:none;border:none;color:var(--blue);font-size:12.5px;font-weight:700;padding:4px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px}.bottom-nav{position:absolute;left:0;right:0;bottom:0;padding:0 20px calc(18px + var(--safe-bottom));pointer-events:none;z-index:20}.bottom-nav-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-around;background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:26px;padding:10px 6px;box-shadow:0 16px 36px #0f172a1a}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9.5px;font-weight:600;color:var(--slate-400);min-width:56px;padding:2px 0}.nav-item.active{color:var(--blue);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;font-weight:700;font-size:13.5px;padding:12px 20px;border-radius:14px;white-space:nowrap;transition:transform .1s ease,opacity .2s,background-color .2s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-soft{background:var(--surface);color:var(--ink)}.btn-soft-blue{background:var(--surface);color:var(--blue)}.btn-white{background:#fff;color:var(--blue)}.btn-pill{border-radius:999px}.btn-block{width:100%}.btn-lg{padding:15px 20px;font-size:14.5px;border-radius:16px}.btn-sm{padding:10px 22px;font-size:13px;border-radius:999px}.footer-bar{flex:none;padding:12px 20px calc(18px + var(--safe-bottom));background:linear-gradient(180deg,rgba(250,252,255,0),var(--bg) 30%)}.pill{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;flex:none}.pill-blue{color:var(--blue);background:var(--blue-50)}.pill-green{color:var(--green);background:var(--green-bg)}.pill-amber{color:var(--amber);background:var(--amber-bg)}.pill-red{color:var(--red);background:var(--red-bg)}.pill-gray{color:var(--slate-600);background:var(--surface)}.pill-solid{color:#fff;background:var(--blue);font-size:10px;font-weight:800}.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:8px 15px;border-radius:999px;background:var(--surface);font-size:12.5px;font-weight:600;color:var(--slate-600);border:none;transition:all .15s}.chip.active{background:var(--blue);color:#fff;font-weight:700}.toggle-chip{padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:12.5px;font-weight:600;color:var(--slate-600)}.toggle-chip.active{border-color:var(--blue);background:var(--blue-50);color:var(--blue);font-weight:700}.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.card-lg{border-radius:22px;padding:16px;box-shadow:var(--shadow-md)}.card-featured{border:1.5px solid var(--blue);box-shadow:0 14px 32px #3b66f524;position:relative}.card-flag{position:absolute;top:-10px;left:16px}.tile{background:var(--surface);border-radius:18px;padding:16px}.list-card{display:flex;align-items:center;gap:12px}.title-sm{font-size:13.5px;font-weight:700}.title-md{font-size:14.5px;font-weight:800}.sub{font-size:11.5px;color:var(--slate-500);margin-top:2px}.muted{color:var(--slate-400)}.section-title{font-size:16px;font-weight:800}.section-label{font-size:11.5px;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.dashed-top{border-top:1px dashed rgba(15,23,42,.1);padding-top:10px}.price{font-weight:800;white-space:nowrap}.price small{font-size:11px;color:var(--slate-500);font-weight:700}.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:12.5px}.kv+.kv{border-top:1px dashed rgba(15,23,42,.1)}.kv span{color:var(--slate-500);font-weight:600}.kv b{font-weight:700;text-align:right}.kv.total{font-size:15px}.kv.total span{color:var(--ink);font-weight:800}.kv.total b{font-weight:800;color:var(--blue)}.avatar{border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}.tone-blue{background:linear-gradient(135deg,#e0e7ff,#c7d4ff);color:var(--blue)}.tone-orange{background:linear-gradient(135deg,#ffe8cc,#ffd199);color:#c2660f}.tone-green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.tone-violet{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.search{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:999px;padding:6px 6px 6px 16px;color:var(--slate-400)}.search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:13.5px;font-weight:500;color:var(--ink);padding:7px 0}.search input::placeholder{color:var(--slate-400)}.search .round{width:32px;height:32px;border-radius:999px;background:var(--blue);color:#fff;border:none;display:flex;align-items:center;justify-content:center}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11.5px;font-weight:700;color:var(--slate-500)}.input,.textarea{width:100%;padding:13px 14px;background:var(--surface);border:1.5px solid transparent;border-radius:13px;font-size:13.5px;font-weight:600;outline:none;transition:border-color .15s,background-color .15s}.input:focus,.textarea:focus{border-color:var(--blue);background:#fff}.input::placeholder,.textarea::placeholder{color:var(--slate-400);font-weight:500}.textarea{resize:none;min-height:96px;line-height:1.5}.radio-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#fff;border:1.5px solid var(--border);width:100%;text-align:left}.radio-card.active{border-color:var(--blue);background:var(--blue-50)}.radio-dot{width:20px;height:20px;border-radius:999px;border:2px solid var(--line);flex:none;display:flex;align-items:center;justify-content:center}.radio-card.active .radio-dot{border-color:var(--blue)}.radio-card.active .radio-dot:after{content:"";width:10px;height:10px;border-radius:999px;background:var(--blue)}.skeleton{border-radius:18px;background:linear-gradient(90deg,#eef1f7 0,#f7f9fc 40px,#eef1f7 80px);background-size:400px 100%;animation:shimmer 1.2s infinite linear}.empty{text-align:center;padding:48px 24px;color:var(--slate-500);display:flex;flex-direction:column;align-items:center;gap:10px}.empty-icon{width:64px;height:64px;border-radius:20px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--slate-400)}.empty b{color:var(--ink);font-size:15px}.empty p{margin:0;font-size:13px;line-height:1.5}.toast-host{position:absolute;left:0;right:0;top:12px;display:flex;justify-content:center;z-index:100;pointer-events:none;padding:0 16px}.toast{background:var(--ink);color:#fff;padding:11px 16px;border-radius:14px;font-size:13px;font-weight:600;box-shadow:0 16px 36px #0f172a40;animation:fadeUp .2s ease;max-width:100%}.toast.error{background:#b91c1c}.sheet-backdrop{position:absolute;inset:0;background:#0f172a66;z-index:60;display:flex;align-items:flex-end;animation:fadeUp .15s ease}.sheet{width:100%;background:#fff;border-radius:26px 26px 0 0;padding:10px 20px calc(20px + var(--safe-bottom));max-height:88%;overflow-y:auto}.sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 14px}.map{position:relative;background:#e7ecf7;overflow:hidden;isolation:isolate;z-index:0}.map .leaflet-container{width:100%;height:100%;background:#e7ecf7;font-family:var(--font)}.map-pin-me{width:18px;height:18px;border-radius:999px;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 6px #3b66f533}.map-pin-price{transform:translate(-50%,-100%);display:inline-block;white-space:nowrap;background:#fff;color:var(--ink);font-size:11.5px;font-weight:800;padding:6px 10px;border-radius:999px;box-shadow:0 6px 16px #0f172a2e;border:1.5px solid transparent;position:relative}.map-pin-price:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:inherit;transform:translate(-50%) rotate(45deg);border-right:inherit;border-bottom:inherit}.map-pin-price.active{background:var(--blue);color:#fff}.map-overlay{position:absolute;z-index:500}.leaflet-pane,.leaflet-control{z-index:1}.leaflet-top,.leaflet-bottom{z-index:400}.leaflet-control-attribution{font-size:9px}.login{background:radial-gradient(120% 60% at 50% 0%,var(--blue-50) 0%,var(--bg) 60%)}.login-body{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:40px;padding-bottom:calc(28px + var(--safe-bottom))}.login-hero{text-align:center;margin-bottom:26px}.login-logo{width:88px;height:88px;margin:0 auto 18px;border-radius:26px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px #3b66f529}.login-title{margin:0 0 8px;font-size:24px;font-weight:800;letter-spacing:-.02em}.login-sub{margin:0 auto;max-width:320px;font-size:13.5px;line-height:1.55;color:var(--slate-500)}.login-card{display:flex;flex-direction:column;gap:12px;padding:20px}.login-label{font-size:12px;font-weight:700;color:var(--slate-500);text-align:center}.login-provider{position:relative;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:6px}.login-google,.login-telegram{width:100%;display:flex;justify-content:center;min-height:44px}.login-skeleton{position:absolute;inset:0;height:44px;border-radius:999px;background:linear-gradient(90deg,var(--surface) 0,#fff 50%,var(--surface) 100%);background-size:400px 100%;animation:shimmer 1.2s linear infinite;pointer-events:none}.login-fallback{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:999px}.login-hint{font-size:11.5px;color:var(--slate-400)}.login-or{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;color:var(--slate-400)}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--line)}.login-busy{text-align:center;font-size:12.5px;font-weight:600;color:var(--blue)}.login-card[aria-busy=true] .login-provider{opacity:.5;pointer-events:none}.login-note{display:flex;gap:8px;align-items:flex-start;justify-content:center;margin-top:18px;font-size:11.5px;line-height:1.5;color:var(--slate-400);text-align:left;max-width:340px;align-self:center}.login-note svg{color:var(--green);margin-top:1px}
