.toast-host[data-v-97293685]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}.toast[data-v-97293685]{display:flex;align-items:center;gap:10px;min-width:200px;max-width:min(90vw,460px);padding:11px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13.5px;font-weight:500;color:var(--ink)}.toast-icon[data-v-97293685]{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}.toast-success .toast-icon[data-v-97293685]{background:var(--ok)}.toast-error .toast-icon[data-v-97293685]{background:var(--danger)}.toast-warn .toast-icon[data-v-97293685]{background:var(--warn)}.toast-info .toast-icon[data-v-97293685]{background:var(--brand)}.toast-text[data-v-97293685]{line-height:1.45}:root{--bg: #f5f6fb;--surface: #ffffff;--surface-soft: #fafbff;--ink: #11162b;--ink-2: #39405e;--muted: #6d7492;--line: #e7e9f3;--line-strong: #d7dbe9;--brand: #5b5bd6;--brand-2: #7c5cf0;--brand-soft: #eeecfe;--brand-ink: #4338ca;--ok: #0ea472;--ok-soft: #e6f7f0;--warn: #c2740a;--warn-soft: #fdf3e2;--danger: #dc4a52;--danger-soft: #fdecec;--radius-lg: 20px;--radius: 14px;--radius-sm: 10px;--shadow-xs: 0 1px 2px rgba(17, 22, 43, .06);--shadow-sm: 0 4px 14px rgba(17, 22, 43, .06);--shadow: 0 10px 30px rgba(17, 22, 43, .08);--shadow-lg: 0 28px 70px rgba(17, 22, 43, .18);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app-shell{display:flex;flex-direction:column;min-height:100%}.page{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:28px 20px 64px}@media (max-width: 640px){.page{padding:18px 14px 48px}}.topbar{position:sticky;top:0;z-index:40;background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1160px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:.2px;white-space:nowrap}.brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;box-shadow:0 6px 16px #5b5bd659}.nav{display:flex;gap:4px;margin-left:6px}.nav a{padding:7px 13px;border-radius:9px;color:var(--muted);font-weight:500;transition:background .16s ease,color .16s ease}.nav a:hover{background:var(--brand-soft);color:var(--brand-ink)}.nav a.router-link-active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.balance-pill{display:inline-flex;align-items:baseline;gap:6px;padding:6px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-xs);font-size:12.5px;color:var(--muted);white-space:nowrap}.balance-pill strong{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;box-shadow:0 4px 12px #6366f159}@media (max-width: 720px){.nav{display:none}.topbar-inner{gap:12px;padding:10px 14px}}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink-2);--btn-border: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-size:14px;font-weight:600;line-height:1.2;transition:transform .12s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{--btn-bg: linear-gradient(135deg, var(--brand), var(--brand-2));--btn-fg: #fff;--btn-border: transparent;box-shadow:0 8px 20px #5b5bd647}.btn-primary:hover:not(:disabled){box-shadow:0 12px 26px #5b5bd65c}.btn-ghost{--btn-bg: transparent;--btn-border: transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.btn-outline{--btn-bg: var(--surface);--btn-border: var(--line-strong)}.btn-block{width:100%}.btn-sm{padding:7px 13px;font-size:13px;border-radius:9px}.btn-lg{padding:13px 26px;font-size:15px;border-radius:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.card-pad{padding:22px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}.section-title h2{margin:0;font-size:17px;font-weight:700;letter-spacing:.2px}.section-title p{margin:0;color:var(--muted);font-size:13px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{font-size:13px;font-weight:600;color:var(--ink-2)}.input{width:100%;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;transition:border-color .16s ease,box-shadow .16s ease;outline:none}.input::placeholder{color:#a3a9c2}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #5b5bd624}.hint{font-size:12px;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.7;white-space:nowrap}.tag-brand{background:var(--brand-soft);color:var(--brand-ink)}.tag-ok{background:var(--ok-soft);color:var(--ok)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-danger{background:var(--danger-soft);color:var(--danger)}.tag-muted{background:#f1f2f8;color:var(--muted)}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--line);white-space:nowrap}.table th:first-child{border-top-left-radius:var(--radius)}.table th:last-child{border-top-right-radius:var(--radius)}.table td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:#fbfbff}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:-.2px}.empty{padding:56px 20px;text-align:center;color:var(--muted)}.empty-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;background:var(--brand-soft);display:grid;place-items:center;font-size:22px}.empty p{margin:0 0 4px;font-weight:600;color:var(--ink-2)}.empty span{font-size:13px}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite;display:inline-block}.spinner-dark{border-color:#5b5bd640;border-top-color:var(--brand)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#eceefb 25%,#f6f7fd 37%,#eceefb 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:8px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.fade-enter-active,.fade-leave-active{transition:opacity .22s ease}.fade-enter-from,.fade-leave-to{opacity:0}.pop-enter-active{transition:opacity .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}.pop-leave-active{transition:opacity .16s ease,transform .16s ease}.pop-enter-from,.pop-leave-to{opacity:0;transform:translateY(10px) scale(.985)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.footer{border-top:1px solid var(--line);background:var(--surface)}.footer-inner{max-width:1160px;margin:0 auto;padding:20px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12.5px}.footer-inner code{font-family:var(--mono);font-size:12px;background:var(--bg);padding:2px 7px;border-radius:6px;color:var(--ink-2)}
