.toast-host[data-v-802011f9]{z-index:1000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.toast[data-v-802011f9]{pointer-events:auto;max-width:min(520px,100vw - 40px);color:var(--text);background:var(--panel-3);border:1px solid var(--line-strong);box-shadow:var(--shadow-3);border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.toast-success svg[data-v-802011f9]:first-child{color:var(--ok)}.toast-error svg[data-v-802011f9]:first-child{color:var(--bad)}.toast-msg[data-v-802011f9]{line-height:1.45}.toast-close[data-v-802011f9]{width:20px;height:20px;color:var(--text-3);background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast-close[data-v-802011f9]:hover{color:var(--text);background:#94a3b824}.toast-enter-active[data-v-802011f9]{transition:opacity .22s,transform .22s cubic-bezier(.2,.9,.3,1.15)}.toast-leave-active[data-v-802011f9]{transition:opacity .16s,transform .16s}.toast-enter-from[data-v-802011f9]{opacity:0;transform:translateY(-10px)scale(.96)}.toast-leave-to[data-v-802011f9]{opacity:0;transform:translateY(-6px)scale(.97)}.modal-backdrop[data-v-b7d95179]{z-index:500;padding:7vh 20px 40px;padding-top:max(7vh, env(safe-area-inset-top,0px));padding-bottom:max(40px, env(safe-area-inset-bottom,0px));background:var(--overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal[data-v-b7d95179]{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-3)}.modal-head[data-v-b7d95179]{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 0;display:flex}.modal-title[data-v-b7d95179]{letter-spacing:.01em;font-size:15.5px;font-weight:600}.modal-sub[data-v-b7d95179]{color:var(--text-2);margin-top:4px;font-size:12.5px;line-height:1.5}.modal-body[data-v-b7d95179]{padding:16px 20px 20px}.modal-foot[data-v-b7d95179]{border-top:1px solid var(--line);background:var(--bg-soft);border-radius:0 0 var(--r-lg) var(--r-lg);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.modal.phone[data-v-b7d95179]{border:none;border-radius:0;max-width:none;min-height:100%}.modal-backdrop.phone[data-v-b7d95179]{align-items:stretch;padding:0}.modal.phone .modal-head[data-v-b7d95179]{padding:16px 16px 0;padding-top:max(16px, env(safe-area-inset-top,0px))}.modal.phone .modal-title[data-v-b7d95179]{font-size:18px}.modal.phone .modal-body[data-v-b7d95179]{padding:16px}.modal.phone .modal-foot[data-v-b7d95179]{padding:12px 16px max(16px, env(safe-area-inset-bottom,0px));border-radius:0;flex-wrap:wrap;position:sticky;bottom:0}.modal.phone .modal-foot .btn-primary[data-v-b7d95179]{flex:100%;order:3;min-height:46px}.modal-backdrop.sheet[data-v-b7d95179]{align-items:flex-end;padding:0}.modal.sheet[data-v-b7d95179]{border:none;border-top:1px solid var(--line-strong);border-radius:18px 18px 0 0;max-width:none;min-height:0}.modal.sheet .modal-head[data-v-b7d95179]{padding:18px 16px 0}.modal.sheet .modal-title[data-v-b7d95179]{font-size:17px}.modal.sheet .modal-foot[data-v-b7d95179]{padding:12px 16px max(16px, env(safe-area-inset-bottom,0px))}.modal.sheet .modal-foot .btn[data-v-b7d95179]{flex:1;min-height:44px}.confirm-msg[data-v-716a6387]{color:var(--text-2);font-size:15px;line-height:1.6}:root{--bg:#0a0d13;--bg-soft:#0e1219;--panel:#12161f;--panel-2:#171c28;--panel-3:#1d2432;--line:#94a3b81a;--line-strong:#94a3b833;--text:#e8ecf4;--text-2:#96a0b4;--text-3:#5f6b80;--accent:#4d8dff;--accent-strong:#6ba2ff;--accent-soft:#4d8dff24;--accent-ring:#4d8dff59;--ok:#34d399;--ok-strong:#4fe0aa;--ok-soft:#34d3991f;--bad:#f26d6d;--bad-soft:#f26d6d1f;--warn:#f5b83d;--warn-soft:#f5b83d1f;--stale:#6b7689;--stale-soft:#94a3b81a;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ink-4:color-mix(in srgb, var(--text) 4%, transparent);--ink-8:color-mix(in srgb, var(--text) 8%, transparent);--ink-14:color-mix(in srgb, var(--text) 14%, transparent);--ink-26:color-mix(in srgb, var(--text) 26%, transparent);--btn-primary-fg:#fff;--r-sm:8px;--r-md:10px;--r-lg:14px;--shadow-1:0 1px 2px #00000047;--shadow-2:0 8px 28px -8px #00000080;--shadow-3:0 24px 64px -16px #0009;--selection:#4d8dff52;--overlay:#05070b9e;--bar:color-mix(in srgb, var(--bg) 88%, transparent);--glass:color-mix(in srgb, var(--panel) 90%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-admin{--accent:#e8a33d;--accent-strong:#f2b95c;--accent-soft:#e8a33d21;--accent-ring:#e8a33d59;--bg:#070a10;--bg-soft:#0b0f16;--panel:#10151e;--panel-2:#161c27;--panel-3:#1c2331;--warn:#ff8339;--warn-soft:#ff833921;--text-3:#6f7c93;--selection:#e8a33d52;--btn-primary-fg:#241503;--ctl-h:36px;--ctl-h-sm:28px}html.theme-light,body.theme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f9;--bg-soft:#e8ecf3;--panel:#fff;--panel-2:#f7f9fc;--panel-3:#eef2f8;--line:#18223814;--line-strong:#18223824;--text:#1a2233;--text-2:#5a6578;--text-3:#8a94a6;--accent:#2b6af0;--accent-strong:#1c58d8;--accent-soft:#2b6af01f;--accent-ring:#2b6af047;--ok:#0d9f6e;--ok-strong:#0b855c;--ok-soft:#0d9f6e1f;--bad:#d64545;--bad-soft:#d645451f;--warn:#c48814;--warn-soft:#c4881424;--stale:#7d8796;--stale-soft:#1822380f;--shadow-1:0 1px 2px #1822380f;--shadow-2:0 10px 28px -12px #18223829;--shadow-3:0 24px 48px -18px #18223833;--selection:#2b6af047;--overlay:#18223861}html.theme-admin.theme-light,body.theme-admin.theme-light,.theme-admin.theme-light{--accent:#9a6410;--accent-strong:#7c500b;--accent-soft:#9a64101f;--accent-ring:#9a641047;--warn:#ad3e0b;--warn-soft:#ad3e0b1f;--text-3:#8a94a6;--selection:#9a641040;--btn-primary-fg:#fff}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;min-height:100dvh}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:13.5px;line-height:1.55}::selection{background:var(--selection)}h1,h2,h3,h4,p{margin:0}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}button:focus-visible,[role=switch]:focus-visible,[role=tab]:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 18%, transparent);background-clip:content-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--text) 32%, transparent)}::-webkit-scrollbar-track{background:0 0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}@media (prefers-reduced-motion:reduce){.pulse-dot,.skeleton,.radar-ring{animation:none}*,:before,:after{transition-duration:.01ms!important}}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:.92em}.strong{font-weight:600}.text-ok{color:var(--ok-strong)}.text-warn{color:var(--warn)}.text-bad{color:var(--bad)}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.btn{height:var(--ctl-h,34px);border-radius:var(--r-sm);color:var(--text);letter-spacing:.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:550;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s,transform 80ms;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.975)}.btn-primary{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--btn-primary-fg,#fff);box-shadow:inset 0 1px 0 #ffffff2e, 0 4px 14px -6px var(--accent-ring)}.btn-primary:not(:disabled):hover{filter:brightness(1.1)}.btn-ghost{border-color:var(--line-strong);color:var(--text-2);background:var(--ink-4)}.btn-ghost:not(:disabled):hover{background:var(--panel-2);color:var(--text);border-color:var(--ink-26)}.btn-danger{border-color:color-mix(in srgb, var(--bad) 35%, transparent);color:var(--bad);background:var(--bad-soft)}.btn-danger:not(:disabled):hover{background:color-mix(in srgb, var(--bad) 20%, transparent)}.btn-quiet{color:var(--text-2);padding:0 10px}.btn-quiet:not(:disabled):hover{background:var(--ink-8);color:var(--text)}.btn-sm{height:var(--ctl-h-sm,28px);border-radius:7px;padding:0 10px;font-size:12.5px}.btn-block{width:100%}.btn .spin{border:2px solid color-mix(in srgb, currentColor 35%, transparent);border-top-color:currentColor;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-2);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .15s,color .15s,transform 80ms;display:inline-flex}.icon-btn:hover{background:var(--ink-8);color:var(--text)}.icon-btn:not(:disabled):active{transform:scale(.92)}.icon-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{color:var(--text-2);font-size:12.5px;font-weight:550}.field-hint{color:var(--text-3);font-size:12px;line-height:1.5}.field-error{color:var(--bad);font-size:12px}.input,.select{width:100%;height:var(--ctl-h,36px);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text);padding:0 12px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder{color:var(--text-3)}.input:hover,.select:hover{border-color:var(--ink-26)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:var(--bg);outline:none}.input.invalid{border-color:color-mix(in srgb, var(--bad) 55%, transparent)}.input.invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--bad) 22%, transparent)}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2396a0b4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.input[type=number]{font-variant-numeric:tabular-nums;appearance:textfield}.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1), inset 0 1px 0 #ffffff06}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 0;display:flex}.card-title{letter-spacing:.01em;font-size:14.5px;font-weight:600}.card-sub{color:var(--text-2);margin-top:3px;font-size:12.5px;line-height:1.55}.card-body{padding:16px 18px 18px}.card-foot{padding:0 18px 18px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{text-align:left;color:var(--text-3);letter-spacing:.04em;border-bottom:1px solid var(--line-strong);background:var(--bg-soft);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:550}table.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{transition:background .12s}table.data tbody tr:hover{background:var(--ink-4)}table.data .num,table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:22px;padding:0 9px;font-size:12px;font-weight:550;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.pill-ok{color:var(--ok-strong);background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 25%, transparent)}.pill-bad{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 28%, transparent)}.pill-warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.pill-stale{color:var(--text-2);background:var(--stale-soft);border-color:color-mix(in srgb, var(--text) 20%, transparent)}.pill-accent{color:var(--accent-strong);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.pill-sm{gap:5px;height:19px;padding:0 7px;font-size:11px}.pill-sm .dot{width:5px;height:5px}.pulse-dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;animation:2.2s ease-out infinite pulse;box-shadow:0 0 #34d39980}.pulse-dot.off{background:var(--stale);box-shadow:none;animation:none}.pulse-dot.pause{background:var(--warn);box-shadow:none;animation:none}@keyframes pulse{0%{box-shadow:0 0 #34d39973}70%{box-shadow:0 0 0 7px #34d39900}to{box-shadow:0 0 #34d39900}}.switch-state{color:var(--text-3);white-space:nowrap;font-size:12.5px}.switch-state.on{color:var(--ok-strong)}.chip{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);height:24px;color:var(--accent-strong);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:0 6px 0 9px;font-size:12px;font-weight:500;display:inline-flex}.chip button{width:16px;height:16px;color:inherit;opacity:.7;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.chip button:hover{background:var(--ink-14);opacity:1}.banner{border-radius:var(--r-md);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.55;display:flex}.banner svg{flex:none;margin-top:1px}.banner-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:color-mix(in srgb, var(--warn) 62%, var(--text))}.banner-bad{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 32%, transparent);color:color-mix(in srgb, var(--bad) 62%, var(--text))}.banner-info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 28%, transparent);color:color-mix(in srgb, var(--accent) 62%, var(--text))}.meter{background:var(--ink-14);border-radius:4px;height:6px;overflow:hidden}.meter>i{background:linear-gradient(90deg, var(--accent), var(--accent-strong));border-radius:4px;height:100%;transition:width .35s;display:block}.meter.ok>i{background:linear-gradient(90deg, var(--ok), var(--ok-strong))}.meter.warn>i{background:linear-gradient(90deg, color-mix(in srgb, var(--warn) 80%, var(--bg)), var(--warn))}.skeleton{border-radius:var(--r-sm);background:linear-gradient(100deg, var(--ink-8) 30%, var(--ink-14) 50%, var(--ink-8) 70%);background-size:220% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:130% 0}to{background-position:-90% 0}}.divider{background:var(--line);border:none;height:1px;margin:0}.vdivider{background:var(--line-strong);flex:none;align-self:stretch;width:1px}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}.pop-enter-active{transition:opacity .18s,transform .18s cubic-bezier(.2,.9,.3,1.2)}.pop-leave-active{transition:opacity .14s,transform .14s}.pop-enter-from,.pop-leave-to{opacity:0;transform:translateY(8px)scale(.98)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.is-phone{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html.is-phone.phone-app-lock,html.is-phone.phone-app-lock body,html.is-phone.phone-app-lock #app{height:100dvh;overflow:hidden}html.is-phone .input,html.is-phone .select,html.is-phone .num-input,html.is-phone textarea.input{font-size:16px}html.is-phone .input,html.is-phone .select{border-radius:12px;height:46px}html.is-phone .auth-submit{border-radius:12px;height:48px;min-height:48px;font-size:16px}html.is-phone .btn{min-height:44px}html.is-phone .btn-sm{min-height:36px}html.is-phone .icon-btn{width:40px;height:40px}html.is-phone .grid{grid-template-columns:1fr!important}html.is-phone .table-wrap{-webkit-overflow-scrolling:touch}html.is-phone .toast-host{top:calc(10px + env(safe-area-inset-top,0px))}html.is-phone .num-wrap .num{height:44px}html.is-phone .num-step{width:44px}.theme-admin table.data th{background:0 0;font-size:12px}.theme-admin table.data td{padding:10px 14px}.theme-admin .table-wrap{background:var(--panel)}.theme-admin .btn-primary:disabled{background:var(--ink-8);color:var(--text-3);box-shadow:none;opacity:1}.toolbar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.kv{flex-direction:column;gap:2px;min-width:0;display:flex}.kv-k{color:var(--text-3);font-size:12px}.kv-v{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.kv-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tip-wrap{display:inline-flex;position:relative}.tip-trigger{color:var(--text-3);cursor:help;background:0 0;border:0;border-radius:4px;align-items:center;padding:0;display:inline-flex}.tip-pop{z-index:60;border-radius:var(--r-sm);background:var(--panel-3);border:1px solid var(--line-strong);width:max-content;max-width:320px;box-shadow:var(--shadow-2);color:var(--text-2);white-space:normal;text-align:left;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-wrap:hover .tip-pop,.tip-wrap:focus-within .tip-pop{display:block}.tip-pop.end{left:auto;right:0;transform:none}.btn-quiet.danger{color:var(--bad)}.btn-quiet.danger:not(:disabled):hover{background:var(--bad-soft);color:var(--bad)}.table-scroll{max-height:640px;overflow-y:auto}.table-scroll thead th{z-index:2;background:var(--panel);position:sticky;top:0}
