.navbar[data-v-ce75d5d1]{position:fixed;top:0;left:0;right:0;z-index:100;--nav-bg: rgba(13, 19, 31, .94);--nav-border: #1e2a3b;--nav-accent: #3b82f6;--nav-text: #f8fafc;--nav-muted: #94a3b8;background:var(--nav-bg);border-bottom:1px solid var(--nav-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:Plus Jakarta Sans,Segoe UI,system-ui,-apple-system,sans-serif}.nav-inner[data-v-ce75d5d1]{height:var(--nav-h);display:flex;align-items:center;padding:0 20px;gap:8px;max-width:1720px;margin-inline:auto}.logo[data-v-ce75d5d1]{text-decoration:none;display:flex;align-items:center;gap:9px;flex-shrink:0;margin-right:10px}.logo-plate[data-v-ce75d5d1]{display:flex;padding:2px;border-radius:9px;background:#140e09cc;border:1px solid rgba(245,158,11,.32);transition:border-color .15s}.logo:hover .logo-plate[data-v-ce75d5d1]{border-color:#fbbf249e}.nav-logo[data-v-ce75d5d1]{height:26px;width:26px;display:block;border-radius:7px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(245,158,11,.25))}.logo-type[data-v-ce75d5d1]{display:flex;flex-direction:column;gap:1px}.logo-name-row[data-v-ce75d5d1]{display:flex;align-items:center;gap:6px}.logo-name[data-v-ce75d5d1]{font-family:ui-serif,Georgia,Times New Roman,serif;font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--nav-text);line-height:1.05;white-space:nowrap}.logo-name-lab[data-v-ce75d5d1]{color:#e2e8f0}.logo-tier[data-v-ce75d5d1]{font-family:var(--font-num, ui-monospace, monospace);font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:4px;background:#f59e0b26;color:#fcd34d;border:1px solid rgba(245,158,11,.32)}.logo-sub[data-v-ce75d5d1]{font-family:var(--font-num, ui-monospace, monospace);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fbbf24c7;line-height:1;white-space:nowrap}.logo-tier.tier-admin[data-v-ce75d5d1]{background:#a855f729;border-color:#a855f757}.logo-tier.tier-coach[data-v-ce75d5d1]{background:#f59e0b26;border-color:#f59e0b52}.logo-tier.tier-member[data-v-ce75d5d1]{background:#3b82f629;border-color:#3b82f657}.logo-tier.tier-free[data-v-ce75d5d1]{background:#94a3b824;border-color:#94a3b84d}.tier-admin[data-v-ce75d5d1]{color:#d8b4fe}.tier-coach[data-v-ce75d5d1]{color:#fcd34d}.tier-member[data-v-ce75d5d1]{color:#93c5fd}.tier-free[data-v-ce75d5d1]{color:#cbd5e1}.logo-compact .logo-type[data-v-ce75d5d1]{display:none}.nav-links[data-v-ce75d5d1]{display:flex;align-items:center;gap:2px;flex:1;overflow:hidden}.nav-link[data-v-ce75d5d1]{position:relative;height:var(--nav-h);font-size:13px;font-weight:500;color:var(--nav-muted);text-decoration:none;padding:0 7px;transition:color .12s,background .12s;display:flex;align-items:center;gap:5px;white-space:nowrap}.nav-ico[data-v-ce75d5d1]{width:13px;height:13px;flex-shrink:0;opacity:.85}.nav-link[data-v-ce75d5d1]:before{content:"";position:absolute;top:9px;right:1px;bottom:9px;left:1px;border-radius:7px;background:transparent;transition:background .12s}.nav-link[data-v-ce75d5d1]>*{position:relative}.nav-link[data-v-ce75d5d1]:hover{color:var(--nav-text)}.nav-link[data-v-ce75d5d1]:hover:before{background:#ffffff0f}.nav-link:hover .nav-ico[data-v-ce75d5d1]{opacity:1}.nav-link.router-link-active[data-v-ce75d5d1]{color:var(--nav-accent);font-weight:600}.nav-link.router-link-active .nav-ico[data-v-ce75d5d1]{opacity:1}.nav-link.router-link-active[data-v-ce75d5d1]:before{background:color-mix(in srgb,currentColor 15%,transparent)}.nav-link.router-link-active[data-v-ce75d5d1]:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:currentColor;border-radius:2px 2px 0 0;box-shadow:0 0 8px currentColor}.coach-link[data-v-ce75d5d1]{color:#fbbf24}.coach-link[data-v-ce75d5d1]:hover{color:#fcd34d}.coach-link.router-link-active[data-v-ce75d5d1]{color:#fbbf24}.engine-link[data-v-ce75d5d1]{color:#34d399}.engine-link[data-v-ce75d5d1]:hover{color:#6ee7b7}.admin-link[data-v-ce75d5d1]{color:#c084fc}.admin-link[data-v-ce75d5d1]:hover{color:#d8b4fe}.admin-link.router-link-active[data-v-ce75d5d1]{color:#c084fc}.nav-more[data-v-ce75d5d1]{position:relative;flex-shrink:0}.nav-more-btn[data-v-ce75d5d1]{background:none;border:none;cursor:pointer;font:inherit;font-size:13px}.more-caret[data-v-ce75d5d1]{font-size:10px;transition:transform .15s}.more-caret.open[data-v-ce75d5d1]{transform:rotate(180deg)}.nav-more-menu[data-v-ce75d5d1]{position:fixed;background:#121927;border:1px solid var(--nav-border);border-radius:12px;padding:6px;min-width:176px;display:flex;flex-direction:column;gap:2px;box-shadow:0 12px 30px #0000008c;z-index:200}.nav-more-item[data-v-ce75d5d1]{font-size:13px;font-weight:500;color:var(--nav-muted);text-decoration:none;padding:7px 10px;border-radius:7px;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:color .12s,background .12s}.nav-more-item[data-v-ce75d5d1]:hover{color:var(--nav-text);background:#ffffff0f}.nav-more-item.router-link-active[data-v-ce75d5d1]{color:var(--nav-accent);background:color-mix(in srgb,var(--nav-accent) 16%,transparent)}.nav-more-item.coach-link[data-v-ce75d5d1]{color:#a78bfa}.nav-more-item.admin-link[data-v-ce75d5d1]{color:#fbbf24}.nav-right[data-v-ce75d5d1]{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.live-dot[data-v-ce75d5d1]{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--muted);flex-shrink:0}.live-dot.live[data-v-ce75d5d1]{background:#4caf50;box-shadow:0 0 4px #4caf50}.live-dot.slow[data-v-ce75d5d1]{background:#ff9800}.live-dot.offline[data-v-ce75d5d1]{background:#f44336}.btn-sm[data-v-ce75d5d1]{padding:4px 10px;font-size:12px}.nav-logout[data-v-ce75d5d1]{display:flex;align-items:center;justify-content:center;color:var(--nav-muted);background:transparent;border:none;border-radius:8px;padding:7px;cursor:pointer;transition:color .12s,background .12s}.nav-logout[data-v-ce75d5d1]:hover{color:#fb7185;background:#f43f5e1f}.nav-logout .nav-ico[data-v-ce75d5d1]{width:16px;height:16px;opacity:1}.nav-user[data-v-ce75d5d1]{display:flex;align-items:center;gap:9px;padding:4px 7px 4px 5px;border-radius:11px;border:1px solid transparent;text-decoration:none;transition:border-color .12s,background .12s}.nav-user[data-v-ce75d5d1]:hover{border-color:var(--nav-border);background:#ffffff0a}.nav-user.router-link-active[data-v-ce75d5d1]{border-color:color-mix(in srgb,var(--nav-accent) 50%,transparent);background:color-mix(in srgb,var(--nav-accent) 12%,transparent)}.nav-user-text[data-v-ce75d5d1]{display:flex;flex-direction:column;gap:1px;line-height:1.15}.nav-user-name[data-v-ce75d5d1]{font-size:12px;font-weight:600;color:#e2e8f0;white-space:nowrap}.nav-user-role[data-v-ce75d5d1]{font-family:var(--font-num, ui-monospace, monospace);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.nav-user-caret[data-v-ce75d5d1]{width:13px;height:13px;color:var(--nav-muted);flex-shrink:0}.nav-user.router-link-active .nav-user-name[data-v-ce75d5d1]{color:#93c5fd}.nav-user.router-link-active .nav-user-caret[data-v-ce75d5d1]{color:var(--nav-accent)}.nav-avatar[data-v-ce75d5d1]{display:flex;align-items:center;text-decoration:none}.avatar-circle[data-v-ce75d5d1]{position:relative;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#334155,#1e293b);display:flex;align-items:center;justify-content:center;overflow:visible;transition:box-shadow .15s;box-shadow:0 0 0 2px color-mix(in srgb,var(--nav-accent) 40%,transparent)}.nav-avatar:hover .avatar-circle[data-v-ce75d5d1]{box-shadow:0 0 0 2px var(--nav-accent)}.avatar-circle img[data-v-ce75d5d1]{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-initials[data-v-ce75d5d1]{font-size:12px;font-weight:700;color:#cbd5e1}.avatar-dot[data-v-ce75d5d1]{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:#22c55e;border:2px solid #0d131f}.hamburger[data-v-ce75d5d1]{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;cursor:pointer;flex-shrink:0}.hamburger span[data-v-ce75d5d1]{display:block;width:22px;height:2px;background:var(--nav-text);border-radius:2px}.mobile-menu[data-v-ce75d5d1]{background:#0d131f;border-top:1px solid var(--nav-border);padding:8px 0 12px;display:flex;flex-direction:column}.mobile-link[data-v-ce75d5d1]{font-size:14px;font-weight:500;color:var(--nav-text);text-decoration:none;padding:11px 20px;border-bottom:1px solid var(--nav-border);display:block}.mobile-link[data-v-ce75d5d1]:hover{background:#ffffff0d}.mobile-link.router-link-active[data-v-ce75d5d1]{color:var(--nav-accent);box-shadow:inset 3px 0 0 var(--nav-accent)}.mobile-logout[data-v-ce75d5d1]{margin:12px 20px 0;width:calc(100% - 40px);text-align:center}.mobile-avatar[data-v-ce75d5d1]{display:none}@media (max-width: 768px){.nav-links[data-v-ce75d5d1],.nav-right[data-v-ce75d5d1]{display:none}.hamburger[data-v-ce75d5d1]{display:flex}.mobile-avatar[data-v-ce75d5d1]{display:flex;align-items:center;margin-left:auto;text-decoration:none}}.pub-nav[data-v-6261cbab]{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:100}.pub-nav-inner[data-v-6261cbab]{max-width:1100px;margin:0 auto;height:100%;display:flex;align-items:center;padding:0 24px;gap:32px}.pub-logo[data-v-6261cbab]{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.pub-logo-img[data-v-6261cbab]{height:28px;width:auto}.pub-logo-name[data-v-6261cbab]{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.3px}.pub-links[data-v-6261cbab]{display:flex;gap:4px;flex:1}.pub-link[data-v-6261cbab]{font-size:13px;color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:4px;transition:color .15s}.pub-link[data-v-6261cbab]:hover,.pub-link.router-link-active[data-v-6261cbab]{color:var(--text);text-decoration:none}.pub-actions[data-v-6261cbab]{display:flex;align-items:center;gap:8px;flex-shrink:0}.pub-cta[data-v-6261cbab]{padding:6px 16px;font-size:13px}.pub-hamburger[data-v-6261cbab]{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;margin-left:auto;cursor:pointer}.pub-hamburger span[data-v-6261cbab]{display:block;width:22px;height:2px;background:var(--text);border-radius:2px}.pub-mobile-menu[data-v-6261cbab]{background:var(--panel);border-bottom:1px solid var(--border);padding:12px 24px 16px;display:flex;flex-direction:column;gap:4px}.pub-mobile-link[data-v-6261cbab]{font-size:14px;color:var(--text);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--border)}@media (max-width: 640px){.pub-links[data-v-6261cbab],.pub-actions[data-v-6261cbab]{display:none}.pub-hamburger[data-v-6261cbab]{display:flex}.pub-nav[data-v-6261cbab]{height:auto;min-height:var(--nav-h)}.pub-nav-inner[data-v-6261cbab]{height:var(--nav-h)}}.srv-mon[data-v-16f76c91]{position:fixed;bottom:12px;left:12px;z-index:9999;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:11px;font-family:Segoe UI,Arial,sans-serif}.srv-mon__bar[data-v-16f76c91]{display:flex;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:4px 12px;color:var(--text);font-size:11px;font-weight:600;cursor:pointer;opacity:.75;transition:opacity .15s;letter-spacing:.02em}.srv-mon__bar[data-v-16f76c91]:hover,.srv-mon--open .srv-mon__bar[data-v-16f76c91]{opacity:1}.srv-mon__sep[data-v-16f76c91]{color:var(--border)}.srv-mon__detail[data-v-16f76c91]{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;min-width:220px}.srv-mon__row[data-v-16f76c91]{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--muted);font-size:11px}.srv-mon__row span[data-v-16f76c91]:last-child{color:var(--text);font-weight:600;text-align:right}.srv-mon__row em[data-v-16f76c91]{font-style:normal;color:var(--muted);font-weight:400;margin-left:4px}.chat-widget[data-v-b2cd8385]{position:fixed;bottom:16px;right:16px;z-index:500;font-size:13px}.chat-toggle[data-v-b2cd8385]{position:relative;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#0f172a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;transition:opacity .15s}.chat-toggle[data-v-b2cd8385]:hover{opacity:.85}.chat-panel[data-v-b2cd8385]{width:300px;height:420px;background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080;overflow:hidden}.chat-header[data-v-b2cd8385]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.chat-header-title[data-v-b2cd8385]{flex:1;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.icon-btn[data-v-b2cd8385]{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 4px;border-radius:3px;line-height:1;display:flex;align-items:center}.icon-btn[data-v-b2cd8385]:hover{color:var(--text)}.block-btn[data-v-b2cd8385]{transition:color .15s}.block-btn[data-v-b2cd8385]:hover{color:var(--danger)!important}.block-btn.blocked[data-v-b2cd8385]{color:var(--danger)}.appear-offline-btn[data-v-b2cd8385]{padding:4px}.status-dot[data-v-b2cd8385]{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot-online[data-v-b2cd8385]{background:#4ade80;box-shadow:0 0 4px #4ade80}.dot-offline[data-v-b2cd8385]{background:var(--border)}.blocked-notice[data-v-b2cd8385]{font-size:11px;color:var(--danger);text-align:center;padding:6px 12px;background:#ef444412;border-bottom:1px solid var(--border);flex-shrink:0}.presence-dot[data-v-b2cd8385]{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.presence-dot.online[data-v-b2cd8385]{background:#4ade80}.presence-dot.offline[data-v-b2cd8385]{background:var(--border)}.badge[data-v-b2cd8385]{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--danger);color:#fff;border-radius:9px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.badge.inline[data-v-b2cd8385]{position:static;font-size:10px}.search-row[data-v-b2cd8385]{padding:8px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.search-row input[data-v-b2cd8385]{width:100%}.section[data-v-b2cd8385]{padding:6px 0;border-bottom:1px solid var(--border);flex-shrink:0}.section-label[data-v-b2cd8385]{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:2px 12px 4px;display:flex;align-items:center;gap:6px}.friends-list[data-v-b2cd8385]{flex:1;overflow-y:auto;border-bottom:none}.list-row[data-v-b2cd8385]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;gap:8px}.friend-row[data-v-b2cd8385]{cursor:pointer;border-radius:4px;transition:background .1s}.friend-row[data-v-b2cd8385]:hover{background:#ffffff0d}.friend-presence[data-v-b2cd8385]{flex-shrink:0}.friend-info[data-v-b2cd8385]{display:flex;flex-direction:column;overflow:hidden;flex:1}.friend-name[data-v-b2cd8385]{font-weight:500;color:var(--text);display:flex;align-items:center;gap:5px}.friend-name.is-blocked[data-v-b2cd8385]{opacity:.55}.blocked-label[data-v-b2cd8385]{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--danger);letter-spacing:.04em}.friend-preview[data-v-b2cd8385]{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.messages-area[data-v-b2cd8385]{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}.msg-row[data-v-b2cd8385]{display:flex;flex-direction:column;max-width:80%}.msg-mine[data-v-b2cd8385]{align-self:flex-end;align-items:flex-end}.msg-theirs[data-v-b2cd8385]{align-self:flex-start;align-items:flex-start}.bubble-wrap[data-v-b2cd8385]{display:flex;align-items:center;gap:4px}.msg-mine .bubble-wrap[data-v-b2cd8385]{flex-direction:row-reverse}.bubble[data-v-b2cd8385]{padding:6px 10px;border-radius:12px;word-break:break-word;line-height:1.4}.msg-mine .bubble[data-v-b2cd8385]{background:var(--accent);color:#0f172a;border-bottom-right-radius:3px}.msg-theirs .bubble[data-v-b2cd8385]{background:var(--border);color:var(--text);border-bottom-left-radius:3px}.msg-delete-btn[data-v-b2cd8385]{background:none;border:none;color:var(--muted);font-size:10px;cursor:pointer;padding:2px 3px;border-radius:3px;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.msg-row:hover .msg-delete-btn[data-v-b2cd8385]{opacity:1}.msg-delete-btn[data-v-b2cd8385]:hover{color:var(--danger)}.msg-meta[data-v-b2cd8385]{display:flex;align-items:center;gap:4px;margin-top:2px}.msg-time[data-v-b2cd8385]{font-size:10px;color:var(--muted)}.read-receipt[data-v-b2cd8385]{font-size:10px;color:#4ade80;font-weight:700}.compose[data-v-b2cd8385]{display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--border);flex-shrink:0}.compose input[data-v-b2cd8385]{flex:1}.send-btn[data-v-b2cd8385]{background:var(--accent);color:#0f172a;border:none;border-radius:4px;padding:0 10px;cursor:pointer;display:flex;align-items:center}.send-btn[data-v-b2cd8385]:disabled{opacity:.4;cursor:default}.empty-hint[data-v-b2cd8385]{color:var(--muted);font-size:12px;padding:10px 12px;text-align:center}.muted-label[data-v-b2cd8385]{color:var(--muted);font-size:11px}.btn-group[data-v-b2cd8385]{display:flex;gap:4px}.btn-xs[data-v-b2cd8385]{padding:2px 8px;font-size:11px}.gti-pill[data-v-52232c34]{position:fixed;bottom:20px;left:20px;z-index:400;display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:20px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 10px #00000059;pointer-events:none;min-width:180px;flex-wrap:wrap}.gti-running[data-v-52232c34]{background:#1e222aeb;border:1px solid rgba(255,255,255,.1);color:#c8cdd8}.gti-done[data-v-52232c34]{background:#1e3224eb;border:1px solid rgba(74,200,100,.3);color:#6fcf87}.gti-spinner[data-v-52232c34]{display:inline-block;animation:gti-spin-52232c34 1.2s linear infinite;font-size:13px;opacity:.8}@keyframes gti-spin-52232c34{to{transform:rotate(360deg)}}.gti-check[data-v-52232c34]{font-size:13px}.gti-label[data-v-52232c34]{white-space:nowrap}.gti-bar-wrap[data-v-52232c34]{width:100%;height:3px;background:#ffffff1f;border-radius:2px;overflow:hidden;margin-top:2px}.gti-bar-fill[data-v-52232c34]{height:100%;background:var(--accent, #5a8dee);border-radius:2px;transition:width .6s ease}.gti-fade-enter-active[data-v-52232c34],.gti-fade-leave-active[data-v-52232c34]{transition:opacity .4s,transform .4s}.gti-fade-enter-from[data-v-52232c34],.gti-fade-leave-to[data-v-52232c34]{opacity:0;transform:translateY(8px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f172a;--panel: #1e293b;--border: #334155;--text: #e2e8f0;--muted: #64748b;--accent: #38bdf8;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--nav-h: 52px;--main-pad-b: 24px;--ui-scale: 1;--app-vh: calc(100vh / var(--ui-scale));--app-vw: calc(100vw / var(--ui-scale));--app-view-h: calc(var(--app-vh) - var(--nav-h) - var(--main-pad-b))}html,body{height:100%;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}#app-root{zoom:var(--ui-scale);min-height:var(--app-vh);display:flex;flex-direction:column}main{flex:1}main.with-nav{padding-top:var(--nav-h);padding-bottom:var(--main-pad-b)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font-size:13px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}.btn{padding:6px 14px;border-radius:4px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .1s}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#0f172a}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-success{background:var(--success);color:#0f172a}.card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:16px}.page-title{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--accent)}.error-msg{color:var(--danger);font-size:12px;margin-top:4px}.success-msg{color:var(--success);font-size:12px;margin-top:4px}.status-bar{position:fixed;bottom:0;left:0;right:0;height:24px;background:var(--panel);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:11px;color:var(--muted);z-index:900;-webkit-user-select:none;user-select:none}.sb-left,.sb-right{display:flex;align-items:center;gap:6px}.sb-item{display:flex;align-items:center;gap:4px}.sb-sep{color:var(--border)}.sb-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.sb-dot.connected{background:var(--success)}.sb-tier{font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sb-tier.free{color:var(--muted)}.sb-tier.starter{color:var(--accent)}.sb-tier.premium{color:var(--warning)}.sb-tier.elite{color:#a78bfa}.sb-tier.admin{color:var(--danger)}.pos-badge{font-size:10px;font-weight:800;min-width:22px;text-align:center;padding:1px 4px;border-radius:4px;flex-shrink:0;background:#ffffff0f;color:var(--muted)}.pos-badge.dealer{background:#265964;color:#fff}.pos-badge.sb{background:#83641b;color:#fff}.pos-badge.bb{background:#702e52;color:#fff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400-latin-ext.woff2) format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400-latin.woff2) format("woff2");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500-latin-ext.woff2) format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500-latin.woff2) format("woff2");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600-latin-ext.woff2) format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600-latin.woff2) format("woff2");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700-latin-ext.woff2) format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700-latin.woff2) format("woff2");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-800-latin-ext.woff2) format("woff2");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;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-800-latin.woff2) format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin-ext.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2) format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin-ext.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2) format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin-ext.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin.woff2) format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin-ext.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.woff2) format("woff2");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}
