:root{--bg: var(--tg-theme-bg-color, #ffffff);--bg2: var(--tg-theme-secondary-bg-color, #f2f1ee);--card: var(--tg-theme-section-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1c1d21);--hint: var(--tg-theme-hint-color, #8a8d94);--link: var(--tg-theme-link-color, #17804a);--sep: color-mix(in srgb, var(--hint) 22%, transparent);--accent: #17804a;--accent-ink: #ffffff;--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--ok: #2b9b67;--ok-soft: color-mix(in srgb, var(--ok) 14%, transparent);--warn: #c98a12;--warn-soft: color-mix(in srgb, var(--warn) 16%, transparent);--bad: #d23b3b;--bad-soft: color-mix(in srgb, var(--bad) 13%, transparent);--mute-soft: color-mix(in srgb, var(--hint) 16%, transparent);--r: 14px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;color-scheme:light dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg2);color:var(--text);font:15px/1.4 var(--font)}body{min-height:100vh;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--link);text-decoration:none}.app{max-width:720px;margin:0 auto;padding:12px 16px calc(84px + env(safe-area-inset-bottom))}.app.admin{max-width:980px}h1{font-size:24px;line-height:1.2;margin:8px 0 14px;letter-spacing:-.01em;font-weight:700}h2{font-size:16px;color:var(--text);font-weight:650;margin:26px 2px 8px}.muted{color:var(--hint)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack>*+*{margin-top:10px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sheet-cta{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));margin:0 -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg2);border-top:1px solid var(--sep)}.card{background:var(--card);border-radius:var(--r);padding:14px 16px}.list{background:var(--card);border-radius:var(--r);overflow:hidden}.item{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;background:none;border:0;text-align:left;cursor:pointer}.item+.item{border-top:1px solid var(--sep)}.item:active{background:var(--mute-soft)}button.hero:active{background:var(--card);opacity:.85}.btn:active:not(:disabled){transform:scale(.98)}.item .chev{color:var(--hint);font-size:18px}.item-title{font-weight:560}.hero{background:var(--card);border-radius:var(--r);padding:16px}.chip .note{font-size:12px;font-weight:600;margin-left:5px;opacity:.75}.hero .big{font-size:30px;font-weight:760;letter-spacing:-.02em}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tile{background:var(--card);border-radius:var(--r);padding:12px 14px}.tile .v{font-size:21px;font-weight:720;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.tile .l{color:var(--hint);font-size:12.5px;margin-top:2px}@media (min-width: 640px){.tiles.four{grid-template-columns:repeat(4,1fr)}.tiles.three{grid-template-columns:repeat(3,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:11px 16px;font-weight:600;cursor:pointer;background:var(--accent);color:var(--accent-ink)}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%;padding:14px;font-size:16px}.btn.ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.btn.plain{background:var(--mute-soft);color:var(--text)}.btn.ok{background:var(--ok)}.btn.bad{background:var(--bad-soft);color:var(--bad)}.btn.text-bad{background:none;color:var(--bad);font-size:15px;padding:10px}.btn.sm{padding:7px 11px;font-size:13.5px;border-radius:10px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.b-awaiting_payment,.b-pending{background:var(--mute-soft);color:var(--hint)}.b-on_review{background:var(--warn-soft);color:var(--warn)}.b-confirmed{background:var(--ok-soft);color:var(--ok)}.b-rejected,.b-reversed{background:var(--bad-soft);color:var(--bad)}.b-cancelled{background:var(--mute-soft);color:var(--hint);text-decoration:line-through}.b-available{background:var(--ok-soft);color:var(--ok)}.b-hidden{background:var(--mute-soft);color:var(--hint)}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:13px;color:var(--hint);margin:0 2px 5px}.input{width:100%;padding:11px 12px;border-radius:11px;border:1px solid var(--sep);background:var(--bg);outline:none}.input:focus{border-color:var(--accent)}textarea.input{min-height:90px;resize:vertical}.seg{display:flex;background:var(--mute-soft);border-radius:11px;padding:3px;gap:2px;overflow-x:auto}.seg button{flex:1;border:0;background:none;padding:7px 10px;border-radius:9px;font-size:13.5px;font-weight:560;white-space:nowrap;cursor:pointer}.seg button.on{background:var(--card);box-shadow:0 1px 2px #00000014}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip{border:0;background:var(--card);padding:8px 13px;border-radius:999px;white-space:nowrap;font-weight:560;cursor:pointer}.chip.on{background:var(--accent);color:var(--accent-ink)}.tabbar{position:fixed;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--sep);display:flex;justify-content:center;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10}.tabbar-inner{display:flex;width:100%;max-width:720px;overflow-x:auto;scrollbar-width:none}.tab{flex:1;min-width:62px;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--hint);padding:4px 2px;cursor:pointer;position:relative}.tab svg{width:24px;height:24px}.tab.on{color:var(--accent)}.tab .dot{position:absolute;top:0;right:calc(50% - 18px);min-width:17px;height:17px;border-radius:9px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 4px}details.fold>summary{cursor:pointer;font-weight:600;list-style:none}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary:after{content:" ›";color:var(--hint)}details.fold[open]>summary:after{content:" ⌄"}.savebar{position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom));z-index:9;display:flex;gap:8px;padding:10px 16px;background:var(--bg2);border-top:1px solid var(--sep);max-width:980px;margin:0 auto}.back{border:0;background:none;color:var(--link);padding:4px 0;font-size:15px;cursor:pointer;margin-bottom:2px}.copy{display:flex;align-items:center;gap:8px;background:var(--bg2);border-radius:11px;padding:10px 12px}.copy code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.empty{text-align:center;padding:32px 16px;color:var(--hint)}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--sep)}.tl{position:relative;padding:4px 0 10px}.tl:before{content:"";position:absolute;left:-17px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--card);border:2px solid var(--accent)}.bars{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:8px}.bar{flex:1;background:var(--accent);border-radius:4px 4px 1px 1px;min-height:2px;opacity:.9;position:relative}.bar.zero{background:var(--sep)}.bar:hover{opacity:1}.hbar{height:6px;border-radius:3px;background:var(--accent-soft);margin-top:6px;overflow:hidden}.hbar>i{display:block;height:100%;background:var(--accent);border-radius:3px}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;color:var(--hint);font-weight:560;font-size:12.5px;padding:8px 10px}table.t td{padding:10px;border-top:1px solid var(--sep)}table.t tr.click{cursor:pointer}table.t tr.click:active td{background:var(--mute-soft)}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:12px;font-weight:560;z-index:50;max-width:90vw;text-align:center;animation:pop .18s ease-out}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.sheet{background:var(--bg2);width:100%;max-width:720px;max-height:88vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));animation:up .2s ease-out}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(30px);opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--mute-soft),var(--sep),var(--mute-soft));background-size:200% 100%;animation:sh 1.2s infinite;border-radius:var(--r);height:64px}@keyframes sh{to{background-position:-200% 0}}.receipt{width:100%;border-radius:12px;background:var(--bg2);display:block;max-height:70vh;object-fit:contain}.bubble{max-width:82%;padding:9px 12px;border-radius:16px;white-space:pre-wrap;word-wrap:break-word}.bubble.in{background:var(--card);border-bottom-left-radius:5px}.bubble.out{background:var(--accent);color:var(--accent-ink);margin-left:auto;border-bottom-right-radius:5px}.bubble .meta{font-size:11px;opacity:.7;margin-top:3px}.scroll-x{overflow-x:auto}
