.login-page[data-v-ff2e4828]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f3ff,#f9fafb,#fef3f8);padding:24px}.login-card[data-v-ff2e4828]{max-width:460px;width:100%;padding:40px;border-radius:8px}.login-title[data-v-ff2e4828]{text-align:center;margin:0 0 2rem;color:var(--portal-text);font-size:1.5rem;font-weight:600}.form-group[data-v-ff2e4828]{margin-bottom:1.5rem}.form-group label[data-v-ff2e4828]{display:block;margin-bottom:.5rem;color:var(--portal-text);font-size:.875rem;font-weight:500}.error-msg[data-v-ff2e4828]{color:#dc2626;font-size:.875rem;margin:0 0 1rem}.info-msg[data-v-ff2e4828]{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;font-size:.875rem;margin:0 0 1rem;padding:8px 10px}.submit-btn[data-v-ff2e4828]{width:100%;margin-top:.25rem}.code-row[data-v-ff2e4828]{display:flex;gap:.5rem}.code-btn[data-v-ff2e4828]{white-space:nowrap;border:1px solid var(--portal-border);border-radius:6px;background:#fff;padding:0 12px;font-size:.875rem;cursor:pointer}.code-btn[data-v-ff2e4828]:disabled{cursor:not-allowed;opacity:.6}.challenge-tip[data-v-ff2e4828]{margin:0 0 .5rem;font-size:.875rem;color:var(--portal-text-muted)}.hint-msg[data-v-ff2e4828]{margin:.35rem 0 0;font-size:.75rem;color:var(--portal-text-muted)}@media (max-width: 640px){.login-card[data-v-ff2e4828]{padding:24px}}.layout[data-v-27915e8a]{display:flex;min-height:100vh}.sidebar[data-v-27915e8a]{position:fixed;top:0;left:0;bottom:0;width:var(--portal-sidebar-width);background:var(--portal-sidebar-bg);z-index:100;display:flex;flex-direction:column;overflow-y:auto;transition:transform .25s ease}.sidebar-brand[data-v-27915e8a]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06)}.brand-link[data-v-27915e8a]{color:#fff;font-size:1rem;font-weight:700;text-decoration:none;letter-spacing:.02em}.sidebar-close[data-v-27915e8a]{display:none;background:none;border:none;color:var(--portal-sidebar-text);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.sidebar-nav[data-v-27915e8a]{flex:1;padding:.5rem 0}.nav-group-label[data-v-27915e8a]{padding:1rem 1.25rem .375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--portal-sidebar-group-text)}.nav-group-label[data-v-27915e8a]:empty{padding:.25rem 0}.nav-item[data-v-27915e8a]{display:flex;align-items:center;gap:.625rem;padding:.5rem 1.25rem;color:var(--portal-sidebar-text);text-decoration:none;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s;border-left:3px solid transparent}.nav-item[data-v-27915e8a]:hover{color:var(--portal-sidebar-text-hover);background:#ffffff0a}.nav-item.active[data-v-27915e8a]{color:var(--portal-sidebar-active-text);background:var(--portal-sidebar-active-bg);border-left-color:var(--portal-primary)}.nav-icon[data-v-27915e8a]{flex-shrink:0;display:flex;align-items:center;opacity:.75}.nav-item.active .nav-icon[data-v-27915e8a]{opacity:1}.nav-text[data-v-27915e8a]{flex:1}.nav-badge[data-v-27915e8a]{background:var(--portal-danger);color:#fff;font-size:.6875rem;font-weight:600;padding:.1rem .375rem;border-radius:9999px;min-width:1.1rem;text-align:center;line-height:1.3}.main-wrapper[data-v-27915e8a]{flex:1;margin-left:var(--portal-sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left .25s ease}.topbar[data-v-27915e8a]{position:sticky;top:0;z-index:50;height:var(--portal-topbar-height);background:var(--portal-topbar-bg);box-shadow:var(--portal-topbar-shadow);display:flex;align-items:center;padding:0 1.25rem;gap:.75rem}.topbar-toggle[data-v-27915e8a]{display:none;background:none;border:none;color:var(--portal-text);cursor:pointer;padding:.25rem}.topbar-spacer[data-v-27915e8a]{flex:1}.topbar-icon-btn[data-v-27915e8a]{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--portal-text-muted);transition:background .15s,color .15s;text-decoration:none}.topbar-icon-btn[data-v-27915e8a]:hover{background:var(--portal-bg);color:var(--portal-text)}.topbar-badge[data-v-27915e8a]{position:absolute;top:2px;right:0;background:var(--portal-danger);color:#fff;font-size:.625rem;font-weight:700;padding:0 .3rem;border-radius:9999px;min-width:1rem;text-align:center;line-height:1.4}.topbar-logout[data-v-27915e8a]{padding:.35rem .75rem;background:none;color:var(--portal-text-muted);border:1px solid var(--portal-border);border-radius:var(--portal-radius);font-size:.8125rem;cursor:pointer;transition:color .15s,border-color .15s}.topbar-logout[data-v-27915e8a]:hover{color:var(--portal-danger);border-color:var(--portal-danger)}.main-content[data-v-27915e8a]{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:1.5rem 1.5rem 2rem}.sidebar-overlay[data-v-27915e8a]{display:none}@media (max-width: 768px){.sidebar[data-v-27915e8a]{transform:translate(-100%)}.layout.sidebar-open .sidebar[data-v-27915e8a]{transform:translate(0)}.sidebar-close[data-v-27915e8a]{display:block}.sidebar-overlay[data-v-27915e8a]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.main-wrapper[data-v-27915e8a]{margin-left:0}.topbar-toggle[data-v-27915e8a]{display:flex}.main-content[data-v-27915e8a]{padding:1rem}}.home-dashboard[data-v-382bd0b5]{padding:0}.welcome[data-v-382bd0b5]{margin-bottom:1.25rem}.welcome-title[data-v-382bd0b5]{margin:0 0 .15rem;font-size:1.375rem;font-weight:700}.welcome-sub[data-v-382bd0b5]{margin:0;color:var(--portal-text-muted);font-size:.875rem}.quick-actions[data-v-382bd0b5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:1.25rem}.qa-card[data-v-382bd0b5]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;text-decoration:none;color:var(--portal-text);transition:box-shadow .15s,border-color .15s}.qa-card[data-v-382bd0b5]:hover{border-color:var(--portal-primary);box-shadow:0 2px 8px #7e3af21a}.qa-primary[data-v-382bd0b5]{border-color:var(--portal-primary);background:var(--portal-primary-light)}.qa-icon[data-v-382bd0b5]{flex-shrink:0;width:42px;height:42px;border-radius:10px;background:var(--portal-primary-light);display:flex;align-items:center;justify-content:center;color:var(--portal-primary)}.qa-primary .qa-icon[data-v-382bd0b5]{background:var(--portal-primary);color:#fff}.qa-text[data-v-382bd0b5]{display:flex;flex-direction:column}.qa-label[data-v-382bd0b5]{font-weight:600;font-size:.875rem}.qa-hint[data-v-382bd0b5]{font-size:.75rem;color:var(--portal-text-muted)}.section-card[data-v-382bd0b5]{padding:1.25rem 1.5rem;margin-bottom:1rem}.section-header[data-v-382bd0b5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-title[data-v-382bd0b5]{margin:0;font-size:1rem;font-weight:700}.nodes-grid[data-v-382bd0b5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.625rem}.node-card[data-v-382bd0b5]{padding:.75rem;background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:var(--portal-radius)}.node-head[data-v-382bd0b5]{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.dot[data-v-382bd0b5]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-green[data-v-382bd0b5]{background:var(--portal-success)}.dot-red[data-v-382bd0b5]{background:var(--portal-danger)}.node-ip[data-v-382bd0b5]{font-family:ui-monospace,monospace;font-weight:600;font-size:.875rem;flex:1}.portal-badge-sm[data-v-382bd0b5]{font-size:.6875rem;padding:.1rem .4rem}.node-card--link[data-v-382bd0b5]{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.node-card--link[data-v-382bd0b5]:hover{border-color:var(--portal-primary);box-shadow:0 2px 8px #7e3af214}.node-meta[data-v-382bd0b5]{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.75rem;color:var(--portal-text-muted)}.meta-time[data-v-382bd0b5]{font-style:italic}.node-features[data-v-382bd0b5]{display:flex;gap:.35rem;margin-top:.375rem}.nf-item[data-v-382bd0b5]{font-size:.625rem;font-weight:700;padding:.1rem .35rem;border-radius:3px;letter-spacing:.02em}.nf-ok[data-v-382bd0b5]{background:#10b9811f;color:var(--portal-success)}.nf-locked[data-v-382bd0b5]{background:var(--portal-bg);color:var(--portal-text-muted);opacity:.6}.rental-grid[data-v-382bd0b5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.625rem;margin-bottom:.75rem}.rental-stat[data-v-382bd0b5]{display:flex;flex-direction:column;gap:.15rem}.rs-label[data-v-382bd0b5]{font-size:.75rem;color:var(--portal-text-muted);font-weight:500}.rs-val[data-v-382bd0b5]{font-size:.9375rem;font-weight:600}.text-ok[data-v-382bd0b5]{color:var(--portal-success)}.text-warn[data-v-382bd0b5]{color:var(--portal-warning)}.text-danger[data-v-382bd0b5]{color:var(--portal-danger)}.server-health[data-v-382bd0b5]{padding-top:.75rem;border-top:1px solid var(--portal-border)}.sub-title[data-v-382bd0b5]{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.ip-chips[data-v-382bd0b5]{display:flex;flex-wrap:wrap;gap:.5rem}.ip-chip[data-v-382bd0b5]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:6px;font-size:.8125rem}.ip-mono[data-v-382bd0b5]{font-family:ui-monospace,monospace}.ip-meta[data-v-382bd0b5]{color:var(--portal-text-muted);margin-left:.25rem}.ping-list[data-v-382bd0b5]{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.ping-row[data-v-382bd0b5]{padding:.5rem;background:#fff;border:1px solid var(--portal-border);border-radius:4px;font-size:.8125rem}.ping-row-head[data-v-382bd0b5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.ping-avail.avail-ok[data-v-382bd0b5]{color:var(--portal-success);font-weight:500}.ping-avail.avail-fail[data-v-382bd0b5]{color:var(--portal-danger);font-weight:500}.ping-detail[data-v-382bd0b5]{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--portal-text-muted)}.latency-tag[data-v-382bd0b5]{display:inline-block;margin-right:.25rem;padding:.15rem .35rem;border:1px solid var(--portal-border);border-radius:4px;background:#fff}.ping-summary[data-v-382bd0b5]{margin-left:.5rem}.error-msg[data-v-382bd0b5]{color:var(--portal-danger);font-size:.875rem}.loading-msg[data-v-382bd0b5]{color:var(--portal-text-muted);padding:1rem 0}.traffic-page[data-v-e3580e78]{padding:0}.card-section[data-v-e3580e78]{padding:1.25rem 1.5rem;margin-bottom:1rem}.card-title[data-v-e3580e78]{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--portal-text);padding-bottom:.5rem;border-bottom:1px solid var(--portal-border)}.toolbar[data-v-e3580e78]{margin-bottom:.75rem}.toolbar select[data-v-e3580e78]{padding:.35rem .5rem;margin-left:.25rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);font-size:.875rem}.history-list[data-v-e3580e78]{list-style:none;padding:0;margin:0;font-size:.875rem}.history-list li[data-v-e3580e78]{padding:.5rem 0;border-bottom:1px solid var(--portal-border);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.history-list .date[data-v-e3580e78]{font-weight:600;min-width:100px;color:var(--portal-text)}.muted[data-v-e3580e78]{color:var(--portal-text-muted);font-size:.8rem}.error[data-v-e3580e78]{color:#dc2626;font-size:.875rem}.containers-page[data-v-d9791d91]{padding:0}.container-list[data-v-d9791d91]{list-style:none;padding:0;margin:0}.card-item[data-v-d9791d91]{padding:1.25rem 1.5rem;margin-bottom:1rem}.row[data-v-d9791d91]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.meta[data-v-d9791d91]{margin:.25rem 0;font-size:.875rem;color:var(--portal-text-muted)}.muted-msg[data-v-d9791d91]{color:var(--portal-text-muted)}.loading-msg[data-v-d9791d91]{color:var(--portal-text-muted);padding:1rem 0}.error-msg[data-v-d9791d91]{color:#dc2626;font-size:.875rem}.all-stopped-msg[data-v-d9791d91]{padding:1.25rem 1.5rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e}.all-stopped-msg p[data-v-d9791d91]{margin:0;font-size:.9375rem}.container-detail[data-v-9a8d4dc2]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-9a8d4dc2]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}header a[data-v-9a8d4dc2]{color:#1890ff;text-decoration:none}.card[data-v-9a8d4dc2]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:1rem}.card h2[data-v-9a8d4dc2]{margin:0 0 .75rem;font-size:1rem}.history-list[data-v-9a8d4dc2]{list-style:none;padding:0;margin:0;font-size:.875rem}.history-list li[data-v-9a8d4dc2]{padding:.35rem 0;border-bottom:1px solid #f0f0f0}.history-list.daily-list[data-v-9a8d4dc2]{display:flex;flex-direction:column;gap:.25rem}.history-list .date[data-v-9a8d4dc2]{font-weight:600;min-width:100px;color:var(--portal-text, #333)}.muted[data-v-9a8d4dc2]{color:#888}.error[data-v-9a8d4dc2]{color:#c00}.loading-msg[data-v-9a8d4dc2]{color:#888;padding:1rem 0}.monitoring-page[data-v-c6d4d741]{padding:0}.card-section[data-v-c6d4d741]{padding:1.25rem 1.5rem}.card-title[data-v-c6d4d741]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--portal-text)}.card-desc[data-v-c6d4d741]{margin:0 0 1rem;font-size:.8125rem;color:var(--portal-text-muted)}.form-row[data-v-c6d4d741]{margin-bottom:1rem}.form-label[data-v-c6d4d741]{display:block;font-size:.8125rem;font-weight:500;color:var(--portal-text);margin-bottom:.35rem}.select-container[data-v-c6d4d741]{max-width:360px}.empty-state[data-v-c6d4d741],.loading-row[data-v-c6d4d741]{color:var(--portal-text-muted);padding:1rem 0}.all-stopped-state[data-v-c6d4d741]{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;padding:1.25rem 1.5rem}.all-stopped-state p[data-v-c6d4d741]{margin:0}.error-row[data-v-c6d4d741]{color:#b91c1c;padding:.5rem 0;font-size:.875rem}.sub-title[data-v-c6d4d741]{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--portal-text)}.health-section[data-v-c6d4d741]{margin:1.25rem 0;text-align:center}.health-ring-wrap[data-v-c6d4d741]{position:relative;width:120px;height:120px;margin:0 auto .5rem}.health-ring[data-v-c6d4d741]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-c6d4d741]{fill:none;stroke:#e5e7eb;stroke-width:8}.ring-fill[data-v-c6d4d741]{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .3s ease,stroke .3s ease}.ring-fill.score-ok[data-v-c6d4d741]{stroke:#10b981}.ring-fill.score-warn[data-v-c6d4d741]{stroke:#f59e0b}.ring-fill.score-danger[data-v-c6d4d741]{stroke:#ef4444}.health-value[data-v-c6d4d741]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.75rem;font-weight:700;color:var(--portal-text)}.health-label[data-v-c6d4d741]{margin:0;font-size:.875rem;color:var(--portal-text-muted)}.metrics-grid[data-v-c6d4d741]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin:1rem 0}.metric-card[data-v-c6d4d741]{background:var(--portal-bg);border-radius:var(--portal-radius);padding:.75rem 1rem;border:1px solid var(--portal-border)}.metric-name[data-v-c6d4d741]{display:block;font-size:.75rem;color:var(--portal-text-muted);margin-bottom:.25rem}.metric-val[data-v-c6d4d741]{font-size:1.125rem;font-weight:600;color:var(--portal-text)}.metric-val-small[data-v-c6d4d741]{font-size:.8125rem;font-weight:500}.collected-ago[data-v-c6d4d741]{margin:0 0 .5rem;font-size:.75rem;color:var(--portal-text-muted)}.refresh-row[data-v-c6d4d741]{margin-top:1rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.auto-refresh-label[data-v-c6d4d741]{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--portal-text-muted);cursor:pointer}.interval-select[data-v-c6d4d741]{padding:.15rem .4rem;font-size:.8125rem;border:1px solid var(--portal-border);border-radius:4px}.monitoring-page[data-v-cb8426bb]{padding:0}.card-section[data-v-cb8426bb]{padding:1.25rem 1.5rem}.card-title[data-v-cb8426bb]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--portal-text)}.card-desc[data-v-cb8426bb]{margin:0 0 1rem;font-size:.8125rem;color:var(--portal-text-muted)}.form-row[data-v-cb8426bb]{margin-bottom:1rem}.form-label[data-v-cb8426bb]{display:block;font-size:.8125rem;font-weight:500;color:var(--portal-text);margin-bottom:.35rem}.select-server[data-v-cb8426bb]{max-width:400px}.empty-state[data-v-cb8426bb],.loading-row[data-v-cb8426bb]{color:var(--portal-text-muted);padding:1rem 0}.error-row[data-v-cb8426bb]{color:#b91c1c;padding:.5rem 0;font-size:.875rem}.tier-notice[data-v-cb8426bb]{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;padding:1.25rem 1.5rem;margin-bottom:1rem}.tier-notice p[data-v-cb8426bb]{margin:0 0 .75rem}.tier-hint[data-v-cb8426bb]{margin-top:1.5rem}.upgrade-btn[data-v-cb8426bb]{display:inline-block;text-decoration:none;font-size:.875rem}.sub-title[data-v-cb8426bb]{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--portal-text)}.section-gap[data-v-cb8426bb]{margin-top:1.5rem}.health-section[data-v-cb8426bb]{margin:1.25rem 0;text-align:center}.health-ring-wrap[data-v-cb8426bb]{position:relative;width:120px;height:120px;margin:0 auto .5rem}.health-ring[data-v-cb8426bb]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-cb8426bb]{fill:none;stroke:#e5e7eb;stroke-width:8}.ring-fill[data-v-cb8426bb]{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .3s ease,stroke .3s ease}.ring-fill.score-ok[data-v-cb8426bb]{stroke:#10b981}.ring-fill.score-warn[data-v-cb8426bb]{stroke:#f59e0b}.ring-fill.score-danger[data-v-cb8426bb]{stroke:#ef4444}.health-value[data-v-cb8426bb]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.75rem;font-weight:700;color:var(--portal-text)}.health-label[data-v-cb8426bb]{margin:0;font-size:.875rem;color:var(--portal-text-muted)}.collected-ago[data-v-cb8426bb]{margin:.25rem 0 0;font-size:.75rem;color:var(--portal-text-muted)}.layer-tabs[data-v-cb8426bb]{display:flex;gap:0;margin:1.25rem 0 1rem;border-bottom:2px solid var(--portal-border)}.tab-btn[data-v-cb8426bb]{padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--portal-text-muted);transition:color .2s,border-color .2s}.tab-btn[data-v-cb8426bb]:hover{color:var(--portal-text)}.tab-btn.active[data-v-cb8426bb]{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.layer-label[data-v-cb8426bb]{margin:1.25rem 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--portal-text)}.metrics-grid[data-v-cb8426bb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin:0 0 .75rem}.metric-card[data-v-cb8426bb]{background:var(--portal-bg);border-radius:var(--portal-radius);padding:.75rem 1rem;border:1px solid var(--portal-border)}.metric-name[data-v-cb8426bb]{display:block;font-size:.75rem;color:var(--portal-text-muted);margin-bottom:.25rem}.metric-val[data-v-cb8426bb]{font-size:1.125rem;font-weight:600;color:var(--portal-text)}.metric-val-small[data-v-cb8426bb]{font-size:.8125rem;font-weight:500}.refresh-row[data-v-cb8426bb]{margin-top:1rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.auto-refresh-label[data-v-cb8426bb]{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--portal-text-muted);cursor:pointer}.interval-select[data-v-cb8426bb]{padding:.15rem .4rem;font-size:.8125rem;border:1px solid var(--portal-border);border-radius:4px}.page[data-v-cf4548e8]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-cf4548e8]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-cf4548e8]{color:#1890ff;text-decoration:none}.sub-nav[data-v-cf4548e8]{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.sub-nav a[data-v-cf4548e8]{color:#1890ff;text-decoration:none;font-size:.9rem}.sub-nav a.router-link-active[data-v-cf4548e8]{font-weight:600}.toolbar[data-v-cf4548e8]{margin-bottom:1rem}.toolbar select[data-v-cf4548e8]{margin-left:.25rem;padding:.25rem}.list[data-v-cf4548e8]{list-style:none;padding:0;margin:0}.list .card[data-v-cf4548e8]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.75rem;font-size:.875rem}.list .row[data-v-cf4548e8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.list .row a[data-v-cf4548e8]{color:#1890ff}.list p[data-v-cf4548e8]{margin:.25rem 0}.muted[data-v-cf4548e8]{color:#888;font-size:.8rem}.pager[data-v-cf4548e8]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-cf4548e8]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-cf4548e8]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-cf4548e8]{color:#c00}.page[data-v-774d3b07]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-774d3b07]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-774d3b07]{color:#1890ff;text-decoration:none}.card[data-v-774d3b07]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:1rem}.card h2[data-v-774d3b07]{margin:0 0 .75rem;font-size:1rem}.card p[data-v-774d3b07]{margin:.35rem 0;font-size:.875rem}.list[data-v-774d3b07]{list-style:none;padding:0;margin:0;font-size:.875rem}.list li[data-v-774d3b07]{padding:.35rem 0;border-bottom:1px solid #f0f0f0}.muted[data-v-774d3b07]{color:#888}.error[data-v-774d3b07]{color:#c00}.page[data-v-91ed7ec2]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-91ed7ec2]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-91ed7ec2]{color:#1890ff;text-decoration:none}.toolbar[data-v-91ed7ec2]{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar select[data-v-91ed7ec2]{margin-left:.25rem;padding:.25rem}.list[data-v-91ed7ec2]{list-style:none;padding:0;margin:0}.list .card[data-v-91ed7ec2]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.75rem;font-size:.875rem}.list p[data-v-91ed7ec2]{margin:.25rem 0}.muted[data-v-91ed7ec2]{color:#888;font-size:.8rem}.pager[data-v-91ed7ec2]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-91ed7ec2]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-91ed7ec2]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-91ed7ec2]{color:#c00}.page[data-v-e73972b8]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-e73972b8]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-e73972b8]{color:#1890ff;text-decoration:none}.list[data-v-e73972b8]{list-style:none;padding:0;margin:0}.list .card[data-v-e73972b8]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.75rem;font-size:.875rem}.list .card--renewal[data-v-e73972b8]{border-left:4px solid #1890ff}.list .card--purchase[data-v-e73972b8]{border-left:4px solid #52c41a}.list p[data-v-e73972b8]{margin:.25rem 0}.list .row[data-v-e73972b8]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tag[data-v-e73972b8]{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.tag--renewal[data-v-e73972b8]{background:#e6f7ff;color:#1890ff}.tag--purchase[data-v-e73972b8]{background:#f6ffed;color:#52c41a}code[data-v-e73972b8]{font-family:ui-monospace,monospace;font-size:.85em}.muted[data-v-e73972b8]{color:#888}.pager[data-v-e73972b8]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-e73972b8]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-e73972b8]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-e73972b8]{color:#c00}.page[data-v-41b06361]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-41b06361]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-41b06361]{color:#1890ff;text-decoration:none}.toolbar[data-v-41b06361]{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.toolbar input[data-v-41b06361],.toolbar select[data-v-41b06361]{padding:.25rem}.toolbar button[data-v-41b06361]{padding:.4rem .8rem;cursor:pointer}.list[data-v-41b06361]{list-style:none;padding:0;margin:0}.list .card[data-v-41b06361]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.75rem;font-size:.875rem}.list p[data-v-41b06361]{margin:.25rem 0}.muted[data-v-41b06361]{color:#888}.pager[data-v-41b06361]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-41b06361]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-41b06361]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-41b06361]{color:#c00}.page[data-v-d7f1f1fc]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-d7f1f1fc]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-d7f1f1fc]{color:#1890ff;text-decoration:none}.list[data-v-d7f1f1fc]{list-style:none;padding:0;margin:0}.list .card[data-v-d7f1f1fc]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.75rem;font-size:.875rem}.list .details[data-v-d7f1f1fc]{color:#555;word-break:break-word}.muted[data-v-d7f1f1fc]{color:#888;font-size:.8rem}.pager[data-v-d7f1f1fc]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-d7f1f1fc]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-d7f1f1fc]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-d7f1f1fc]{color:#c00}.page[data-v-9428c591]{padding:0}.page-head[data-v-9428c591]{margin-bottom:1rem}.page-title[data-v-9428c591]{font-size:1rem;font-weight:600;color:var(--portal-text);display:block}.page-sub[data-v-9428c591]{margin:.35rem 0 0;font-size:.75rem;line-height:1.45;color:var(--portal-text-muted);max-width:52rem}.page-sub code[data-v-9428c591]{font-size:.7rem;padding:.05rem .25rem;border-radius:3px;background:#0000000f}.meta-section[data-v-9428c591]{padding:1rem 1.5rem;margin-bottom:0;border-bottom:none}.info-list[data-v-9428c591]{margin:0;display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;font-size:.8125rem}.info-list dt[data-v-9428c591]{color:var(--portal-text-muted);font-weight:500}.info-list dd[data-v-9428c591]{margin:0 1rem 0 0;color:var(--portal-text)}.tab-bar[data-v-9428c591]{display:flex;gap:0;border-bottom:2px solid var(--portal-border, #e5e7eb);margin:.5rem 0 0;padding:0 1.5rem}.tab-btn[data-v-9428c591]{padding:.625rem 1.25rem;font-size:.8125rem;font-weight:500;border:none;background:none;cursor:pointer;color:var(--portal-text-muted, #6b7280);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:.375rem}.tab-btn[data-v-9428c591]:hover{color:var(--portal-text, #111)}.tab-btn.active[data-v-9428c591]{color:var(--portal-primary, #7e3af2);border-bottom-color:var(--portal-primary, #7e3af2)}.tab-badge[data-v-9428c591]{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;font-size:.6875rem;font-weight:600;background:var(--portal-primary, #7e3af2);color:#fff}.code-section[data-v-9428c591]{padding:1.25rem 1.5rem;margin-top:.75rem}.section-header[data-v-9428c591]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.card-title[data-v-9428c591]{margin:0;font-size:.9375rem;font-weight:600;color:var(--portal-text)}.btn-copy[data-v-9428c591]{min-width:5rem;display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;padding:.375rem .875rem}.acl-code[data-v-9428c591]{width:100%;padding:.75rem 1rem;border:1px solid var(--portal-border, #e5e7eb);border-radius:var(--portal-radius, .5rem);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8125rem;line-height:1.6;color:var(--portal-text);background:#f9fafb;resize:vertical;min-height:200px}.acl-code[data-v-9428c591]:focus{outline:none;border-color:var(--portal-primary, #7e3af2);box-shadow:0 0 0 1px #7e3af226}.muted-msg[data-v-9428c591]{color:var(--portal-text-muted)}.loading-msg[data-v-9428c591]{color:var(--portal-text-muted);padding:1rem 0}.error-msg[data-v-9428c591]{color:#dc2626;font-size:.875rem;margin-top:.5rem}.paginated-list[data-v-3502dc4e]{margin-top:0}.loading[data-v-3502dc4e],.muted[data-v-3502dc4e],.error[data-v-3502dc4e]{margin:.5rem 0}.list[data-v-3502dc4e]{list-style:none;padding:0;margin:0}.list .card[data-v-3502dc4e]{padding:1.25rem 1.5rem;margin-bottom:1rem}.pager[data-v-3502dc4e]{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.pager button[data-v-3502dc4e]{padding:.5rem .9rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-card-bg);color:var(--portal-text);cursor:pointer;font-size:.875rem}.pager button[data-v-3502dc4e]:hover:not(:disabled){border-color:var(--portal-primary);color:var(--portal-primary)}.pager button[data-v-3502dc4e]:disabled{opacity:.5;cursor:not-allowed}.muted[data-v-3502dc4e]{color:var(--portal-text-muted)}.error[data-v-3502dc4e]{color:#dc2626}.page[data-v-55c1a120]{padding:0}.page-head[data-v-55c1a120]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.page-title[data-v-55c1a120]{font-size:1rem;font-weight:600;color:var(--portal-text)}.btn-link[data-v-55c1a120]{font-size:.875rem}.toolbar[data-v-55c1a120]{margin-bottom:1rem}.row[data-v-55c1a120]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.status[data-v-55c1a120]{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:500}.status.pending[data-v-55c1a120]{background:#fff7e6;color:#d46b08}.status.approved[data-v-55c1a120]{background:#f6ffed;color:#389e0d}.status.rejected[data-v-55c1a120]{background:#fff2f0;color:#cf1322}.meta[data-v-55c1a120],.remark[data-v-55c1a120]{font-size:.875rem;color:var(--portal-text-muted);margin:.25rem 0}.page[data-v-a4757a55]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-a4757a55]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-a4757a55]{color:#1890ff;text-decoration:none}.card[data-v-a4757a55]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem}.card p[data-v-a4757a55]{margin:.5rem 0}.content[data-v-a4757a55],.remark[data-v-a4757a55]{white-space:pre-wrap;word-break:break-word}.status[data-v-a4757a55]{padding:.2rem .5rem;border-radius:4px}.status.pending[data-v-a4757a55]{background:#fff7e6}.status.approved[data-v-a4757a55]{background:#f6ffed}.status.rejected[data-v-a4757a55]{background:#fff2f0}.error[data-v-a4757a55]{color:#c00}.page[data-v-a273dd56]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-a273dd56]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-a273dd56]{color:#1890ff;text-decoration:none}.card[data-v-a273dd56]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem}.card label[data-v-a273dd56]{display:block;margin-bottom:.75rem}.card select[data-v-a273dd56],.card textarea[data-v-a273dd56]{width:100%;padding:.5rem;margin-top:.25rem}.card button[data-v-a273dd56]{margin-top:.5rem;padding:.5rem 1rem;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer}.card button[data-v-a273dd56]:disabled{opacity:.6}.error[data-v-a273dd56]{color:#c00}.success[data-v-a273dd56]{color:#389e0d}.page[data-v-0c6a0dc9]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-0c6a0dc9]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-0c6a0dc9]{color:#1890ff;text-decoration:none}.tabs[data-v-0c6a0dc9]{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button[data-v-0c6a0dc9]{padding:.4rem .8rem;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:4px}.tabs button.active[data-v-0c6a0dc9]{background:#1890ff;color:#fff;border-color:#1890ff}.list[data-v-0c6a0dc9]{list-style:none;padding:0;margin:0}.list .card[data-v-0c6a0dc9]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.5rem}.list .card .unread[data-v-0c6a0dc9]{border-left:3px solid #1890ff;margin-left:-1rem;padding-left:1rem}.list .row[data-v-0c6a0dc9]{text-decoration:none;color:inherit;display:flex;justify-content:space-between;align-items:center}.list .title[data-v-0c6a0dc9]{font-weight:500}.list .dot[data-v-0c6a0dc9]{color:#1890ff}.meta[data-v-0c6a0dc9]{font-size:.8rem;color:#888;margin:.25rem 0 0}.pager[data-v-0c6a0dc9]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-0c6a0dc9]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-0c6a0dc9]:disabled{opacity:.5;cursor:not-allowed}.btn-read-all[data-v-0c6a0dc9]{margin-left:auto;padding:.4rem .8rem;font-size:.875rem;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer}.muted[data-v-0c6a0dc9]{color:#888}.error[data-v-0c6a0dc9]{color:#c00}.page[data-v-884412ec]{max-width:640px;margin:0 auto;padding:1rem}header[data-v-884412ec]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}header a[data-v-884412ec]{color:#1890ff;text-decoration:none}.card[data-v-884412ec]{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem}.card h2[data-v-884412ec]{margin:0 0 .5rem;font-size:1.1rem}.meta[data-v-884412ec]{font-size:.875rem;color:#888;margin-bottom:.75rem}.body[data-v-884412ec]{white-space:pre-wrap;word-break:break-word;margin-bottom:1rem}.action-link[data-v-884412ec]{display:inline-block;margin-right:1rem;color:#1890ff}.btn-read[data-v-884412ec]{margin-top:.5rem;padding:.4rem .8rem;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer}.error[data-v-884412ec]{color:#c00}.subscription-page[data-v-8144c88b]{padding:0}.page-header[data-v-8144c88b]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.page-header a[data-v-8144c88b]{color:var(--portal-primary);text-decoration:none}.card-section[data-v-8144c88b]{padding:1.25rem 1.5rem;margin-bottom:1rem}.card-title[data-v-8144c88b]{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.intro[data-v-8144c88b]{color:var(--portal-text-muted);margin:0 0 1.25rem;font-size:.9rem}.plan-group[data-v-8144c88b]{margin-bottom:1.25rem}.plan-grid[data-v-8144c88b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.plan-card[data-v-8144c88b]{text-align:left;border:1px solid var(--portal-border);border-radius:8px;padding:.9rem;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.plan-card[data-v-8144c88b]:hover{border-color:#c4b5fd}.plan-card.active[data-v-8144c88b]{border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf6 inset}.plan-period[data-v-8144c88b]{font-size:.95rem;color:var(--portal-text);margin-bottom:.35rem}.plan-price[data-v-8144c88b]{font-size:1.6rem;font-weight:700;color:#7c3aed;line-height:1;margin-bottom:.45rem}.plan-desc[data-v-8144c88b]{font-size:.8rem;color:var(--portal-text-muted);line-height:1.4;min-height:2.2em}.pay-actions[data-v-8144c88b]{margin-top:.25rem}.error-msg[data-v-8144c88b]{color:#dc2626;margin:.5rem 0;font-size:.9rem}.success-msg[data-v-8144c88b]{color:#065f46;margin:.5rem 0;font-size:.9rem}.refresh-hint[data-v-8144c88b]{margin:.2rem 0 .7rem;color:var(--portal-text-muted);font-size:.86rem}.small[data-v-8144c88b]{font-size:.82rem}.stepup-panel[data-v-8144c88b]{margin-top:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.stepup-title[data-v-8144c88b]{margin:0 0 .35rem;font-size:.95rem;color:var(--portal-text)}.stepup-desc[data-v-8144c88b]{margin:0 0 .75rem;font-size:.84rem;color:var(--portal-text-muted)}.stepup-row[data-v-8144c88b]{display:flex;gap:.5rem;align-items:center}.stepup-input[data-v-8144c88b]{max-width:220px}.stepup-btn[data-v-8144c88b]{white-space:nowrap;border:1px solid var(--portal-border);border-radius:6px;background:#fff;padding:0 12px;height:38px;cursor:pointer}.stepup-btn[data-v-8144c88b]:disabled{cursor:not-allowed;opacity:.6}.stepup-actions[data-v-8144c88b]{display:flex;gap:.5rem;margin-top:.65rem}.stepup-cancel[data-v-8144c88b]{border:1px solid var(--portal-border);border-radius:6px;background:#fff;padding:.45rem .8rem;cursor:pointer}.pay-option[data-v-8144c88b]{margin-bottom:1.5rem}.pay-option[data-v-8144c88b]:last-of-type{margin-bottom:0}.option-title[data-v-8144c88b]{font-size:1rem;font-weight:600;color:var(--portal-text);margin:0 0 .75rem}.btn-xianyu[data-v-8144c88b]{display:inline-block;text-decoration:none}.qr-section .qr-grid[data-v-8144c88b]{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.5rem}.qr-item[data-v-8144c88b]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-label[data-v-8144c88b]{font-size:.875rem;font-weight:500;color:var(--portal-text-muted)}.qr-img[data-v-8144c88b]{width:180px;height:180px;object-fit:contain;border:1px solid var(--portal-border);border-radius:8px}.config-tip[data-v-8144c88b]{margin:1rem 0;font-size:.9rem}.order-link[data-v-8144c88b]{display:inline-block;margin-top:1rem;color:var(--portal-primary);text-decoration:none}.order-link[data-v-8144c88b]:hover{text-decoration:underline}.orders-page[data-v-9131fd75]{padding:0}.page-header[data-v-9131fd75]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.page-header a[data-v-9131fd75]{color:var(--portal-primary);text-decoration:none}.card-section[data-v-9131fd75]{padding:1.25rem 1.5rem}.order-list[data-v-9131fd75]{list-style:none;padding:0;margin:0}.order-card[data-v-9131fd75]{background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:6px;padding:1rem;margin-bottom:.75rem}.order-card .row[data-v-9131fd75]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.order-card .meta[data-v-9131fd75]{margin:.25rem 0;font-size:.875rem;color:var(--portal-text-muted)}.order-card .meta.muted[data-v-9131fd75]{color:var(--portal-text-muted)}.status[data-v-9131fd75]{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:500}.status-pending[data-v-9131fd75]{background:#fef3c7;color:#92400e}.status-paid[data-v-9131fd75]{background:#d1fae5;color:#065f46}.status-fail[data-v-9131fd75],.status-cancel[data-v-9131fd75]{background:#fee2e2;color:#991b1b}.pager[data-v-9131fd75]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pager button[data-v-9131fd75]{padding:.4rem .8rem;cursor:pointer}.pager button[data-v-9131fd75]:disabled{opacity:.5;cursor:not-allowed}.btn-pay[data-v-9131fd75]{margin-top:.5rem;font-size:.875rem;padding:.4rem .75rem}.error-msg[data-v-9131fd75],.error-inline[data-v-9131fd75]{color:#dc2626}.error-inline[data-v-9131fd75]{font-size:.875rem;margin-left:.5rem}.loading-msg[data-v-9131fd75]{color:var(--portal-text-muted);padding:1rem 0}.payment-records-section[data-v-9131fd75]{margin-top:1.5rem}.sub-title[data-v-9131fd75]{font-size:1rem;margin:0 0 .25rem;color:var(--portal-text)}.sub-desc[data-v-9131fd75]{font-size:.875rem;color:var(--portal-text-muted);margin:0 0 1rem}.record-list[data-v-9131fd75]{list-style:none;padding:0;margin:0}.record-card[data-v-9131fd75]{background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:6px;padding:1rem;margin-bottom:.75rem}.record-card--purchase[data-v-9131fd75]{border-left:3px solid #10b981}.record-card--renewal[data-v-9131fd75]{border-left:3px solid var(--portal-primary, #3b82f6)}.record-row[data-v-9131fd75]{margin:0 0 .35rem;font-size:.9375rem}.record-tag[data-v-9131fd75]{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:500;margin-right:.5rem}.record-tag--purchase[data-v-9131fd75]{background:#d1fae5;color:#065f46}.record-tag--renewal[data-v-9131fd75]{background:#dbeafe;color:#1e40af}.record-meta[data-v-9131fd75]{margin:0;font-size:.875rem;color:var(--portal-text-muted)}.record-meta code[data-v-9131fd75]{font-size:.8125rem}.link-more[data-v-9131fd75]{display:inline-block;margin-top:.75rem;font-size:.875rem}.redeem-page[data-v-6cf28316]{padding:0}.page-header[data-v-6cf28316]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.page-header a[data-v-6cf28316]{color:var(--portal-primary);text-decoration:none}.card-section[data-v-6cf28316]{padding:1.25rem 1.5rem;margin-bottom:1rem}.card-title[data-v-6cf28316]{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.intro[data-v-6cf28316]{color:var(--portal-text-muted);margin:0 0 1.25rem;font-size:.9rem}.serial-guide[data-v-6cf28316]{background:#f8f7ff;border:1px solid #e8e5f5;border-radius:8px;padding:.9rem 1.1rem;margin-bottom:1.25rem}.guide-title[data-v-6cf28316]{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--portal-text)}.guide-list[data-v-6cf28316]{margin:0;padding-left:1.2rem;list-style:disc}.guide-list li[data-v-6cf28316]{margin-bottom:.3rem;font-size:.88rem;color:var(--portal-text)}.guide-list code[data-v-6cf28316]{background:#ede9fe;padding:.1em .4em;border-radius:4px;font-size:.85rem;font-weight:600;color:#7c3aed}.guide-account-type[data-v-6cf28316]{margin:0 0 .5rem;font-size:.88rem;color:var(--portal-text)}.guide-note[data-v-6cf28316]{margin:.6rem 0 0;font-size:.82rem;color:var(--portal-text-muted)}.input-row[data-v-6cf28316]{margin-bottom:.75rem}.serial-input[data-v-6cf28316]{width:100%;max-width:360px;font-size:1rem;letter-spacing:.05em;text-transform:uppercase}.action-row[data-v-6cf28316]{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.btn-check[data-v-6cf28316]{padding:.5rem 1.1rem;border:1px solid var(--portal-border);border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;transition:border-color .2s ease,background .2s ease}.btn-check[data-v-6cf28316]:hover:not(:disabled){border-color:#c4b5fd;background:#faf5ff}.btn-check[data-v-6cf28316]:disabled{cursor:not-allowed;opacity:.6}.check-result[data-v-6cf28316]{border:1px solid var(--portal-border);border-radius:8px;padding:.9rem 1.1rem;margin-bottom:1rem;background:#fafafa}.result-title[data-v-6cf28316]{margin:0 0 .6rem;font-size:.95rem;font-weight:600}.result-table[data-v-6cf28316]{border-collapse:collapse;width:100%;max-width:400px}.result-table td[data-v-6cf28316]{padding:.35rem .5rem;font-size:.88rem;vertical-align:top}.result-table .label[data-v-6cf28316]{color:var(--portal-text-muted);white-space:nowrap;width:5rem}.result-table code[data-v-6cf28316]{background:#f3f4f6;padding:.15em .4em;border-radius:4px;font-size:.85rem}.status-ok[data-v-6cf28316]{color:#059669;font-weight:600}.status-used[data-v-6cf28316]{color:#9ca3af;font-weight:600}.status-expired[data-v-6cf28316]{color:#dc2626;font-weight:600}.text-red[data-v-6cf28316]{color:#dc2626}.error-msg[data-v-6cf28316]{color:#dc2626;margin:.5rem 0;font-size:.9rem}.success-box[data-v-6cf28316]{display:flex;align-items:center;gap:.5rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:.75rem 1rem;margin:.75rem 0;color:#065f46;font-size:.95rem;font-weight:500}.success-icon[data-v-6cf28316]{font-size:1.2rem;color:#059669;flex-shrink:0}.receipt-box[data-v-6cf28316]{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:1rem 1.25rem;margin:.75rem 0}.receipt-header[data-v-6cf28316]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.receipt-title[data-v-6cf28316]{color:#065f46;font-size:1rem;font-weight:600}.receipt-table[data-v-6cf28316]{border-collapse:collapse;width:100%;max-width:420px}.receipt-table td[data-v-6cf28316]{padding:.4rem .5rem;font-size:.88rem;vertical-align:top;border-bottom:1px solid #d1fae5}.receipt-table tr:last-child td[data-v-6cf28316]{border-bottom:none}.receipt-table .label[data-v-6cf28316]{color:#6b7280;white-space:nowrap;width:6rem}.receipt-table code[data-v-6cf28316]{background:#d1fae5;padding:.1em .35em;border-radius:4px;font-size:.84rem}.text-highlight[data-v-6cf28316]{color:#059669;font-weight:600}.receipt-links[data-v-6cf28316]{display:flex;gap:1rem;margin-top:.75rem;font-size:.85rem}.receipt-links a[data-v-6cf28316]{color:#047857;text-decoration:underline}.purchase-flow[data-v-6cf28316]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem;background:#faf5ff;border-radius:8px;flex-wrap:wrap}.flow-step[data-v-6cf28316]{display:flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--portal-text)}.step-num[data-v-6cf28316]{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#7c3aed;color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.flow-arrow[data-v-6cf28316]{color:#c4b5fd;font-size:1rem;font-weight:700}.shop-card[data-v-6cf28316]{border:1px solid var(--portal-border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;background:#fff;transition:box-shadow .2s ease}.shop-card[data-v-6cf28316]:hover{box-shadow:0 2px 12px #0000000f}.shop-card-muted[data-v-6cf28316]{background:#fafafa;color:var(--portal-text-muted);font-size:.9rem}.shop-header[data-v-6cf28316]{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.shop-icon[data-v-6cf28316]{font-size:1.5rem;flex-shrink:0}.shop-info[data-v-6cf28316]{display:flex;align-items:center;gap:.5rem}.shop-name[data-v-6cf28316]{font-weight:600;font-size:1rem;color:var(--portal-text)}.shop-tag[data-v-6cf28316]{padding:.1em .5em;border-radius:4px;font-size:.72rem;font-weight:600;background:#ede9fe;color:#7c3aed}.shop-body[data-v-6cf28316]{display:flex;flex-direction:column;gap:.75rem}.qr-area[data-v-6cf28316]{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#fafafa;border-radius:8px;border:1px dashed #e5e7eb}.qr-img[data-v-6cf28316]{width:180px;height:180px;border-radius:6px;border:1px solid #e5e7eb;background:#fff}.qr-tip[data-v-6cf28316]{margin:.5rem 0 0;font-size:.82rem;color:var(--portal-text-muted)}.shop-actions[data-v-6cf28316]{display:flex;gap:.6rem;flex-wrap:wrap}.btn-shop[data-v-6cf28316]{padding:.55rem 1.2rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;text-align:center;border:none;transition:background .2s ease,transform .1s ease;flex:1;min-width:120px}.btn-shop[data-v-6cf28316]:active{transform:scale(.97)}.shop-card-featured[data-v-6cf28316]{border-color:#7c3aed;border-width:2px;background:#faf5ff}.btn-faka[data-v-6cf28316]{background:#7c3aed;color:#fff}.btn-faka[data-v-6cf28316]:hover{background:#6d28d9}.tag-hot[data-v-6cf28316]{background:#dc2626!important;color:#fff!important}.tag-manual[data-v-6cf28316]{background:#f3f4f6!important;color:#6b7280!important}.faka-note[data-v-6cf28316]{padding:.6rem .75rem;background:#ecfdf5;border-radius:6px;border:1px solid #a7f3d0}.faka-note p[data-v-6cf28316]{margin:.15rem 0;font-size:.82rem;color:#065f46}.btn-xianyu[data-v-6cf28316]{background:#ffe566;color:#3d3d3d}.btn-xianyu[data-v-6cf28316]:hover{background:#ffd900}.btn-taobao[data-v-6cf28316]{background:#ff5000;color:#fff}.btn-taobao[data-v-6cf28316]:hover{background:#e64800}.btn-copy[data-v-6cf28316]{background:#f3f4f6;color:var(--portal-text);border:1px solid var(--portal-border)}.btn-copy[data-v-6cf28316]:hover{background:#e5e7eb}.mobile-tip[data-v-6cf28316]{margin:0;padding:.5rem .75rem;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:.82rem;color:#92400e;line-height:1.5}.other-channels[data-v-6cf28316]{padding-top:.5rem;font-size:.85rem}.other-label[data-v-6cf28316]{color:var(--portal-text-muted)}.channel-muted[data-v-6cf28316]{color:var(--portal-text-muted);font-size:.85rem}:root{--portal-primary: #7e3af2;--portal-primary-hover: #6c2bd9;--portal-primary-light: rgba(126, 58, 242, .12);--portal-text: #1e293b;--portal-text-muted: #64748b;--portal-border: #e2e8f0;--portal-bg: #f8fafc;--portal-card-bg: #fff;--portal-card-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--portal-radius: 6px;--portal-input-focus-shadow: 0 0 0 2px rgba(126, 58, 242, .18);--portal-sidebar-bg: #0f172a;--portal-sidebar-text: #94a3b8;--portal-sidebar-text-hover: #e2e8f0;--portal-sidebar-active-bg: rgba(126, 58, 242, .15);--portal-sidebar-active-text: #a78bfa;--portal-sidebar-group-text: #475569;--portal-sidebar-width: 240px;--portal-sidebar-collapsed-width: 0px;--portal-topbar-height: 56px;--portal-topbar-bg: #fff;--portal-topbar-shadow: 0 1px 2px rgba(0, 0, 0, .06);--portal-step-active: #7e3af2;--portal-step-done: #10b981;--portal-step-pending: #cbd5e1;--portal-step-text: #64748b;--portal-plan-badge: #f59e0b;--portal-plan-highlight-border: #7e3af2;--portal-plan-highlight-bg: rgba(126, 58, 242, .04);--portal-success: #10b981;--portal-warning: #f59e0b;--portal-danger: #ef4444;--portal-info: #3b82f6}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.875rem;color:var(--portal-text);background-color:var(--portal-bg);line-height:1.6}.app{min-height:100vh}.portal-card{background-color:var(--portal-card-bg);border-radius:var(--portal-radius);box-shadow:var(--portal-card-shadow);border:1px solid var(--portal-border)}.portal-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background-color:var(--portal-primary);color:#fff;border:none;border-radius:var(--portal-radius);padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease;text-decoration:none}.portal-btn-primary:hover:not(:disabled){background-color:var(--portal-primary-hover);box-shadow:0 1px 3px #7e3af24d}.portal-btn-primary:disabled{opacity:.55;cursor:not-allowed}.portal-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background-color:#fff;color:var(--portal-text);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-decoration:none}.portal-btn-secondary:hover:not(:disabled){background-color:var(--portal-bg);border-color:var(--portal-primary);color:var(--portal-primary)}.portal-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.portal-btn-sm{padding:.3rem .65rem;font-size:.8125rem}.portal-btn-lg{padding:.65rem 1.5rem;font-size:.9375rem}.portal-link{color:var(--portal-primary);text-decoration:none;font-weight:500}.portal-link:hover{text-decoration:underline}.portal-input{width:100%;padding:.5rem .75rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);font-size:.875rem;color:var(--portal-text);background-color:#fff;transition:border-color .15s ease,box-shadow .15s ease}.portal-input::placeholder{color:var(--portal-text-muted)}.portal-input:focus{outline:none;border-color:var(--portal-primary);box-shadow:var(--portal-input-focus-shadow)}.portal-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8.825a.5.5 0 0 1-.354-.146l-3.5-3.5a.5.5 0 1 1 .708-.708L6 7.618l3.146-3.147a.5.5 0 1 1 .708.708l-3.5 3.5A.5.5 0 0 1 6 8.825z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.portal-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;line-height:1.4}.portal-badge-success{background:#ecfdf5;color:#059669}.portal-badge-warning{background:#fffbeb;color:#d97706}.portal-badge-danger{background:#fef2f2;color:#dc2626}.portal-badge-info{background:#eff6ff;color:#2563eb}.portal-badge-neutral{background:#f1f5f9;color:#475569}.wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:1.5rem;padding:0;list-style:none;counter-reset:step}.wizard-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;counter-increment:step}.wizard-step:before{content:counter(step);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;background:var(--portal-step-pending);color:#fff;margin-bottom:.375rem;position:relative;z-index:1;transition:background .2s}.wizard-step.is-active:before{background:var(--portal-step-active)}.wizard-step.is-done:before{content:"✓";background:var(--portal-step-done)}.wizard-step-label{font-size:.75rem;color:var(--portal-step-text);text-align:center;white-space:nowrap}.wizard-step.is-active .wizard-step-label{color:var(--portal-primary);font-weight:600}.wizard-step.is-done .wizard-step-label{color:var(--portal-step-done)}.wizard-step+.wizard-step:after{content:"";position:absolute;top:16px;right:50%;width:100%;height:2px;background:var(--portal-step-pending);z-index:0}.wizard-step.is-done+.wizard-step:after,.wizard-step.is-active+.wizard-step:after{background:var(--portal-step-done)}.portal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.portal-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 30px #0000002e;width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column}.portal-dialog-header{padding:1rem 1.25rem;border-bottom:1px solid var(--portal-border);font-size:1rem;font-weight:600}.portal-dialog-body{padding:1.25rem;overflow-y:auto;flex:1}.portal-dialog-footer{padding:.75rem 1.25rem;border-top:1px solid var(--portal-border);display:flex;justify-content:flex-end;gap:.5rem}.portal-code-box{position:relative;background:#1e293b;color:#e2e8f0;border-radius:var(--portal-radius);padding:.75rem 1rem;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.8125rem;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.portal-code-copy{position:absolute;top:.5rem;right:.5rem;background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:.2rem .5rem;font-size:.75rem;cursor:pointer;transition:background .15s}.portal-code-copy:hover{background:#fff3}@media (max-width: 768px){.wizard-step-label{font-size:.6875rem}}
