.login-page[data-v-a93c3acc]{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,1fr);background:var(--panel)}.hero[data-v-a93c3acc]{position:relative;overflow:hidden;color:#fff;padding:40px 56px;display:flex;flex-direction:column;background:radial-gradient(90% 70% at 100% 0%,#6d28d98c,#6d28d900 60%),var(--brand-ink)}.grid[data-v-a93c3acc]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(167,139,250,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.4) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(70% 60% at 70% 30%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 70% 30%,#000 20%,transparent 75%)}.watermark[data-v-a93c3acc]{position:absolute;right:-60px;bottom:-40px;width:420px;opacity:.05;pointer-events:none}.brand[data-v-a93c3acc]{position:relative;display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600}.brand img[data-v-a93c3acc]{height:34px}.brand b[data-v-a93c3acc]{color:var(--brand-light);font-weight:700}.pitch[data-v-a93c3acc]{position:relative;margin:auto 0;max-width:540px;padding:40px 0}.pitch h1[data-v-a93c3acc]{font-size:clamp(30px,3vw,42px);line-height:1.18;margin:0 0 16px;font-weight:700;letter-spacing:-.8px;text-wrap:balance}.pitch h1 em[data-v-a93c3acc]{font-style:normal;color:var(--brand-light)}.pitch>p[data-v-a93c3acc]{color:#c8c2dd;font-size:16px;line-height:1.6;margin:0 0 32px;max-width:46ch}.features[data-v-a93c3acc]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.features li[data-v-a93c3acc]{display:flex;gap:12px;align-items:flex-start}.features .fi[data-v-a93c3acc]{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#e4dcff;background:#a78bfa24;box-shadow:inset 0 0 0 1px #a78bfa47}.features b[data-v-a93c3acc]{display:block;font-size:14px;font-weight:600}.features small[data-v-a93c3acc]{display:block;color:#a9a2c4;font-size:13px;margin-top:2px;line-height:1.45}.tagline[data-v-a93c3acc]{position:relative;font-size:11px;letter-spacing:2.5px;color:#8a82ab;font-weight:600}.side[data-v-a93c3acc]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px 20px;background:var(--panel)}.login[data-v-a93c3acc]{width:min(380px,100%);margin:auto 0}.mark[data-v-a93c3acc]{height:40px;margin-bottom:20px}.login h2[data-v-a93c3acc]{font-size:26px;margin:0;color:var(--text);font-weight:700;letter-spacing:-.4px}.lead[data-v-a93c3acc]{color:var(--muted);margin:6px 0 28px}.lead b[data-v-a93c3acc]{color:var(--text);font-weight:600}.elsewhere[data-v-a93c3acc]{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--warn);background:var(--warn-soft);border:1px solid #f1d9a6;border-radius:var(--radius);padding:10px 12px;margin:0 0 20px}.elsewhere svg[data-v-a93c3acc]{flex:none;margin-top:2px}.field[data-v-a93c3acc]{display:block;margin:0 0 16px;font-size:13px;font-weight:600;color:var(--text-2)}.inp[data-v-a93c3acc]{display:flex;align-items:center;gap:10px;margin-top:6px;padding:0 6px 0 12px;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--subtle);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.inp[data-v-a93c3acc]:hover{border-color:#bdbbcc}.inp[data-v-a93c3acc]:focus-within{border-color:var(--brand);box-shadow:var(--ring);color:var(--brand)}.inp input[data-v-a93c3acc]{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:15px;color:var(--text);padding:0;height:100%;box-shadow:none}.inp input[data-v-a93c3acc]:focus{box-shadow:none}.eye[data-v-a93c3acc]{border:0;background:transparent;color:var(--brand);font-size:12.5px;font-weight:600;padding:6px 8px;border-radius:var(--radius-sm)}.eye[data-v-a93c3acc]:hover{background:var(--brand-soft);color:var(--brand)}.caps[data-v-a93c3acc]{display:flex;align-items:center;gap:6px;color:var(--warn);font-size:12.5px;margin:-8px 0 12px}.err[data-v-a93c3acc]{display:flex;align-items:center;gap:6px;color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:8px 10px;font-size:13.5px;margin:-4px 0 14px}.go[data-v-a93c3acc]{width:100%;height:44px;border-radius:var(--radius);font-size:15px;font-weight:600;justify-content:center;gap:10px;margin-top:4px}.go[data-v-a93c3acc]:disabled{opacity:.7;cursor:progress}.spin[data-v-a93c3acc]{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin-a93c3acc .8s linear infinite}@keyframes spin-a93c3acc{to{transform:rotate(360deg)}}.ms[data-v-a93c3acc]{width:100%;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:10px;background:var(--panel);color:var(--text);border:1px solid var(--line-strong, var(--line));font-size:15px;font-weight:600}.ms[data-v-a93c3acc]:hover:not(:disabled){background:var(--bg, #f6f7f9);border-color:var(--muted)}.ms[data-v-a93c3acc]:disabled{opacity:.7;cursor:progress}.sso-hint[data-v-a93c3acc]{color:var(--muted);font-size:12.5px;text-align:center;margin:6px 0 0}.or[data-v-a93c3acc]{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;margin:18px 0 14px}.or[data-v-a93c3acc]:before,.or[data-v-a93c3acc]:after{content:"";flex:1;height:1px;background:var(--line)}.ssowait[data-v-a93c3acc]{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin:0 0 14px}.spin.dark[data-v-a93c3acc]{border-color:var(--line);border-top-color:var(--brand)}.help[data-v-a93c3acc]{color:var(--muted);font-size:13px;text-align:center;margin:20px 0 0;line-height:1.5;text-wrap:balance}.server[data-v-a93c3acc]{color:var(--muted);font-size:13px;text-align:center;margin:12px 0 0}.server a[data-v-a93c3acc]{color:var(--brand);font-weight:600}.copy[data-v-a93c3acc]{color:var(--subtle);font-size:12px;padding-top:20px}@media(max-width:960px){.login-page[data-v-a93c3acc]{grid-template-columns:1fr}.hero[data-v-a93c3acc]{padding:20px;min-height:auto}.pitch[data-v-a93c3acc]{padding:16px 0 4px}.pitch h1[data-v-a93c3acc]{font-size:24px;margin:0}.pitch>p[data-v-a93c3acc],.features[data-v-a93c3acc],.tagline[data-v-a93c3acc],.watermark[data-v-a93c3acc],.mark[data-v-a93c3acc]{display:none}.side[data-v-a93c3acc]{padding:28px 16px 16px}}.keypad[data-v-744f6b69]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button[data-v-744f6b69]{flex-direction:column;gap:0;padding:8px 0 6px;border-radius:12px;background:var(--bg);border-color:transparent;justify-content:center}.keypad button[data-v-744f6b69]:hover{background:var(--brand-soft);border-color:var(--brand-line)}.keypad b[data-v-744f6b69]{font-size:19px;line-height:1.1}.keypad small[data-v-744f6b69]{font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:600}.keypad.small[data-v-744f6b69]{gap:6px}.keypad.small button[data-v-744f6b69]{padding:5px 0 3px}.keypad.small b[data-v-744f6b69]{font-size:16px}.dir[data-v-11712412]{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ok-soft);color:var(--ok);flex-shrink:0}.dir.out[data-v-11712412]{background:var(--brand-soft);color:var(--brand)}.dir.missed[data-v-11712412]{background:var(--bad-soft);color:var(--bad)}.ready-row[data-v-22d9df09]{margin:0;font-weight:600}.switch[data-v-22d9df09]{width:40px;height:22px;border-radius:99px;background:var(--line-strong, #c9c9d6);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s}.switch i[data-v-22d9df09]{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.switch.on[data-v-22d9df09]{background:var(--brand)}.switch.on i[data-v-22d9df09]{left:21px}.conds[data-v-22d9df09]{border:1px solid var(--line);border-radius:var(--radius-sm, 6px);padding:6px 6px 6px 10px;display:flex;flex-direction:column;gap:5px}.conds.ok[data-v-22d9df09]{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.conds b[data-v-22d9df09]{font-size:12px}.conds .row[data-v-22d9df09]{gap:6px}.conds .icon[data-v-22d9df09]{padding:3px}.cond[data-v-22d9df09]{font-size:13px;display:flex;gap:8px;align-items:center}.ck[data-v-22d9df09]{font-size:11px;font-weight:700;color:#fff;border-radius:4px;padding:1px 6px;min-width:34px;text-align:center;background:var(--idle)}.ck.ok[data-v-22d9df09]{background:var(--create)}.ck.warn[data-v-22d9df09]{background:var(--warn)}.ck.bad[data-v-22d9df09]{background:var(--bad)}.dial-input[data-v-22d9df09]{position:relative}.dial-input input[data-v-22d9df09]{font-size:20px;font-weight:700;text-align:center;padding:10px 40px;letter-spacing:1px;font-variant-numeric:tabular-nums}.dial-input input.text[data-v-22d9df09]{font-size:16px;font-weight:600;letter-spacing:0}.dial-input input[data-v-22d9df09]::placeholder{font-size:15px;font-weight:500;letter-spacing:0}.found[data-v-22d9df09]{display:flex;flex-direction:column;gap:2px;min-height:64px}.avatar.mini[data-v-22d9df09]{width:26px;height:26px;font-size:11px}.recent-head[data-v-22d9df09]{margin-top:6px}.toggle[data-v-22d9df09]{border:0;padding:4px 6px 4px 2px;gap:4px;font-weight:600;color:var(--muted)}.toggle[data-v-22d9df09]:hover{color:var(--brand);filter:none}.dial-input button[data-v-22d9df09]{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0}.call-btn[data-v-22d9df09]{width:100%;justify-content:center;padding:10px;font-size:15px;border-radius:24px}.recent[data-v-22d9df09]{width:100%;border:0;border-radius:8px;padding:6px;gap:10px;text-align:left}.recent[data-v-22d9df09]:hover{background:var(--hover, var(--bg));filter:none}.recent .again[data-v-22d9df09]{opacity:0;color:var(--create)}.recent:hover .again[data-v-22d9df09],.recent:focus-visible .again[data-v-22d9df09]{opacity:1}.who[data-v-dc411054]{font-size:18px;font-weight:700;color:var(--text);margin:2px 0;overflow-wrap:anywhere}.chips[data-v-dc411054]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-dc411054]{--c: var(--brand);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600}.chip i[data-v-dc411054]{width:8px;height:8px;border-radius:50%;background:var(--c)}.chip[data-v-dc411054]:hover{border-color:var(--c);filter:none}.chip.on[data-v-dc411054]{background:var(--brand-soft);border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}.ticket[data-v-dc411054]{background:var(--bg);border-radius:8px;padding:8px 10px}.ticket>label[data-v-dc411054]:first-child{margin-top:0}.cust[data-v-dc411054]{border-top:1px solid var(--line);padding-top:10px;margin-top:4px;display:flex;flex-direction:column;gap:8px}.cp[data-v-3865da67]{position:fixed;top:calc(var(--topbar) + 6px);right:10px;width:370px;max-height:calc(100vh - var(--topbar) - 16px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg, 14px);overflow:hidden;box-shadow:var(--shadow-pop, 0 12px 36px rgba(30, 20, 80, .22));display:flex;flex-direction:column;z-index:45}.cp>header[data-v-3865da67]{display:flex;align-items:center;gap:8px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}.cp>header b[data-v-3865da67]{font-size:15px;display:block;margin-bottom:2px}.cp>header button[data-v-3865da67]{border:0}.cp-body[data-v-3865da67]{flex:1;overflow-y:auto;padding:14px 16px 20px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.acd[data-v-3865da67]{background:var(--warn-soft);color:var(--warn);padding:8px 10px;border-radius:8px;gap:8px;font-weight:600}.incoming[data-v-3865da67],.incall[data-v-3865da67]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.avatar.big[data-v-3865da67]{width:64px;height:64px;font-size:22px}.name[data-v-3865da67]{font-size:19px;font-weight:700;margin-top:6px;overflow-wrap:anywhere}.num[data-v-3865da67]{font-size:15px;color:var(--muted);font-weight:600;letter-spacing:.5px}.timer[data-v-3865da67]{font-variant-numeric:tabular-nums;font-size:15px;min-width:40px;text-align:left}.ringer[data-v-3865da67]{position:relative;margin:14px 0 12px}.ringer[data-v-3865da67]:before,.ringer[data-v-3865da67]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--create);animation:ring-3865da67 1.6s ease-out infinite}.ringer[data-v-3865da67]:after{animation-delay:.8s}@keyframes ring-3865da67{0%{transform:scale(1);opacity:.8}to{transform:scale(1.45);opacity:0}}.round[data-v-3865da67]{flex-direction:column;gap:4px;border-radius:16px;padding:10px 18px;min-width:104px;font-size:13px}.answer-row[data-v-3865da67]{justify-content:center;gap:16px;margin-top:14px}.keys[data-v-3865da67]{margin-top:10px;font-size:var(--fs-xs, 11px);color:var(--subtle, var(--muted))}.kbd[data-v-3865da67]{display:inline-block;min-width:18px;padding:0 4px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--surface-2, var(--bg));font:600 10px/16px var(--font-mono, ui-monospace, monospace);color:var(--text);text-align:center}.end[data-v-3865da67]{margin-top:12px;width:100%;flex-direction:row;justify-content:center;padding:10px;border-radius:24px}.rec[data-v-3865da67]{font-size:12px;font-weight:700;color:var(--muted);gap:6px}.rec.recording[data-v-3865da67]{color:var(--bad)}.rec-dot[data-v-3865da67]{width:8px;height:8px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.tools[data-v-3865da67]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:12px}.tool[data-v-3865da67]{flex-direction:column;gap:4px;background:var(--bg);color:var(--text);border-color:transparent;padding:10px 2px;font-size:12px;border-radius:12px}.tool[data-v-3865da67]:hover:not(:disabled){background:var(--brand-soft);color:var(--brand);filter:none}.tool.on[data-v-3865da67]{background:var(--brand);color:#fff}.toolbox[data-v-3865da67]{width:100%;margin-top:8px;background:var(--bg);border-radius:12px;padding:10px}.xfer[data-v-3865da67]{display:flex;flex-direction:column;gap:4px;text-align:left}.xfer .row input[data-v-3865da67]{flex:1;min-width:0}.xfer .row[data-v-3865da67]{margin-bottom:4px}.colleague[data-v-3865da67]{border:0;border-radius:var(--radius-sm, 6px);padding:6px 8px;gap:8px;font-size:13px;background:transparent;color:var(--text);justify-content:flex-start;text-align:left;font-weight:500}.colleague[data-v-3865da67]:hover{background:var(--panel);filter:none}.colleague .go[data-v-3865da67]{color:var(--brand);opacity:0;transition:opacity var(--dur, .15s)}.colleague:hover .go[data-v-3865da67],.colleague:focus-visible .go[data-v-3865da67]{opacity:1}.colleague .dot[data-v-3865da67]{width:8px;height:8px;border-radius:50%;background:var(--line-strong, #c9c9d6);flex-shrink:0}.colleague .dot.on[data-v-3865da67]{background:var(--ok)}.xfer .hint[data-v-3865da67]{margin:2px 2px 0}.live-note[data-v-3865da67]{width:100%;margin:12px 0 0;text-align:left;font-size:12px;font-weight:600;color:var(--muted)}.live-note textarea[data-v-3865da67]{margin-top:4px;font-size:13px;background:var(--note);border-color:transparent;resize:vertical}.digits[data-v-3865da67]{min-height:22px;font-size:16px;text-align:center;letter-spacing:2px;margin-bottom:6px;overflow-wrap:anywhere}.calls[data-v-3865da67]{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:10px}.callrow[data-v-3865da67]{border-radius:8px;padding:6px 8px}.callrow.on[data-v-3865da67]{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.cust[data-v-3865da67]{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}.chips[data-v-3865da67]{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chip[data-v-3865da67]{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:12px}.chip[data-v-3865da67]:hover{border-color:var(--brand-line);filter:none}.chip.on[data-v-3865da67]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.pending[data-v-3865da67]{background:var(--note);border-radius:8px;padding:8px 10px;gap:8px;font-weight:600}@media(max-width:760px){.cp[data-v-3865da67]{position:fixed;top:var(--topbar);right:0;bottom:0;width:100%;z-index:30}}.nb[data-v-1ba5b32c]{position:relative}.nb-panel[data-v-1ba5b32c]{right:0;width:min(380px,calc(100vw - 16px));padding:0;display:flex;flex-direction:column;max-height:min(560px,calc(100dvh - var(--topbar) - 16px))}.nb-head[data-v-1ba5b32c]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.nb-head b[data-v-1ba5b32c]{flex:1;font-size:14px}.nb-settings[data-v-1ba5b32c],.nb-ask[data-v-1ba5b32c]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg-soft, #f6f8fa)}.nb-settings label[data-v-1ba5b32c]{gap:6px;align-items:center}.nb-sel select[data-v-1ba5b32c]{margin-left:4px;font-size:12px;padding:2px 4px}.nb-perm[data-v-1ba5b32c]{color:var(--muted);line-height:1.5}.nb-perm[data-v-1ba5b32c] svg{vertical-align:-2px;margin-right:4px;color:var(--ok, #16a34a)}.nb-perm button[data-v-1ba5b32c]{margin-left:6px}.nb-push[data-v-1ba5b32c]{gap:8px;align-items:center;justify-content:space-between}.nb-install[data-v-1ba5b32c]{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding-top:6px;border-top:1px dashed var(--line)}.nb-ask[data-v-1ba5b32c]{flex-direction:row;align-items:center;flex-wrap:wrap;color:var(--muted)}.nb-list[data-v-1ba5b32c]{overflow-y:auto}.nb-item[data-v-1ba5b32c]{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.nb-item[data-v-1ba5b32c]:hover{background:var(--hover, #f3f4f6)}.nb-item.unread[data-v-1ba5b32c]{background:var(--brand-soft)}.nb-item.unread .nb-title[data-v-1ba5b32c]{font-weight:600}.nb-ic[data-v-1ba5b32c]{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line)}.nb-txt[data-v-1ba5b32c]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nb-title[data-v-1ba5b32c]{font-size:13px;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nb-n[data-v-1ba5b32c]{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:8px;background:var(--brand);color:#fff}.nb-body[data-v-1ba5b32c]{font-size:12px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.nb-at[data-v-1ba5b32c]{flex:none;font-size:11px;color:var(--muted)}.nb-empty[data-v-1ba5b32c]{padding:18px 14px;margin:0;text-align:center}.np[data-v-97ba783e]{position:fixed;top:calc(var(--topbar) + 8px);right:12px;z-index:900;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 24px));pointer-events:none}.np-card[data-v-97ba783e]{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);box-shadow:var(--shadow-pop);cursor:pointer}.np-card.call[data-v-97ba783e]{border-left-color:#16a34a}.np-card.missed[data-v-97ba783e]{border-left-color:#dc2626}.np-ic[data-v-97ba783e]{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft)}.np-txt[data-v-97ba783e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.np-txt b[data-v-97ba783e]{font-size:13px;display:flex;gap:6px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.np-txt span[data-v-97ba783e]{font-size:12px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.np-n[data-v-97ba783e]{font-size:11px;font-weight:600;color:var(--brand)}.np-take[data-v-97ba783e]{flex:none;display:inline-flex;align-items:center;gap:4px;background:#16a34a;color:#fff;border:0;border-radius:8px;padding:6px 10px;font-weight:600;cursor:pointer}.np-x[data-v-97ba783e]{flex:none;border:0;background:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px}.np-x[data-v-97ba783e]:hover{background:var(--hover, #f3f4f6)}.np-enter-active[data-v-97ba783e],.np-leave-active[data-v-97ba783e]{transition:all .2s ease}.np-enter-from[data-v-97ba783e]{opacity:0;transform:translateY(-8px)}.np-leave-to[data-v-97ba783e]{opacity:0;transform:translate(16px)}@media(max-width:600px){.np[data-v-97ba783e]{left:8px;right:8px;width:auto}}.nophone[data-v-97264473]{position:fixed;top:calc(var(--topbar) + 6px);right:10px;width:min(340px,calc(100vw - 20px));z-index:45;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:4px}.menu-head b[data-v-97264473]{display:block;font-size:13px}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/console/brand/fonts/bevietnampro-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/console/brand/fonts/bevietnampro-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/console/brand/fonts/bevietnampro-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/console/brand/fonts/bevietnampro-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/console/brand/fonts/bevietnampro-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/console/brand/fonts/bevietnampro-500-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/console/brand/fonts/bevietnampro-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/console/brand/fonts/bevietnampro-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/console/brand/fonts/bevietnampro-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/console/brand/fonts/bevietnampro-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/console/brand/fonts/bevietnampro-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/console/brand/fonts/bevietnampro-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}:root{--brand: #6d28d9;--brand-hover: #5b21b6;--brand-dark: #4c1d95;--brand-soft: #f3effd;--brand-line: #ddd2fa;--brand-light: #a78bfa;--brand-ink: #1d1632;--ring: 0 0 0 3px rgba(109, 40, 217, .2);--accent: var(--brand);--accent-soft: var(--brand-soft);--bg: #f4f4f7;--panel: #ffffff;--surface-2: #f8f8fb;--hover: #f6f4fd;--text: #1c1b2b;--text-2: #45455a;--muted: #676a7e;--subtle: #8c8ea0;--line: #e6e5ed;--line-strong: #d4d3df;--create: #17844c;--ok: #15804c;--ok-soft: #e4f4eb;--warn: #a35c00;--warn-soft: #fdf0d9;--bad: #c93636;--bad-soft: #fbe9e9;--idle: #6e7586;--idle-soft: #eef0f4;--info: #0b5c78;--info-soft: #e6f4f9;--info-line: #c4e5f1;--note: #fff8e1;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--font: "Be Vietnam Pro", "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--shadow-sm: 0 1px 2px rgba(28, 22, 60, .05);--shadow-pop: 0 2px 4px rgba(28, 22, 60, .06), 0 12px 32px rgba(28, 22, 60, .14);--shadow-lg: 0 4px 8px rgba(28, 22, 60, .08), 0 24px 56px rgba(28, 22, 60, .22);--dur: .15s;--ease: cubic-bezier(.2, .7, .3, 1);--z-nav: 20;--z-pop: 30;--z-drawer: 40;--z-modal: 50;--z-toast: 100;--topbar: 56px;font-family:var(--font);font-size:var(--fs-base);line-height:1.45;letter-spacing:-.005em;color:var(--text);background:var(--bg);color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{height:100%}@supports (height: 100dvh){html,body,#app{height:100dvh}}body{margin:0;background:var(--bg)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}::selection{background:var(--brand-line)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::placeholder{color:var(--subtle);opacity:1}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--subtle)}::-webkit-scrollbar-track{background:transparent}button{font:inherit;font-weight:600;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:6px 12px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.3;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);touch-action:manipulation}button:hover{background:var(--brand-hover);border-color:var(--brand-hover)}button:focus-visible{outline:none;box-shadow:var(--ring)}button.ghost{background:var(--panel);color:var(--text);border-color:var(--line-strong)}button.ghost:hover{background:var(--surface-2);border-color:var(--brand-line);color:var(--brand);filter:none}button.create{background:var(--create);border-color:var(--create)}button.create:hover{background:#126b3d;border-color:#126b3d}button.danger{background:var(--bad);border-color:var(--bad)}button.danger:hover{background:#ad2a2a;border-color:#ad2a2a}button.danger.ghost{background:var(--panel);color:var(--bad);border-color:var(--line-strong)}button.danger.ghost:hover{background:var(--bad-soft);border-color:#f0c4c4;color:var(--bad)}button.link{background:transparent;border-color:transparent;color:var(--brand);padding:2px 4px;min-height:0;font-weight:600}button.link:hover{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:2px}button.small{padding:3px 9px;font-size:var(--fs-sm);border-radius:var(--radius-sm)}button.icon{padding:6px}button:disabled{opacity:.5;cursor:not-allowed;filter:none}input,select,textarea{font:inherit;padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);color:var(--text);width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:hover,select:hover,textarea:hover{border-color:#bdbbcc}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled,input[readonly]{background:var(--surface-2);color:var(--muted)}select:not([multiple]):not([size]){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;text-overflow:ellipsis;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23676a7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center}textarea{resize:vertical;line-height:1.5}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--brand);box-shadow:none}input[type=color]{padding:2px;min-height:34px}input[type=range]{padding:0;border:0;min-height:0;accent-color:var(--brand);box-shadow:none}label{display:block;font-size:var(--fs-sm);color:var(--text-2);margin:10px 0 4px;font-weight:600}label.check{display:flex;gap:8px;align-items:center;color:var(--text);font-size:var(--fs-base);font-weight:500;margin:8px 0;cursor:pointer}.app{display:flex;flex-direction:column;height:100%}.topnav{height:var(--topbar);background:var(--brand-ink);color:#fff;display:flex;align-items:stretch;flex-shrink:0;position:relative;z-index:var(--z-nav);border-bottom:1px solid #2c2348}.topnav .logo{display:flex;align-items:center;gap:9px;padding:0 20px 0 18px;font-weight:600;font-size:16px;letter-spacing:-.1px;color:#fff;white-space:nowrap}.topnav .logo:hover{text-decoration:none}.topnav .logo img{height:22px}.topnav .logo b{font-weight:700;color:var(--brand-light)}.topnav nav{display:flex;overflow-x:auto;scrollbar-width:none;gap:2px;padding:0 2px}.topnav nav::-webkit-scrollbar{display:none}.topnav nav a{display:flex;align-items:center;gap:8px;padding:0 14px;color:#c9c4dc;font-weight:500;white-space:nowrap;text-decoration:none;position:relative;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.topnav nav a:hover{background:#ffffff0f;color:#fff}.topnav nav a.on{color:#fff;font-weight:600;background:#ffffff12}.topnav nav a.on:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--brand-light)}.topnav nav a:focus-visible,.topnav .tbtn:focus-visible,.topnav .me:focus-visible,.topnav .logo:focus-visible{outline:2px solid var(--brand-light);outline-offset:-2px;box-shadow:none}.topnav nav a .count,.topnav .count{background:#ef4444;color:#fff;border-radius:99px;font-size:10px;font-weight:700;padding:0 6px;min-width:18px;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.topnav .right{margin-left:auto;display:flex;align-items:center;gap:2px;padding-right:10px}.topnav .tbtn{background:transparent;border:0;color:#d9d5e8;padding:8px 10px;min-height:36px;border-radius:8px;position:relative;display:inline-flex;align-items:center}.topnav .tbtn:hover,.topnav .tbtn.on{background:#ffffff1a;color:#fff;text-decoration:none}.topnav .tbtn .count{position:absolute;top:2px;right:0;padding:0 5px;min-width:16px}.topnav .me{display:flex;align-items:center;gap:9px;padding:4px 8px 4px 4px;border-radius:99px;cursor:pointer;color:#fff;background:transparent;border:0;min-height:0}.topnav .me:hover{background:#ffffff1a}.topnav .sep{width:1px;height:24px;background:#ffffff24;margin:0 6px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:600;font-size:13px;flex-shrink:0}.topnav .avatar{background:#3b2f63;color:#fff;box-shadow:inset 0 0 0 1px #ffffff24}.me .who{line-height:1.2;text-align:left;font-size:var(--fs-xs);color:#b5afcc;font-weight:500}.me .who b{display:block;font-size:13px;color:#fff;font-weight:600}.body{flex:1;display:flex;min-height:0}.page{flex:1;overflow:auto;padding:20px 24px;min-width:0}.page.flush{padding:0;overflow:hidden;display:flex}.menu{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;padding:4px;z-index:var(--z-pop);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.menu .menu-head{padding:8px 10px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.menu-item,.menu>a,.menu>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;min-height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-weight:500;text-align:left;justify-content:flex-start;cursor:pointer;text-decoration:none}.menu-item:hover,.menu>a:hover,.menu>button:hover{background:var(--hover);color:var(--text);text-decoration:none}.menu-item.on{background:var(--brand-soft);color:var(--brand)}.menu-item.danger,.menu>a.danger{color:var(--bad)}.menu-item.danger:hover,.menu>a.danger:hover{background:var(--bad-soft);color:var(--bad)}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.rail{width:96px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:10px 8px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.rail a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 4px;border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-sm);font-weight:500;text-align:center;border:1px solid transparent;background:transparent;text-decoration:none;line-height:1.25;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.rail a svg{color:var(--muted)}.rail a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.rail a.on{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line);font-weight:600}.rail a.on svg{color:var(--brand)}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;min-height:34px}.page-head h1{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.2px;margin:0;color:var(--text);display:flex;align-items:center;gap:10px}.page-head h1 svg{color:var(--brand)}.crumbs{margin-left:auto;color:var(--muted);font-size:13px}.crumbs b{color:var(--text-2);font-weight:600}.title-line{height:2px;width:28px;border-radius:2px;background:var(--brand);opacity:.85;margin:6px 0 14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.card h2{font-size:16px;line-height:1.3;font-weight:600;margin:0 0 4px;letter-spacing:-.1px}.card h3{font-size:14px;font-weight:600;margin:0 0 8px}.card .sub,.sub{color:var(--muted);font-size:var(--fs-sm);margin:0 0 12px}.section-title{font-size:var(--fs-sm);font-weight:600;color:var(--muted);margin:0 0 8px}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.grid2{display:grid;gap:12px;grid-template-columns:1fr 1fr}.stack{display:flex;flex-direction:column;gap:16px}.stack.tight{gap:8px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.nowrap{flex-wrap:nowrap}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd{font-family:var(--font-mono);font-size:var(--fs-xs);padding:1px 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);color:var(--text-2)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{width:auto;min-width:160px}.toolbar .search{min-width:220px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface-2);padding:2px;gap:2px}.seg button{border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);min-height:28px;padding:4px 10px;font-weight:500}.seg button:hover{background:var(--panel);color:var(--text)}.seg button.on{background:var(--panel);color:var(--brand);font-weight:600;box-shadow:0 1px 2px #1c163c1a,0 0 0 1px var(--line)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:var(--fs-sm);color:var(--text-2);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:13px}th.num,td.num{text-align:right}tr.click{cursor:pointer}tr.click:hover td{background:var(--hover)}tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.table-wrap.plain{border:0}.pager{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:10px;font-size:13px;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap;line-height:1.5}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.plain:before{display:none}.badge.ok{color:var(--ok);background:var(--ok-soft)}.badge.warn{color:var(--warn);background:var(--warn-soft)}.badge.bad{color:var(--bad);background:var(--bad-soft)}.badge.idle{color:var(--idle);background:var(--idle-soft)}.badge.brand{color:var(--brand);background:var(--brand-soft)}.tag{display:inline-block;font-size:var(--fs-xs);font-weight:600;padding:1px 7px;border-radius:5px;background:var(--brand-soft);color:var(--brand-dark);margin:1px 3px 1px 0;line-height:1.6;white-space:nowrap}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.meter{height:6px;background:var(--idle-soft);border-radius:99px;overflow:hidden;min-width:80px}.meter>i{display:block;height:100%;background:var(--brand);border-radius:99px}.meter.hot>i{background:var(--warn)}.meter.full>i{background:var(--bad)}.stat{font-size:26px;font-weight:700;margin:4px 0;letter-spacing:-.4px;font-variant-numeric:tabular-nums;line-height:1.15}.svc-card{cursor:pointer;border-left:3px solid var(--line);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.svc-card:hover{box-shadow:var(--shadow-pop)}.svc-card.ok{border-left-color:var(--ok)}.svc-card.warn{border-left-color:var(--warn)}.svc-card.bad{border-left-color:var(--bad)}.svc-card.idle{border-left-color:var(--idle)}.error{color:var(--bad);background:var(--bad-soft);padding:8px 12px;border-radius:8px;margin:0}.notice{color:var(--info);background:var(--info-soft);border:1px solid var(--info-line);padding:12px 14px;border-radius:var(--radius)}.empty{text-align:center;color:var(--muted);padding:40px 10px}.empty .empty-title{color:var(--text);font-weight:600;font-size:var(--fs-md);margin:0 0 4px}.empty>svg{color:var(--subtle);margin-bottom:8px}.skeleton{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--idle-soft) 0%,var(--surface-2) 50%,var(--idle-soft) 100%);background-size:200% 100%;animation:skeleton 1.4s ease-in-out infinite}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#14102873;display:grid;place-items:center;z-index:var(--z-modal);padding:16px;animation:fade-in var(--dur) var(--ease)}.modal{width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:20px;animation:pop-in .18s var(--ease)}.modal.wide{width:min(760px,100%)}.modal h2{color:var(--text);font-size:var(--fs-lg);margin-bottom:6px}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1410284d;z-index:var(--z-drawer);animation:fade-in var(--dur) var(--ease)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,100%);background:var(--bg);z-index:calc(var(--z-drawer) + 1);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide-in .2s var(--ease)}.drawer>header{background:var(--panel);border-bottom:1px solid var(--line);padding:14px 18px;display:flex;gap:10px;align-items:center}.drawer>.content{flex:1;overflow-y:auto;padding:16px 18px}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.985)}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}.tabs button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;min-height:0;font-weight:500;white-space:nowrap;margin-bottom:-1px}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tabs button:hover{color:var(--text);background:transparent;filter:none}.tabs button.on:hover{color:var(--brand)}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:6px 16px 14px;margin:0}legend{font-weight:600;padding:0 8px;font-size:var(--fs-md)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 14px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.hint{font-size:var(--fs-sm);color:var(--muted);margin:4px 0 0;line-height:1.45}pre.code{background:var(--brand-ink);color:#e8e6ff;padding:12px 14px;border-radius:8px;overflow-x:auto;font-family:var(--font-mono);font-size:12px;margin:0;white-space:pre-wrap;word-break:break-all}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--brand-ink);color:#fff;padding:10px 16px;border-radius:var(--radius);z-index:var(--z-toast);box-shadow:var(--shadow-pop);max-width:calc(100vw - 32px);animation:fade-in .18s var(--ease)}@media(max-width:760px){.rail{width:72px;padding:8px 6px}.rail a{font-size:10px;padding:9px 2px}.page{padding:12px}.grid2{grid-template-columns:1fr}.crumbs{display:none}.topnav nav a{padding:0 11px}.topnav nav a span.lbl{display:none}.topnav .tbtn .lbl,.me .who{display:none}.topnav .me{padding:4px}.topnav .sep{display:none}}@media(max-width:760px){input,select,textarea{font-size:16px}.modal-back{padding:0}.modal{max-height:100%;border-radius:0;width:100%!important}}@media(max-width:560px){.topnav nav{overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}.topnav nav::-webkit-scrollbar{display:none}.topnav nav a{flex:none}.topnav .logo{padding:0 10px 0 12px}.topnav .logo .name{display:none}.topnav nav a{padding:0 10px}.topnav nav a.on:after{left:6px;right:6px}.topnav .right{padding-right:4px}.topnav .tbtn{padding:8px}.toolbar input,.toolbar select,.toolbar .search{min-width:0;flex:1 1 140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
