.icon[data-v-1e646ab1]{flex:0 0 auto;display:block}.dw-root[data-v-bdc63e3f]{position:fixed;inset:0;z-index:70}.dw-mask[data-v-bdc63e3f]{position:absolute;inset:0;background:hsl(var(--inverse) / .5);backdrop-filter:blur(2px)}.dw-panel[data-v-bdc63e3f]{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(440px,100%);background:hsl(var(--card));border-left:1px solid hsl(var(--border));box-shadow:-40px 0 90px -50px hsl(var(--foreground) / .6)}.dw-grab[data-v-bdc63e3f]{display:none}.dw-head[data-v-bdc63e3f]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid hsl(var(--border))}.dw-titles[data-v-bdc63e3f]{min-width:0}.dw-eyebrow[data-v-bdc63e3f]{margin:0 0 4px;font-size:10.5px;font-weight:700;letter-spacing:.16em;color:hsl(var(--muted-foreground))}.dw-title[data-v-bdc63e3f]{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}.dw-body[data-v-bdc63e3f]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 18px 24px}.dw-enter-active .dw-panel[data-v-bdc63e3f],.dw-leave-active .dw-panel[data-v-bdc63e3f]{transition:transform .3s cubic-bezier(.22,.61,.36,1)}.dw-enter-from .dw-panel[data-v-bdc63e3f],.dw-leave-to .dw-panel[data-v-bdc63e3f]{transform:translate(102%)}.dw-enter-active .dw-mask[data-v-bdc63e3f],.dw-leave-active .dw-mask[data-v-bdc63e3f]{transition:opacity .26s ease}.dw-enter-from .dw-mask[data-v-bdc63e3f],.dw-leave-to .dw-mask[data-v-bdc63e3f]{opacity:0}@media (max-width: 640px){.dw-panel[data-v-bdc63e3f]{top:auto;left:0;width:100%;height:86vh;border-left:0;border-top:1px solid hsl(var(--border));border-radius:18px 18px 0 0}.dw-grab[data-v-bdc63e3f]{display:block;width:38px;height:4px;margin:8px auto 0;border-radius:999px;background:hsl(var(--border))}.dw-head[data-v-bdc63e3f]{padding-top:12px}.dw-enter-from .dw-panel[data-v-bdc63e3f],.dw-leave-to .dw-panel[data-v-bdc63e3f]{transform:translateY(102%)}}.info-grid[data-v-a9f3e23e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.break[data-v-a9f3e23e]{overflow-wrap:anywhere}.switch-row[data-v-a9f3e23e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer}.switch-row[data-v-a9f3e23e]:last-of-type{border-bottom:none}.switch-row input[type=checkbox][data-v-a9f3e23e]{width:18px;height:18px;accent-color:var(--accent)}.notice-list[data-v-548e7d68]{display:flex;flex-direction:column;gap:12px}.notice-item[data-v-548e7d68]{border:1px solid hsl(var(--border));border-radius:12px;padding:14px 15px;background:hsl(var(--secondary) / .35)}.notice-head[data-v-548e7d68]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.notice-head h4[data-v-548e7d68]{margin:0;font-size:14.5px;font-weight:650;line-height:1.4}.notice-head time[data-v-548e7d68]{flex:0 0 auto;font-size:11.5px;color:hsl(var(--muted-foreground))}.notice-body[data-v-548e7d68]{font-size:13px;line-height:1.75;color:hsl(var(--muted-foreground));overflow-wrap:anywhere}.notice-body[data-v-548e7d68] p{margin:0 0 8px}.notice-body[data-v-548e7d68] p:last-child{margin-bottom:0}.notice-body[data-v-548e7d68] a{color:hsl(var(--primary));text-decoration:underline}.notice-body[data-v-548e7d68] img{max-width:100%;height:auto;border-radius:8px}.notice-body[data-v-548e7d68] ul,.notice-body[data-v-548e7d68] ol{margin:0 0 8px;padding-left:20px}.notice-body[data-v-548e7d68] code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 5px;border-radius:5px;background:hsl(var(--secondary))}.topbar-logo[data-v-ed33614f],.topbar-logo-link[data-v-ed33614f]{display:none}.search-box[data-v-ed33614f]{position:relative;display:block}button.avatar-pill[data-v-ed33614f]{cursor:pointer;font:inherit;color:inherit;text-align:left}button.avatar-pill[data-v-ed33614f]:hover{border-color:hsl(var(--primary) / .4)}@media (max-width: 1024px){.topbar-titles[data-v-ed33614f]{display:none}.topbar-logo[data-v-ed33614f]{display:block;height:24px;max-width:120px;flex:0 0 auto}.topbar-logo-link[data-v-ed33614f]{display:inline-flex;align-items:center;flex:0 0 auto;border-radius:8px;-webkit-tap-highlight-color:transparent}.topbar-logo-link[data-v-ed33614f]:active{opacity:.75}.brand-logo.topbar-logo[data-v-ed33614f]{width:26px;height:26px;border-radius:8px}.search-box[data-v-ed33614f]{display:none}}.qr-box[data-v-3f838725]{width:var(--v8dc7aaf4);height:var(--v8dc7aaf4);background:#fff;border-radius:12px;padding:6px;display:flex;align-items:center;justify-content:center}.qr-empty[data-v-3f838725]{color:#8892a4;font-size:12px}.chart-wrap[data-v-fbb6d0b8]{width:100%}svg[data-v-fbb6d0b8]{display:block;width:100%}.overview-grid[data-v-d553f1cb]{display:grid;gap:14px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.chart-foot[data-v-d553f1cb]{display:flex;justify-content:space-between;gap:12px;border-top:1px solid hsl(var(--border));padding-top:12px;margin-top:12px;flex-wrap:wrap}.plan-box[data-v-d553f1cb]{display:flex;gap:14px;align-items:flex-start}.qr-holder[data-v-d553f1cb]{flex:0 0 auto}.qr-lock[data-v-d553f1cb]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:104px;height:104px;border-radius:12px;border:1px dashed hsl(var(--border));background:hsl(var(--muted) / .35);color:hsl(var(--muted-foreground));font-size:12px}.plan-info[data-v-d553f1cb]{min-width:0}.kv[data-v-d553f1cb]{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:13px;color:hsl(var(--muted-foreground))}.kv b[data-v-d553f1cb]{color:hsl(var(--foreground));font-weight:600}.node-row[data-v-d553f1cb]{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid hsl(var(--border));font-size:13px}.node-row[data-v-d553f1cb]:last-child{border-bottom:none}.node-dot[data-v-d553f1cb]{width:7px;height:7px;border-radius:50%;background:hsl(var(--success));flex:0 0 auto}.node-dot.off[data-v-d553f1cb]{background:hsl(var(--danger))}.node-name[data-v-d553f1cb]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1024px){.overview-grid[data-v-d553f1cb]{grid-template-columns:1fr}}.tab-link[data-v-4101798e]{display:flex;align-items:center;justify-content:center;height:36px;border-radius:9px;font-size:14px;font-weight:600;color:hsl(var(--muted-foreground))}.tab-link[data-v-4101798e]:hover{color:hsl(var(--foreground))}.err[data-v-4101798e]{color:hsl(var(--danger));font-size:12px;font-weight:500;margin:6px 0 0}.link[data-v-4101798e]{color:hsl(var(--primary));font-size:12.5px;font-weight:500}.link[data-v-4101798e]:hover{text-decoration:underline}.check-row[data-v-4101798e]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:hsl(var(--muted-foreground));cursor:pointer;margin-top:10px}.check-row input[data-v-4101798e]{width:16px;height:16px;accent-color:hsl(var(--primary))}.is-invalid[data-v-4101798e]{border-color:hsl(var(--danger))!important;box-shadow:0 0 0 3px hsl(var(--danger) / .14)!important}.tab-link[data-v-e433d04f]{display:flex;align-items:center;justify-content:center;height:36px;border-radius:9px;font-size:14px;font-weight:600;color:hsl(var(--muted-foreground))}.tab-link[data-v-e433d04f]:hover{color:hsl(var(--foreground))}.err[data-v-e433d04f]{color:hsl(var(--danger));font-size:12px;font-weight:500;margin:10px 0 0}.link[data-v-e433d04f]{color:hsl(var(--primary));font-size:12.5px;font-weight:500}.check-row[data-v-e433d04f]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:hsl(var(--muted-foreground));cursor:pointer;margin-top:4px}.check-row input[data-v-e433d04f]{width:16px;height:16px;accent-color:hsl(var(--primary))}.strength[data-v-e433d04f]{display:flex;align-items:center;gap:10px;margin-top:8px}.strength-bar[data-v-e433d04f]{flex:1;height:4px;border-radius:999px;background:hsl(var(--secondary));overflow:hidden}.strength-fill[data-v-e433d04f]{height:100%;border-radius:999px;transition:width .2s ease,background-color .2s ease;background:hsl(var(--danger))}.strength-fill[data-level="2"][data-v-e433d04f]{background:hsl(var(--warning))}.strength-fill[data-level="3"][data-v-e433d04f]{background:hsl(var(--primary))}.strength-fill[data-level="4"][data-v-e433d04f]{background:hsl(var(--success))}.strength-text[data-v-e433d04f]{font-size:11.5px;color:hsl(var(--muted-foreground));white-space:nowrap}.plan-card[data-v-326ec2bb]{display:flex;flex-direction:column}.plan-name[data-v-326ec2bb]{font-size:15px;font-weight:650}.plan-price[data-v-326ec2bb]{margin:14px 0 10px;display:flex;align-items:baseline;gap:3px}.currency[data-v-326ec2bb]{color:var(--muted);font-size:14px}.amount[data-v-326ec2bb]{font-size:28px;font-weight:700}.periods[data-v-326ec2bb]{display:flex;flex-wrap:wrap;gap:6px}.period-chip[data-v-326ec2bb]{height:30px;padding:0 11px;border-radius:999px;border:1px solid hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:600;cursor:pointer;transition:.16s}.period-chip[data-v-326ec2bb]:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .4)}.period-chip.active[data-v-326ec2bb]{border-color:transparent;color:hsl(var(--primary-foreground));background-image:linear-gradient(135deg,hsl(var(--btn-from)),hsl(var(--btn-to)))}.plan-content[data-v-326ec2bb]{color:hsl(var(--muted-foreground));font-size:12.5px;margin-top:12px;flex:1}.plan-content[data-v-326ec2bb] ul{margin:0;padding-left:18px}.methods[data-v-326ec2bb]{display:flex;flex-direction:column;gap:8px}.method[data-v-326ec2bb]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:.16s}.method.active[data-v-326ec2bb]{border-color:var(--accent);background:var(--accent-soft)}.qr-wrap[data-v-326ec2bb]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0}.total[data-v-326ec2bb]{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.total-amount[data-v-326ec2bb]{font-size:22px;font-weight:700;color:var(--accent)}.lock-zone[data-v-ccbad6a5]{position:relative}.lock-zone.is-locked>.card[data-v-ccbad6a5],.lock-zone.is-locked>.grid[data-v-ccbad6a5]{filter:blur(6px) saturate(.7);pointer-events:none;user-select:none}.lock-mask[data-v-ccbad6a5]{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;border-radius:16px;background:hsl(var(--card) / .6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.lock-ico[data-v-ccbad6a5]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:hsl(var(--primary));background:hsl(var(--primary) / .12);border:1px solid hsl(var(--primary) / .2)}.lock-title[data-v-ccbad6a5]{margin:4px 0 0;font-size:15px;font-weight:650;color:hsl(var(--foreground))}.lock-desc[data-v-ccbad6a5]{margin:0 0 8px;max-width:340px;font-size:12.5px;line-height:1.65;color:hsl(var(--muted-foreground))}.qr-center[data-v-ccbad6a5]{display:flex;flex-direction:column;align-items:center;gap:4px}.clients[data-v-ccbad6a5]{display:flex;flex-direction:column;gap:8px}.line-bar[data-v-ccbad6a5]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.line-tag[data-v-ccbad6a5]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:hsl(var(--muted-foreground));white-space:nowrap}.line-tag .dot[data-v-ccbad6a5]{width:6px;height:6px;border-radius:50%;background:hsl(var(--primary))}.methods[data-v-4cf34923]{display:flex;flex-direction:column;gap:8px}.method[data-v-4cf34923]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.method.active[data-v-4cf34923]{border-color:var(--accent);background:var(--accent-soft)}.qr-wrap[data-v-4cf34923]{display:flex;flex-direction:column;align-items:center;gap:8px}.messages[data-v-7382a019]{display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow:auto}.msg[data-v-7382a019]{max-width:82%;padding:10px 12px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--border)}.msg.mine[data-v-7382a019]{align-self:flex-end;background:var(--accent-soft);border-color:transparent}.msg-body[data-v-7382a019]{white-space:pre-wrap;word-break:break-word;font-size:13px}.msg-time[data-v-7382a019]{color:var(--muted-2);font-size:11px;margin-top:4px}.codes[data-v-43f129e1]{display:flex;flex-direction:column;gap:10px}.code-row[data-v-43f129e1]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);flex-wrap:wrap}.doc[data-v-a48df475]{text-align:left;cursor:pointer;transition:.16s;color:var(--text)}.doc[data-v-a48df475]:hover{border-color:var(--border-strong);transform:translateY(-1px)}.doc-title[data-v-a48df475]{font-size:14px;font-weight:600}.doc-body[data-v-a48df475]{font-size:13.5px;line-height:1.8;word-break:break-word}.doc-body[data-v-a48df475] img{max-width:100%;border-radius:10px}.doc-body[data-v-a48df475] pre{background:var(--bg-soft);padding:12px;border-radius:10px;overflow:auto}.doc-body[data-v-a48df475] a{color:var(--accent)}:root{--radius: .875rem;--background: 220 33% 97%;--foreground: 217 30% 13%;--card: 0 0% 100%;--card-foreground: 217 30% 13%;--primary: 226 88% 53%;--primary-foreground: 0 0% 100%;--secondary: 216 36% 95%;--secondary-foreground: 217 30% 13%;--muted: 216 36% 95%;--muted-foreground: 219 13% 44%;--accent: 260 82% 56%;--accent-foreground: 0 0% 100%;--border: 218 26% 90%;--input: 218 24% 86%;--ring: 226 88% 53%;--success: 155 62% 36%;--warning: 34 88% 40%;--danger: 355 78% 48%;--inverse: 221 34% 8%;--inverse-foreground: 214 45% 96%;--inverse-muted: 218 15% 64%;--btn-from: 226 92% 50%;--btn-to: 260 84% 52%}[data-theme=dark]{--background: 220 18% 6%;--foreground: 219 45% 94%;--card: 220 24% 11%;--card-foreground: 219 45% 94%;--primary: 222 100% 71%;--primary-foreground: 0 0% 100%;--secondary: 220 22% 15%;--secondary-foreground: 219 45% 94%;--muted: 220 22% 15%;--muted-foreground: 218 14% 63%;--accent: 262 95% 74%;--accent-foreground: 221 34% 8%;--border: 220 16% 19%;--input: 220 15% 24%;--ring: 222 100% 71%;--success: 155 55% 52%;--warning: 40 92% 62%;--danger: 356 86% 66%;--inverse: 220 26% 9%;--inverse-foreground: 214 45% 96%;--inverse-muted: 218 15% 64%;--btn-from: 226 92% 52%;--btn-to: 260 84% 55%}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55}#app{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}::selection{background:hsl(var(--primary) / .22)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:999px}.g-brand{background-image:linear-gradient(135deg,hsl(var(--btn-from)),hsl(var(--btn-to)));color:#fff}.g-text{background-image:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}.blob-brand{background-image:radial-gradient(circle at 30% 30%,hsl(var(--btn-from) / .55),hsl(var(--btn-to) / .35) 45%,transparent 70%)}.panel-grid{background-image:linear-gradient(hsl(var(--inverse-foreground) / .05) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--inverse-foreground) / .05) 1px,transparent 1px);background-size:44px 44px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:calc(var(--radius) - 4px);border:1px solid hsl(var(--input));background:hsl(var(--secondary));color:hsl(var(--foreground));font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .16s ease,background-color .16s,box-shadow .16s,border-color .16s,filter .16s,color .16s}.btn:hover:not(:disabled){background-color:hsl(var(--card));border-color:hsl(var(--primary) / .45)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .28)}.btn-primary{color:hsl(var(--primary-foreground));border-color:transparent;background-image:linear-gradient(135deg,hsl(var(--btn-from)),hsl(var(--btn-to)));box-shadow:0 12px 26px -14px hsl(var(--btn-from) / 1)}.btn-primary:hover:not(:disabled){background-color:transparent;background-image:linear-gradient(135deg,hsl(var(--btn-from)),hsl(var(--btn-to)));filter:brightness(1.08)}.btn-outline{border-color:hsl(var(--input));background:transparent;color:hsl(var(--foreground))}.btn-outline:hover:not(:disabled){background:hsl(var(--secondary));border-color:hsl(var(--primary) / .45)}.btn-list{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 14px;border-radius:10px;border:1px solid hsl(var(--input));background:hsl(var(--secondary));color:hsl(var(--foreground));font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .16s,background-color .16s,color .16s,transform .16s}.btn-list:hover{border-color:hsl(var(--primary) / .55);background:hsl(var(--card));color:hsl(var(--primary))}.btn-list:active{transform:translateY(1px)}.btn-list .bico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--primary));flex:0 0 auto}.btn-list .btxt{display:flex;flex-direction:column;line-height:1.25;min-width:0}.btn-list .btxt small{font-size:11.5px;font-weight:500;color:hsl(var(--muted-foreground))}.btn-list .chev{margin-left:auto;color:hsl(var(--muted-foreground));flex:0 0 auto}.btn-list:hover .chev{color:hsl(var(--primary))}.btn-ghost{color:hsl(var(--muted-foreground));background:transparent}.btn-ghost:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.btn-sm{height:34px;padding:0 12px;font-size:13px}.btn-lg{height:46px;font-size:15px}.btn-block{width:100%}.btn-icon{width:38px;height:38px;padding:0;border-radius:10px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost.btn-block,.btn-block{display:flex}.card,.card-el{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.card{padding:18px}.card+.card{margin-top:14px}.card-hover{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card-hover:hover{transform:translateY(-2px);border-color:hsl(var(--primary) / .35);box-shadow:0 22px 44px -32px hsl(var(--foreground) / .55)}.card-title{font-size:14px;font-weight:650;margin:0 0 14px;display:flex;align-items:center;gap:8px}.stat-card{position:relative;overflow:hidden;padding:16px 18px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color .2s ease,box-shadow .2s ease}.stat-card:hover{border-color:hsl(var(--primary) / .28);box-shadow:0 22px 44px -36px hsl(var(--foreground) / .6)}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.stat-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.stat-value{font-size:26px;font-weight:650;letter-spacing:.2px;margin:10px 0 2px}.stat-value small{font-size:13px;font-weight:500;color:hsl(var(--muted-foreground));margin-left:3px}.stat-foot{color:hsl(var(--muted-foreground));font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.metric{padding:16px 18px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.metric-label{color:hsl(var(--muted-foreground));font-size:12.5px}.metric-value{font-size:22px;font-weight:650;margin-top:6px}.metric-sub{color:hsl(var(--muted-foreground));font-size:12px;margin-top:4px;opacity:.85}.input,.select,.textarea,.field{width:100%;min-height:44px;padding:10px 14px;border-radius:10px;border:1px solid hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground));font-size:14px;font-family:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.textarea{min-height:110px;resize:vertical;line-height:1.6}.input::placeholder,.field::placeholder,.textarea::placeholder{color:hsl(var(--muted-foreground) / .75)}.input:focus,.select:focus,.textarea:focus,.field:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--ring) / .18);background:hsl(var(--card))}.has-icon{padding-left:38px}.field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.field-trail{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:hsl(var(--muted-foreground));background:transparent;border:none;cursor:pointer}.field-trail:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.field{margin-bottom:0}.label{display:block;font-size:12.5px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:7px}.hint{color:hsl(var(--muted-foreground));font-size:12px;margin-top:6px}.badge,.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.badge-primary,.pill-primary{background:hsl(var(--primary) / .14);color:hsl(var(--primary))}.badge-success,.pill-ok{background:hsl(var(--success) / .14);color:hsl(var(--success))}.badge-warning,.pill-warn{background:hsl(var(--warning) / .14);color:hsl(var(--warning))}.badge-danger,.pill-danger{background:hsl(var(--danger) / .14);color:hsl(var(--danger))}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:hsl(var(--secondary))}.seg-btn{height:30px;padding:0 12px;border-radius:8px;border:none;cursor:pointer;font-size:13px;font-weight:600;color:hsl(var(--muted-foreground));background:transparent;transition:background-color .16s,color .16s,box-shadow .16s}.seg-btn[aria-pressed=true]{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 3px hsl(var(--foreground) / .12)}.chip{height:32px;padding:0 14px;border-radius:999px;cursor:pointer;border:1px solid hsl(var(--border));background:transparent;font-size:13px;font-weight:600;color:hsl(var(--muted-foreground));transition:.16s;display:inline-flex;align-items:center}.chip:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .4)}.chip[aria-pressed=true]{color:hsl(var(--primary-foreground));border-color:transparent;background-image:linear-gradient(135deg,hsl(var(--btn-from)),hsl(var(--btn-to)))}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:232px;flex:0 0 232px;display:flex;flex-direction:column;gap:3px;padding:16px;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .4)}.brand{display:flex;align-items:center;gap:10px;padding:0 13px 0 11px;margin-bottom:16px;min-height:32px}.brand.is-centered{justify-content:center;padding:0}.brand-logo{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-mark{display:block;height:30px;width:auto;max-width:154px}.brand-mark.is-mobile{height:22px;max-width:108px}[data-theme=dark] .brand-mark{filter:brightness(1.22) saturate(1.05)}.auth-brand .brand-mark{height:44px;max-width:200px}.brand-name{font-size:15px;font-weight:650;letter-spacing:-.01em;line-height:1.2}.brand-sub{font-size:11px;letter-spacing:.16em;color:hsl(var(--muted-foreground));line-height:1.3}.nav-label{padding:0 13px 4px;font-size:11.5px;font-weight:650;letter-spacing:.12em;color:hsl(var(--muted-foreground))}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:10px;font-size:14px;color:hsl(var(--muted-foreground));transition:background-color .16s,color .16s;border:1px solid transparent}.nav-item:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.nav-item.active,.nav-item.is-active{background:hsl(var(--card));color:hsl(var(--foreground));font-weight:600;border-color:hsl(var(--border));box-shadow:0 1px 3px hsl(var(--foreground) / .06)}.nav-item.active .icon,.nav-item.is-active .icon{color:hsl(var(--primary))}button.nav-item,.nav-button{width:100%;text-align:left;background:transparent;border:none;cursor:pointer;font-family:inherit}button.nav-item:hover,.nav-button:hover{background:hsl(var(--secondary))}.nav-badge{margin-left:auto;border-radius:999px;padding:0 6px;font-size:12px;font-weight:600;background:hsl(var(--warning) / .12);color:hsl(var(--warning))}.nav-spacer{flex:1}.side-promo{position:relative;overflow:hidden;border-radius:12px;border:1px solid hsl(var(--primary) / .25);background:hsl(var(--card));padding:14px}.side-promo .blob{position:absolute;right:-34px;top:-34px;width:90px;height:90px;border-radius:50%;filter:blur(14px);opacity:.3}.side-promo p{position:relative;margin:0;font-size:13px;font-weight:650}.side-promo small{position:relative;display:block;margin-top:4px;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.side-promo .btn{position:relative;margin-top:10px}.bar-track{height:5px;border-radius:999px;background:hsl(var(--secondary));overflow:hidden;margin-top:8px}.bar-fill{height:100%;border-radius:999px;background-image:linear-gradient(90deg,hsl(var(--btn-from)),hsl(var(--btn-to)));transition:width .4s ease}.bar-fill.is-danger{background-image:linear-gradient(90deg,hsl(var(--warning)),hsl(var(--danger)))}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:60px;padding:0 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background) / .85);backdrop-filter:blur(10px)}.topbar-title{font-size:15px;font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-path{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar-pill{display:flex;align-items:center;gap:10px;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:999px;padding:3px 12px 3px 3px;margin-left:4px}.avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:650;flex:0 0 auto}.avatar-meta{line-height:1.2}.avatar-meta b{display:block;font-size:12.5px;font-weight:650;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-meta span{display:block;font-size:11.5px;color:hsl(var(--muted-foreground))}.mobile-nav{display:none}.content{width:100%;max-width:1240px;margin:0 auto;padding:28px 24px 40px;flex:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.16em;color:hsl(var(--muted-foreground));margin:0 0 6px}.page-title{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.2}.page-desc{color:hsl(var(--muted-foreground));font-size:13px;margin:6px 0 0}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;color:hsl(var(--muted-foreground));font-weight:600;font-size:12px;letter-spacing:.02em;padding:10px 14px;border-bottom:1px solid hsl(var(--border));white-space:nowrap}.table td{padding:13px 14px;border-bottom:1px solid hsl(var(--border));vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:hsl(var(--secondary) / .5)}.table td.cell-actions{text-align:right;white-space:nowrap}@media (max-width: 768px){.table.is-stack,.table.is-stack tbody,.table.is-stack tr,.table.is-stack td{display:block;width:100%}.table.is-stack thead{display:none}.table.is-stack tr{padding:10px 14px 12px;border-bottom:1px solid hsl(var(--border))}.table.is-stack tbody tr:last-child{border-bottom:0}.table.is-stack tbody tr:hover td{background:transparent}.table.is-stack td{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:10px;padding:4px 0;border:0;text-align:left!important;font-size:13px;overflow-wrap:anywhere}.table.is-stack td:before{content:attr(data-label);color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.table.is-stack td:not([data-label]):before{content:none}.table.is-stack td.cell-title{display:block;padding-bottom:6px;font-weight:600}.table.is-stack td.cell-title:before{display:block;margin-bottom:2px;font-weight:400}.table.is-stack td.cell-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:10px}.table.is-stack td.cell-actions:before{content:none}.modal-foot{flex-wrap:wrap}}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.muted{color:hsl(var(--muted-foreground))}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all}.empty{text-align:center;color:hsl(var(--muted-foreground));padding:34px 12px;font-size:13px}.divider{height:1px;background:hsl(var(--border));margin:14px 0}.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,hsl(var(--secondary)),hsl(var(--border)),hsl(var(--secondary)));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-split{display:grid;min-height:100vh;grid-template-columns:1.05fr 1fr}.auth-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px;--inverse: 220 33% 96%;--inverse-foreground: 217 30% 13%;--inverse-muted: 219 13% 44%;background-color:hsl(var(--inverse));background-image:linear-gradient(158deg,hsl(var(--btn-from) / .16),hsl(var(--btn-to) / .1) 52%,hsl(var(--inverse)));color:hsl(var(--inverse-foreground));border-right:1px solid hsl(var(--border))}[data-theme=dark] .auth-panel{--inverse: 220 26% 9%;--inverse-foreground: 214 45% 96%;--inverse-muted: 218 15% 64%;background-image:linear-gradient(158deg,hsl(var(--btn-from) / .2),hsl(var(--btn-to) / .14) 52%,hsl(var(--inverse)))}.auth-panel .panel-grid{position:absolute;inset:0;opacity:.6;pointer-events:none}.auth-panel .blob{position:absolute;left:-130px;top:26%;width:460px;height:460px;border-radius:50%;filter:blur(120px);pointer-events:none;opacity:.35}[data-theme=dark] .auth-panel .blob{opacity:1}.auth-panel-inner{position:relative}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .brand-logo{width:40px;height:40px;border-radius:12px;box-shadow:0 10px 24px -12px hsl(var(--btn-from))}.auth-brand>div{display:flex;flex-direction:column;line-height:1.25}.auth-brand b{font-size:17px;font-weight:650;letter-spacing:-.01em}.auth-brand span{font-size:11.5px;letter-spacing:.22em;color:hsl(var(--inverse-muted))}.auth-hero{max-width:440px}.auth-hero h1{font-size:34px;line-height:1.25;letter-spacing:-.02em;font-weight:650;margin:14px 0 0}.auth-hero p{margin:14px 0 0;font-size:14px;line-height:1.7;color:hsl(var(--inverse-muted))}.auth-live{display:inline-flex;align-items:center;gap:8px;border:1px solid hsl(var(--inverse-foreground) / .1);border-radius:999px;padding:4px 12px;font-size:12px;color:hsl(var(--inverse-muted))}.live-dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--success));animation:softPulse 2.6s ease-in-out infinite}@keyframes softPulse{0%,to{box-shadow:0 0 hsl(var(--success) / .55)}50%{box-shadow:0 0 0 5px hsl(var(--success) / 0)}}.auth-feats{margin-top:26px;display:flex;flex-direction:column;gap:12px}.auth-feat{display:flex;align-items:center;gap:12px;font-size:13.5px;color:hsl(var(--inverse-foreground) / .9)}.auth-feat i{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:hsl(var(--inverse-foreground) / .1);flex:0 0 auto}.auth-uptime{border:1px solid hsl(var(--inverse-foreground) / .1);border-radius:14px;padding:16px;background:hsl(var(--inverse-foreground) / .04)}.auth-side{display:flex;flex-direction:column;padding:28px 32px;position:relative}.auth-side-top{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:hsl(var(--muted-foreground))}.auth-body{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 0}.auth-form{width:100%;max-width:420px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:11px;background:hsl(var(--secondary))}.auth-tabs button{height:36px;border:none;border-radius:9px;font-size:14px;font-weight:600;color:hsl(var(--muted-foreground));background:transparent;cursor:pointer;transition:.16s}.auth-tabs button[aria-selected=true]{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 3px hsl(var(--foreground) / .12)}.auth-card{margin-top:18px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:18px;padding:26px;box-shadow:0 32px 80px -44px hsl(var(--foreground) / .45),0 2px 8px hsl(var(--foreground) / .05)}.auth-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.auth-sub{color:hsl(var(--muted-foreground));font-size:13px;margin:6px 0 18px}.auth-foot{text-align:center;font-size:13px;color:hsl(var(--muted-foreground));padding:16px 0 4px}.modal-mask{position:fixed;inset:0;background:hsl(var(--inverse) / .55);backdrop-filter:blur(3px);z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;box-shadow:0 40px 90px -40px hsl(var(--foreground) / .6)}.modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid hsl(var(--border));font-weight:650;font-size:14.5px}.modal-body{flex:1;min-height:0;overflow:auto;padding:20px}.modal-foot{flex:0 0 auto;padding:14px 20px;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end;gap:10px}.icon-btn{border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;padding:6px;border-radius:8px;display:inline-flex;align-items:center}.icon-btn:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}.toast-wrap{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{padding:9px 16px;border-radius:999px;font-size:13px;font-weight:500;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 18px 40px -24px hsl(var(--foreground) / .65);animation:toastIn .18s ease-out}.toast-success{border-color:hsl(var(--success) / .4);color:hsl(var(--success))}.toast-error{border-color:hsl(var(--danger) / .4);color:hsl(var(--danger))}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.chart-grid line{stroke:hsl(var(--border));stroke-width:1}.chart-line{fill:none;stroke:hsl(var(--primary));stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:hsl(var(--primary));stroke:hsl(var(--card));stroke-width:2}.chart-labels{display:flex;justify-content:space-between;color:hsl(var(--muted-foreground));font-size:11.5px;margin-top:8px}.qr-box{background:#fff;border:1px solid hsl(var(--border));border-radius:12px;padding:6px;display:inline-flex;align-items:center;justify-content:center}.qr-empty{color:#8892a4;font-size:12px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.is-in{animation:fadeUp .34s cubic-bezier(.2,.7,.3,1) both}@media (max-width: 1024px){.auth-split{grid-template-columns:1fr}.auth-panel,.sidebar{display:none}.content{padding:18px 16px 40px}.topbar{padding:0 16px}.mobile-nav{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));padding:10px 12px;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav .chip{flex:0 0 auto;white-space:nowrap;padding:0 12px}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-side{padding:20px}.page-title{font-size:22px}}@media (max-width: 640px){.avatar-meta{display:none}.avatar-pill{padding:3px}.topbar{gap:8px}}@media (max-width: 360px){.grid-4{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
