:root{--tg-bg:#17212B;--tg-sec:#232E3A;--tg-card:#1E2833;--tg-txt:#FFFFFF;--tg-hint:#7D8B99;--tg-link:#64B5EF;--tg-btn:#5288C1;--tg-btn-txt:#FFFFFF;--ok:#4CAF50;--warn:#E0A340;--bad:#E5645C;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--safe-b: env(safe-area-inset-bottom)}:root[data-scheme=light]{--ok:#1F8B3D;--warn:#9A6700;--bad:#CF222E}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--tg-bg);color:var(--tg-txt);font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select,textarea{font:inherit;color:var(--tg-txt);background:var(--tg-sec);border:1px solid transparent;border-radius:10px;padding:10px 12px;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--tg-link)}.app{display:flex;flex-direction:column;height:100%}.tabs{display:flex;background:var(--tg-sec);flex:none;position:sticky;top:0;z-index:5}.tab{flex:1;padding:12px 4px;font-size:13.5px;color:var(--tg-hint)}.tab.on{color:var(--tg-link);font-weight:600;box-shadow:inset 0 -2px 0 var(--tg-link)}.screen{flex:1;overflow-y:auto;padding-bottom:calc(84px + var(--safe-b))}.center{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.pad{padding:24px;text-align:center}.hint{color:var(--tg-hint);font-size:13.5px;margin:4px 0}.spinner{width:26px;height:26px;border:2px solid var(--tg-sec);border-top-color:var(--tg-link);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.search{margin:10px 12px}.row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--tg-sec)}.row-main{flex:1;min-width:0}.row-title{font-size:15px;font-weight:500}.row-sub{font-size:12px;color:var(--tg-hint);margin-top:2px}.row-price{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.row-price s{display:block;font-size:11.5px;color:var(--tg-hint);text-decoration:none}.step{display:flex;align-items:center;gap:3px;flex:none}.step b{min-width:26px;text-align:center;font-family:var(--mono);font-size:15px}.sbtn{width:32px;height:32px;border-radius:9px;background:var(--tg-sec);color:var(--tg-link);display:grid;place-items:center;font-size:19px;line-height:1}.sbtn.pri{background:var(--tg-btn);color:var(--tg-btn-txt)}.sbtn:disabled{opacity:.35}.chips{display:flex;gap:6px;padding:10px 12px;overflow-x:auto}.chip{padding:6px 13px;border-radius:999px;background:var(--tg-sec);color:var(--tg-hint);font-size:13px;white-space:nowrap;flex:none}.chip.on{background:var(--tg-btn);color:var(--tg-btn-txt);font-weight:600}.card{margin:12px;background:var(--tg-card);border-radius:12px;overflow:hidden}.card-h{padding:10px 14px;font-size:11.5px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.kv{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--tg-sec);font-size:14px}.kv .k{color:var(--tg-hint)}.kv .v{font-family:var(--mono);font-variant-numeric:tabular-nums}.kv.big .v{font-size:16px;font-weight:600}.kv.good .v{color:var(--ok);font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px}.tile{background:var(--tg-card);border-radius:12px;padding:12px}.tile .lab{font-size:11px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.05em}.tile .val{font-family:var(--mono);font-size:19px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.tile .val.good{color:var(--ok)}.tile .delta{font-size:11.5px;margin-top:3px}.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}.bars{display:flex;align-items:flex-end;gap:5px;height:90px;padding:12px 14px 0}.bars i{flex:1;background:var(--tg-btn);border-radius:3px 3px 0 0;min-height:3px}.barlab{display:flex;gap:5px;padding:6px 14px 12px;font-size:10px;color:var(--tg-hint)}.barlab span{flex:1;text-align:center}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.ok{background:var(--ok)}.dot.wait{background:var(--warn)}.dot.off{background:var(--tg-hint)}.btn{display:block;width:calc(100% - 24px);margin:12px;padding:13px;border-radius:11px;background:var(--tg-btn);color:var(--tg-btn-txt);font-weight:600;text-align:center}.btn.sec{background:var(--tg-sec);color:var(--tg-link)}.btn.danger{background:transparent;color:var(--bad)}.actions{display:flex;gap:8px;padding:0 12px 12px}.actions .btn{margin:0;flex:1}.empty{padding:40px 24px;text-align:center;color:var(--tg-hint);font-size:14px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:20}.sheet-in{background:var(--tg-bg);width:100%;border-radius:16px 16px 0 0;padding:16px 0 calc(16px + var(--safe-b));max-height:82%;overflow-y:auto}.sheet-h{padding:0 16px 12px;font-size:16px;font-weight:600}.field{padding:8px 14px}.field label{display:block;font-size:12px;color:var(--tg-hint);margin-bottom:5px}
