.header[data-v-70fa896e]{padding:env(safe-area-inset-top,0px) 24px 0;min-height:calc(56px + env(safe-area-inset-top,0px));background:var(--color-dark);z-index:100;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.header-left[data-v-70fa896e]{align-items:center;min-width:0;display:flex}.header-center[data-v-70fa896e]{justify-content:center;align-items:center;display:flex}.logo[data-v-70fa896e]{color:#fff;white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex}.logo-icon[data-v-70fa896e]{flex-shrink:0;width:30px;height:30px}.logo-text[data-v-70fa896e]{color:#ffffffd9;letter-spacing:.5px;font-size:17px;font-weight:400}.logo-text strong[data-v-70fa896e]{color:#ff8a00;font-weight:800}.nav-desktop[data-v-70fa896e]{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;flex:auto;gap:2px;min-width:0;display:flex;overflow-x:auto}.nav-desktop[data-v-70fa896e]::-webkit-scrollbar{display:none}.nav-desktop a[data-v-70fa896e]{color:#ffffff8c;border-radius:var(--radius);flex:none;align-items:center;padding:6px 14px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.nav-desktop a[data-v-70fa896e]:hover{color:#ffffffd9;background:#ffffff14}.nav-desktop a.router-link-active[data-v-70fa896e]{color:#fff;background:#ffffff1f}.nav-link-content[data-v-70fa896e]{align-items:center;gap:8px;min-width:0;display:inline-flex}.nav-link-icon-wrap[data-v-70fa896e]{background:#ffffff14;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.nav-link-icon[data-v-70fa896e]{width:14px;height:14px}.nav-link-text[data-v-70fa896e]{white-space:nowrap}.nav-desktop a.router-link-active .nav-link-icon-wrap[data-v-70fa896e]{background:#ffffff29}.header-right[data-v-70fa896e]{justify-self:end;align-items:center;gap:12px;min-width:0;display:flex;position:relative}.profile-btn[data-v-70fa896e]{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;text-decoration:none;transition:background .15s;display:flex}.profile-btn[data-v-70fa896e]:hover{background:#ffffff14}.profile-btn.router-link-active[data-v-70fa896e]{background:#ffffff1f}.avatar[data-v-70fa896e]{border:2px solid #fff3;border-radius:50%;width:28px;height:28px;transition:border-color .2s}.profile-btn:hover .avatar[data-v-70fa896e],.profile-btn.router-link-active .avatar[data-v-70fa896e]{border-color:#ffffffd9}.avatar-fallback[data-v-70fa896e]{background:var(--color-primary);color:#fff;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.header-icon-btn[data-v-70fa896e]{color:#ffffff80;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;transition:all .15s;display:flex}.header-icon-btn[data-v-70fa896e]:hover{color:#ffffffd9;background:#ffffff14}.header-icon-btn.router-link-active[data-v-70fa896e]{color:#fff;background:#ffffff1f}.login-btn[data-v-70fa896e]{background:var(--color-primary);color:#fff;border-radius:var(--radius);padding:6px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s}.login-btn[data-v-70fa896e]:hover{opacity:.9}@media (width<=1440px){.header[data-v-70fa896e]{padding:env(safe-area-inset-top,0px) 18px 0}.logo-text[data-v-70fa896e]{font-size:16px}.nav-desktop a[data-v-70fa896e]{padding:6px 10px;font-size:13px}.nav-link-content[data-v-70fa896e]{gap:6px}.nav-link-icon-wrap[data-v-70fa896e]{background:#ffffff14;border-radius:6px;width:18px;height:18px}.nav-link-icon[data-v-70fa896e]{width:13px;height:13px}}@media (width<=1080px){.header[data-v-70fa896e]{padding:env(safe-area-inset-top,0px) 14px 0}.logo-text[data-v-70fa896e]{font-size:15px}.nav-desktop a[data-v-70fa896e]{padding:6px 8px;font-size:13px}.nav-link-content[data-v-70fa896e]{gap:5px}}@media (width<=768px){.header[data-v-70fa896e]{padding:env(safe-area-inset-top,0px) 16px 0;min-height:calc(50px + env(safe-area-inset-top,0px))}.logo-text[data-v-70fa896e]{font-size:14px}.logo-mark[data-v-70fa896e]{border-radius:6px;width:28px;height:28px;font-size:14px}.nav-desktop[data-v-70fa896e],.header-right[data-v-70fa896e]{display:none}}@media (width<=480px){.header[data-v-70fa896e]{padding:env(safe-area-inset-top,0px) 12px 0;min-height:calc(46px + env(safe-area-inset-top,0px))}.logo-text[data-v-70fa896e]{font-size:13px}.logo-mark[data-v-70fa896e]{width:26px;height:26px;font-size:13px}}.menu-bar[data-v-d3c6945b]{grid-row:4;display:none}@media (width<=768px){.menu-bar[data-v-d3c6945b]{z-index:10;border-top:1px solid var(--color-border);padding:6px max(8px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-sizing:border-box;touch-action:manipulation;flex-shrink:0;justify-content:space-around;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 -10px 24px #0000001f}.menu-tab[data-v-d3c6945b]{color:var(--color-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:48px;padding:6px 0;transition:transform .1s,opacity .1s;display:flex}.menu-tab.active[data-v-d3c6945b]{color:var(--color-primary)}.menu-tab.pressed[data-v-d3c6945b]{opacity:.7;transform:scale(.92)}.tab-icon[data-v-d3c6945b]{flex-shrink:0;width:24px;height:24px}.tab-avatar-wrap[data-v-d3c6945b]{border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:1px;transition:border-color .15s;display:flex}.tab-avatar-wrap.active[data-v-d3c6945b]{border-color:var(--color-primary)}.tab-avatar[data-v-d3c6945b]{object-fit:cover;border-radius:50%;width:20px;height:20px}.tab-label[data-v-d3c6945b]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:500;line-height:1;overflow:hidden}}.impersonation-banner[data-v-13b7f3a1]{color:#0d0b16;z-index:1000;background:#ff8a00;justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.banner-icon[data-v-13b7f3a1]{font-size:16px}.banner-btn[data-v-13b7f3a1]{color:#0d0b16;cursor:pointer;background:#ffffffe6;border:1px solid #0003;border-radius:6px;padding:4px 14px;font-size:12px;font-weight:700;transition:background .15s}.banner-btn[data-v-13b7f3a1]:hover:not(:disabled){background:#fff}.banner-btn[data-v-13b7f3a1]:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.impersonation-banner[data-v-13b7f3a1]{flex-wrap:wrap;justify-content:center;gap:6px;padding:6px 12px;font-size:12px}}.app-layout[data-v-a66e3300]{min-height:0;height:var(--app-height,100dvh);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden}.main-content[data-v-a66e3300]{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;grid-row:3;width:100%;min-width:0;min-height:0;overflow-y:auto}.main-content-frame[data-v-a66e3300]{box-sizing:border-box;flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex}.main-content-frame--page-shell[data-v-a66e3300]{width:min(1400px,100% - 64px);margin:0 auto;padding:32px 24px;overflow-x:hidden}.main-content-inner-scroll[data-v-a66e3300]{flex-direction:column;height:100%;min-height:0;display:flex}.main-content-inner-scroll[data-v-a66e3300]>*{flex:auto;width:100%;min-width:0;min-height:0}.update-banner[data-v-a66e3300]{background:var(--color-info);color:#fff;justify-content:center;align-items:center;gap:12px;padding:10px;font-size:13px;font-weight:500;display:flex}.update-banner-text[data-v-a66e3300]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.update-banner code[data-v-a66e3300]{background:#fff3;border-radius:4px;padding:1px 6px;font-size:12px}.update-banner-msg[data-v-a66e3300]{opacity:.9;text-overflow:ellipsis;white-space:nowrap;max-width:min(400px,100%);font-style:italic;overflow:hidden}.update-banner-actions[data-v-a66e3300]{align-items:center;gap:8px;display:flex}.update-btn[data-v-a66e3300]{color:var(--color-info);cursor:pointer;background:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600}.update-btn[data-v-a66e3300]:hover{opacity:.9}.update-dismiss[data-v-a66e3300]{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 4px;font-size:18px}.update-dismiss[data-v-a66e3300]:hover{opacity:1}@media (width<=768px){.main-content-frame--page-shell[data-v-a66e3300]{width:calc(100% - 24px);padding:16px 12px}.main-content-inner-scroll[data-v-a66e3300]{overflow:hidden}}@media (width<=480px){.main-content-frame--page-shell[data-v-a66e3300]{width:calc(100% - 16px);padding:12px 8px}.update-banner[data-v-a66e3300]{text-align:center;flex-wrap:wrap;gap:8px}}.toast-container[data-v-10842ab1]{z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:8px;max-width:400px;display:flex;position:fixed;bottom:20px;right:20px}.toast[data-v-10842ab1]{background:var(--color-surface,#fff);color:var(--color-text,#1a1a2e);border:1px solid var(--color-border,#e2e2e8);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-md,0 4px 12px #0000001f);pointer-events:auto;border-left:4px solid;align-items:flex-start;gap:10px;min-width:280px;padding:12px 14px;display:flex}.toast--success[data-v-10842ab1]{border-left-color:var(--color-success,#22c55e)}.toast--success .toast-icon[data-v-10842ab1]{color:var(--color-success,#22c55e)}.toast--error[data-v-10842ab1]{border-left-color:var(--color-danger,#ef4444)}.toast--error .toast-icon[data-v-10842ab1]{color:var(--color-danger,#ef4444)}.toast--warning[data-v-10842ab1]{border-left-color:var(--color-warning,#f59e0b)}.toast--warning .toast-icon[data-v-10842ab1]{color:var(--color-warning,#f59e0b)}.toast--info[data-v-10842ab1]{border-left-color:var(--color-info,#3b82f6)}.toast--info .toast-icon[data-v-10842ab1]{color:var(--color-info,#3b82f6)}.toast-icon[data-v-10842ab1]{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.toast-message[data-v-10842ab1]{word-break:break-word;flex:1;font-size:14px;line-height:1.4}.toast-dismiss[data-v-10842ab1]{width:24px;height:24px;color:var(--color-text,#1a1a2e);opacity:.4;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -4px -4px 0;padding:0;transition:opacity .15s,background .15s;display:flex}.toast-dismiss[data-v-10842ab1]:hover{opacity:.8;background:var(--color-border,#e2e2e8)}.toast-enter-active[data-v-10842ab1]{transition:transform .3s cubic-bezier(.21,1.02,.73,1),opacity .3s}.toast-leave-active[data-v-10842ab1]{transition:transform .2s ease-in,opacity .2s ease-in}.toast-enter-from[data-v-10842ab1]{opacity:0;transform:translate(calc(100% + 20px))}.toast-enter-to[data-v-10842ab1],.toast-leave-from[data-v-10842ab1]{opacity:1;transform:translate(0)}.toast-leave-to[data-v-10842ab1]{opacity:0;transform:translate(20px)}.toast-move[data-v-10842ab1]{transition:transform .25s}@media (width<=480px){.toast-container[data-v-10842ab1]{max-width:none;bottom:12px;left:12px;right:12px}.toast[data-v-10842ab1]{width:100%;min-width:0}}.confirm-overlay[data-v-916c6aba]{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-916c6aba]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:440px;padding:24px}.confirm-title[data-v-916c6aba]{color:var(--color-text);margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.4}.confirm-message[data-v-916c6aba]{color:var(--color-text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.confirm-actions[data-v-916c6aba]{justify-content:flex-end;gap:8px;display:flex}.btn[data-v-916c6aba]{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1;transition:opacity .15s,background .15s}.btn[data-v-916c6aba]:hover{opacity:.85}.btn-cancel[data-v-916c6aba]{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.btn-cancel[data-v-916c6aba]:hover{background:var(--color-bg)}.btn-confirm[data-v-916c6aba]{color:#fff;border:none}.btn-danger[data-v-916c6aba]{background:var(--color-danger)}.btn-warning[data-v-916c6aba]{background:var(--color-warning)}.btn-info[data-v-916c6aba]{background:var(--color-info)}.confirm-overlay-enter-active[data-v-916c6aba],.confirm-overlay-leave-active[data-v-916c6aba]{transition:opacity .2s}.confirm-overlay-enter-from[data-v-916c6aba],.confirm-overlay-leave-to[data-v-916c6aba]{opacity:0}.confirm-dialog-enter-active[data-v-916c6aba]{transition:opacity .2s,transform .2s}.confirm-dialog-leave-active[data-v-916c6aba]{transition:opacity .15s,transform .15s}.confirm-dialog-enter-from[data-v-916c6aba],.confirm-dialog-leave-to[data-v-916c6aba]{opacity:0;transform:scale(.95)}@media (width<=480px){.confirm-dialog[data-v-916c6aba]{max-width:none}}.confirm-overlay[data-v-8b1e7341]{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-8b1e7341]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:440px;padding:24px}.confirm-title[data-v-8b1e7341]{color:var(--color-text);margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.4}.confirm-message[data-v-8b1e7341]{color:var(--color-text-secondary);margin:0 0 12px;font-size:14px;line-height:1.5}.prompt-input[data-v-8b1e7341]{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:6px;outline:none;margin-bottom:16px;padding:8px 12px;font-size:14px}.prompt-input[data-v-8b1e7341]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px rgba(var(--color-info-rgb,59, 130, 246), .15)}.confirm-actions[data-v-8b1e7341]{justify-content:flex-end;gap:8px;display:flex}.btn[data-v-8b1e7341]{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1;transition:opacity .15s,background .15s}.btn[data-v-8b1e7341]:hover{opacity:.85}.btn[data-v-8b1e7341]:disabled{opacity:.4;cursor:not-allowed}.btn-cancel[data-v-8b1e7341]{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.btn-cancel[data-v-8b1e7341]:hover{background:var(--color-bg)}.btn-confirm[data-v-8b1e7341]{color:#fff;border:none}.btn-info[data-v-8b1e7341]{background:var(--color-info)}.confirm-overlay-enter-active[data-v-8b1e7341],.confirm-overlay-leave-active[data-v-8b1e7341]{transition:opacity .2s}.confirm-overlay-enter-from[data-v-8b1e7341],.confirm-overlay-leave-to[data-v-8b1e7341]{opacity:0}.confirm-dialog-enter-active[data-v-8b1e7341]{transition:opacity .2s,transform .2s}.confirm-dialog-leave-active[data-v-8b1e7341]{transition:opacity .15s,transform .15s}.confirm-dialog-enter-from[data-v-8b1e7341],.confirm-dialog-leave-to[data-v-8b1e7341]{opacity:0;transform:scale(.95)}@media (width<=480px){.confirm-dialog[data-v-8b1e7341]{max-width:none}}.error-boundary[data-v-ee4d71d0]{justify-content:center;align-items:center;min-height:300px;padding:32px 20px;display:flex}.error-boundary-content[data-v-ee4d71d0]{text-align:center;flex-direction:column;align-items:center;max-width:440px;display:flex}.error-boundary-icon[data-v-ee4d71d0]{color:var(--color-danger);flex-shrink:0;margin-bottom:16px}.error-boundary-title[data-v-ee4d71d0]{margin-bottom:8px;font-size:18px;font-weight:600}.error-boundary-description[data-v-ee4d71d0]{color:var(--color-text-secondary);margin-bottom:12px;font-size:14px;line-height:1.5}.error-boundary-message[data-v-ee4d71d0]{color:var(--color-muted);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);word-break:break-word;max-width:100%;margin-bottom:20px;padding:8px 16px;font-size:13px}.error-boundary-retry[data-v-ee4d71d0]{border-radius:var(--radius-lg);padding:10px 24px;font-size:14px;font-weight:500}.error-boundary-retry[data-v-ee4d71d0]:hover{opacity:.9}:root{--app-height:100dvh;--mobile-menu-bar-height:64px;--mobile-menu-bar-offset:calc(var(--mobile-menu-bar-height) + env(safe-area-inset-bottom,0px));--color-primary:#1b1d3c;--color-primary-hover:#090a1b;--color-primary-light:#e8f7f8;--color-accent:#e84545;--color-success:#047857;--color-warning:#f59e0b;--color-danger:#dc2626;--color-info:#3b82f6;--color-dark:#12101e;--color-bg:#f8f7fc;--color-surface:#fff;--color-surface-raised:#f3f2f8;--color-surface-secondary:#f6f5fb;--color-surface-hover:#ebe9f4;--color-text:#1f1d2b;--color-text-secondary:#6b6880;--color-muted:#65627a;--color-border:#e8e6f0;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--shadow:0 1px 3px 0 #00000014;--shadow-lg:0 10px 15px -3px #0000001a}.dark{--color-primary:#1ec9d2;--color-primary-hover:#3fdbe4;--color-primary-light:#0f2a2c;--color-accent:#ff6b6b;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--color-info:#60a5fa;--color-dark:#0a0912;--color-bg:#111118;--color-surface:#1c1c28;--color-surface-raised:#252534;--color-surface-secondary:#171722;--color-surface-hover:#2d2d3d;--color-text:#f0eff6;--color-text-secondary:#94a0b8;--color-muted:#6e6b80;--color-border:#2e2d3d;--shadow:0 1px 3px 0 #0006;--shadow-lg:0 10px 15px -3px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-surface);overflow:hidden}body{background:var(--color-bg);color:var(--color-text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow:hidden}@media (width>=640px){body{-webkit-user-select:auto;user-select:auto}}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;border-radius:var(--radius);touch-action:manipulation;border:none;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.table-wrapper,.overflow-x-auto{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-success{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-outline:hover{background:var(--color-bg)}input,textarea,select{color:var(--color-text);background:var(--color-bg)}@media (width<=768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select{font-size:16px!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-view-shell{box-sizing:border-box;flex-direction:column;flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:flex}.app-view-shell>*{box-sizing:border-box;width:100%;min-width:0}.offline-banner{z-index:9999;background:var(--color-danger,#ef4444);color:#fff;text-align:center;padding:8px 16px;padding-top:max(8px, env(safe-area-inset-top));font-size:13px;font-weight:500;position:fixed;top:0;left:0;right:0}.backend-down-banner{background:#f59e0b}.ptr-indicator{z-index:9998;color:var(--color-primary);position:fixed;top:-40px;left:50%;transform:translate(-50%)}.ptr-spinner{transition:transform .2s}.ptr-spinner.spinning{animation:1s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
