.loading-bar[data-v-29912942]{position:fixed;top:0;left:0;height:3px;z-index:2000;background:linear-gradient(90deg,var(--accent),var(--accent-hover));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 60%,transparent);transition:width .2s ease;border-radius:0 3px 3px 0}.lb-fade-leave-active[data-v-29912942]{transition:opacity .3s ease}.lb-fade-leave-to[data-v-29912942]{opacity:0}.notif-toast[data-v-c538f73a]{position:fixed;right:20px;top:74px;z-index:2900;display:flex;align-items:flex-start;gap:12px;width:320px;max-width:calc(100vw - 40px);padding:14px 16px;border-radius:14px;box-shadow:var(--shadow-lg);cursor:pointer}.notif-ico[data-v-c538f73a]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--accent-subtle);color:var(--accent);flex:0 0 34px}.notif-body[data-v-c538f73a]{min-width:0}.notif-title[data-v-c538f73a]{font-weight:600;font-size:14px;color:var(--fg-default)}.notif-content[data-v-c538f73a]{margin-top:3px;font-size:13px;color:var(--fg-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-toast-enter-active[data-v-c538f73a]{transition:opacity .34s ease,transform .34s cubic-bezier(.22,1,.36,1),filter .34s ease}.notif-toast-leave-active[data-v-c538f73a]{transition:opacity .26s ease,transform .26s ease,filter .26s ease}.notif-toast-enter-from[data-v-c538f73a]{opacity:0;transform:translate(40px);filter:blur(8px)}.notif-toast-leave-to[data-v-c538f73a]{opacity:0;transform:translate(24px);filter:blur(6px)}.toast-host[data-v-40daade2]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:3000;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.toast[data-v-40daade2]{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:min(420px,calc(100vw - 32px));padding:11px 16px;border-radius:12px;box-shadow:var(--shadow-md);cursor:pointer;font-size:14px;font-weight:500}.toast-ico[data-v-40daade2]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex:0 0 22px;color:#fff}.toast-success .toast-ico[data-v-40daade2]{background:var(--success)}.toast-error .toast-ico[data-v-40daade2]{background:var(--danger)}.toast-info .toast-ico[data-v-40daade2]{background:var(--accent)}.toast-msg[data-v-40daade2]{color:var(--fg-default)}.toast-enter-active[data-v-40daade2]{transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1),filter .3s ease}.toast-leave-active[data-v-40daade2]{transition:opacity .25s ease,transform .25s ease,filter .25s ease}.toast-enter-from[data-v-40daade2]{opacity:0;transform:translateY(-14px);filter:blur(8px)}.toast-leave-to[data-v-40daade2]{opacity:0;transform:translateY(-10px);filter:blur(6px)}.toast-move[data-v-40daade2]{transition:transform .3s ease}.modal-mask[data-v-55c5f3fb]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000052;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal[data-v-55c5f3fb]{width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head[data-v-55c5f3fb]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-muted)}.modal-head h3[data-v-55c5f3fb]{margin:0;font-size:16px}.modal-x[data-v-55c5f3fb]{width:30px;height:30px;padding:0}.modal-body[data-v-55c5f3fb]{padding:20px;overflow-y:auto}.modal-foot[data-v-55c5f3fb]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border-muted)}.modal-enter-active[data-v-55c5f3fb]{transition:opacity .28s ease}.modal-enter-active .modal[data-v-55c5f3fb]{transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s ease,filter .32s ease}.modal-leave-active[data-v-55c5f3fb]{transition:opacity .22s ease}.modal-leave-active .modal[data-v-55c5f3fb]{transition:transform .22s ease,opacity .22s ease,filter .22s ease}.modal-enter-from[data-v-55c5f3fb],.modal-leave-to[data-v-55c5f3fb]{opacity:0}.modal-enter-from .modal[data-v-55c5f3fb]{opacity:0;transform:scale(.94);filter:blur(12px)}.modal-leave-to .modal[data-v-55c5f3fb]{opacity:0;transform:scale(.97);filter:blur(8px)}.spinner[data-v-6e51346b]{display:inline-block;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin-6e51346b .7s linear infinite}.spinner.light[data-v-6e51346b]{color:#fff}@keyframes spin-6e51346b{to{transform:rotate(360deg)}}.confirm-msg[data-v-9ecd7641]{margin:0;line-height:1.7;color:var(--fg-default)}.splash[data-v-55b41c1d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:var(--canvas);transition:opacity .45s cubic-bezier(.4,0,.2,1)}.splash.leaving[data-v-55b41c1d]{opacity:0;pointer-events:none}.mark[data-v-55b41c1d]{width:auto;height:auto;max-width:128px;max-height:128px;object-fit:contain;will-change:transform,filter,opacity;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1)}.mark.in[data-v-55b41c1d]{opacity:0;filter:blur(14px);transform:scale(.7)}.mark.hold[data-v-55b41c1d]{opacity:1;filter:blur(0);transform:scale(1.06)}.mark.out[data-v-55b41c1d]{opacity:0;filter:blur(12px);transform:scale(.82);transition:transform .5s cubic-bezier(.4,0,.2,1),filter .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1)}:root,:root[data-theme=light]{color-scheme:light;--accent: #0969da;--accent-hover: #0860ca;--accent-subtle: #ddf4ff;--canvas: #ffffff;--canvas-inset: #f6f8fa;--canvas-subtle: #f6f8fa;--canvas-overlay: #ffffff;--fg-default: #1f2328;--fg-muted: #656d76;--fg-subtle: #6e7781;--fg-onemph: #ffffff;--border-default: #d0d7de;--border-muted: #d8dee4;--shadow-sm: 0 1px 3px rgba(31, 35, 40, .08);--shadow-md: 0 8px 24px rgba(31, 35, 40, .1);--shadow-lg: 0 18px 50px rgba(31, 35, 40, .14);--success: #1a7f37;--danger: #cf222e;--warn: #9a6700;--warn-bg: #fff8c5;--glass-bg: rgba(255, 255, 255, .72);--online: #1a7f37;--offline: #8c959f;--busy: #bf8700}:root[data-theme=dark]{color-scheme:dark;--accent: #4493f8;--accent-hover: #58a6ff;--accent-subtle: #121d2f;--canvas: #0d1117;--canvas-inset: #010409;--canvas-subtle: #161b22;--canvas-overlay: #161b22;--fg-default: #e6edf3;--fg-muted: #9198a1;--fg-subtle: #6e7681;--fg-onemph: #ffffff;--border-default: #30363d;--border-muted: #21262d;--shadow-sm: 0 1px 3px rgba(1, 4, 9, .5);--shadow-md: 0 8px 24px rgba(1, 4, 9, .6);--shadow-lg: 0 18px 50px rgba(1, 4, 9, .72);--success: #3fb950;--danger: #f85149;--warn: #d29922;--warn-bg: #272115;--glass-bg: rgba(22, 27, 34, .72);--online: #3fb950;--offline: #6e7681;--busy: #d29922}*{box-sizing:border-box}html,body{height:100%;margin:0}#app{min-height:100%;margin:0;background:var(--canvas);transition:background-color .3s ease}html{background:var(--canvas);transition:background-color .3s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,PingFang SC,Microsoft YaHei,sans-serif;color:var(--fg-default);background:var(--canvas);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--fg-default);margin:0 0 .5em;font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-clip:padding-box;border:3px solid transparent;border-radius:999px;background-color:var(--border-default)}*::-webkit-scrollbar-thumb:hover{background-color:var(--fg-subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--border-default);background:var(--canvas);color:var(--fg-default);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--canvas-subtle);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.is-loading{pointer-events:none}.btn .btn-spin{flex:0 0 auto;display:inline-block;vertical-align:middle}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--fg-onemph)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:var(--border-default)}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--canvas-subtle)}.btn-sm{height:28px;padding:0 12px;font-size:13px}.btn-lg{height:44px;padding:0 22px;font-size:15px}.card{background:var(--canvas);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm)}.card-pad{padding:18px 20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field>label{font-weight:600;font-size:13px;color:var(--fg-default)}.input,.textarea,.select{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border-default);background:var(--canvas);color:var(--fg-default);font-size:14px;font-family:inherit;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.textarea{min-height:96px;resize:vertical;background-image:linear-gradient(135deg,transparent 0 calc(100% - 11px),var(--border-default) calc(100% - 11px) calc(100% - 9px),transparent calc(100% - 9px) calc(100% - 7px),var(--border-default) calc(100% - 7px) calc(100% - 5px),transparent calc(100% - 5px));background-repeat:no-repeat;background-position:right 1px bottom 1px;background-size:14px 14px}.textarea::-webkit-resizer{background:transparent}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border-default)}.badge-accent{color:var(--accent);background:var(--accent-subtle);border-color:transparent}.badge-success{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);border-color:transparent}.badge-warn{color:var(--warn);background:var(--warn-bg);border-color:transparent}.badge-danger{color:var(--danger);border-color:transparent;background:color-mix(in srgb,var(--danger) 12%,transparent)}.status-dot{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--fg-muted)}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--offline);box-shadow:0 0 0 0 transparent}.status-dot.is-online{color:var(--fg-default)}.status-dot.is-online:before{background:var(--online);box-shadow:0 0 0 4px color-mix(in srgb,var(--online) 22%,transparent);animation:pulseDot 2.4s ease-in-out infinite}.status-dot.is-busy:before{background:var(--busy);box-shadow:0 0 0 4px color-mix(in srgb,var(--busy) 22%,transparent)}@keyframes pulseDot{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--online) 22%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--online) 8%,transparent)}}.side-shell{display:flex;gap:40px;width:100%;padding:16px 28px 28px;min-height:100%}.sidebar{flex:0 0 248px;position:sticky;top:16px;z-index:850;align-self:flex-start;background:var(--canvas);border-radius:18px;border:1px solid var(--border-default);box-shadow:var(--shadow-sm);padding:16px 14px}.sidebar .side-title{font-size:12px;font-weight:700;color:var(--fg-muted);padding:12px 12px 6px;letter-spacing:.04em;text-transform:uppercase}.side-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--fg-default);font-weight:500;cursor:pointer;transition:background-color .16s ease,color .16s ease}.side-link:hover{background:var(--canvas-subtle);text-decoration:none}.side-link.active{background:var(--accent-subtle);color:var(--accent)}.side-link .ico{width:18px;height:18px;flex:0 0 18px}.side-main{flex:1 1 auto;min-width:0;max-width:1480px;margin-right:auto;min-height:calc(100vh - 96px);position:relative;padding-top:8px;overflow-x:clip}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;position:sticky;top:0;z-index:60;padding:12px 0 14px}.page-head .head-ico{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--canvas);color:var(--accent);box-shadow:var(--shadow-md);border:1px solid var(--border-muted);flex:0 0 38px}.page-head .head-ico svg{width:20px;height:20px}.page-head h1{margin:0;font-size:20px;font-weight:700}.page-head .head-sub{font-size:13px;color:var(--fg-muted);margin-top:2px}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:0 0 auto;width:16px;height:16px;margin:0;border:1.5px solid var(--border-default);background:var(--canvas);cursor:pointer;position:relative;transition:background-color .15s ease,border-color .15s ease;vertical-align:middle}input[type=checkbox]{border-radius:5px}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--accent)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=radio]:checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:6px;height:6px;border-radius:50%;background:#fff}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-subtle)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.55;cursor:not-allowed}select,.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23656d76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:34px}:root[data-theme=dark] select,:root[data-theme=dark] .select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239198a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}select::-ms-expand{display:none}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{text-align:left;font-weight:600;color:var(--fg-muted);padding:10px 14px;border-bottom:1px solid var(--border-default);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--border-muted);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color .14s ease}.table tbody tr:hover{background:var(--canvas-subtle)}.blur-in{animation:blurIn .5s cubic-bezier(.22,1,.36,1) both}@keyframes blurIn{0%{opacity:0;filter:blur(12px);transform:scale(.98)}to{opacity:1;filter:blur(0);transform:scale(1)}}.page-enter-active{transition:opacity .34s cubic-bezier(.22,.61,.36,1),transform .34s cubic-bezier(.22,.61,.36,1),filter .34s cubic-bezier(.22,.61,.36,1)}.page-leave-active{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1);position:absolute;width:100%}.page-enter-from{opacity:0;filter:blur(6px);transform:translateY(10px)}.page-leave-to{opacity:0;filter:blur(4px);transform:translateY(-6px)}.side-page-enter-active{transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),filter .34s cubic-bezier(.22,1,.36,1);will-change:opacity,transform,filter}.side-page-leave-active{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1);will-change:opacity,transform,filter}.side-page-enter-from,.side-page-leave-to{opacity:0;transform:scale(.99);filter:blur(10px)}.list-enter-active{transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}.list-leave-active{transition:opacity .2s ease,transform .2s ease;position:absolute}.list-enter-from{opacity:0;transform:translateY(8px)}.list-leave-to{opacity:0;transform:scale(.97)}.list-move{transition:transform .3s cubic-bezier(.22,1,.36,1)}.glass{background:var(--glass-bg);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--border-muted)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.muted{color:var(--fg-muted)}.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}.grid{display:grid;gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.spacer{flex:1 1 auto}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.loading-row{display:flex;align-items:center;gap:10px;padding:40px;color:var(--fg-muted);justify-content:center}.table-wrap{overflow-x:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--canvas-subtle);border:1px solid var(--border-muted);flex-wrap:wrap}.seg-btn{padding:6px 14px;border-radius:9px;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;font-size:13px;font-weight:500}.seg-btn.active{background:var(--canvas);color:var(--accent);box-shadow:var(--shadow-sm)}.chk-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-muted);cursor:pointer}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.search{position:relative;display:inline-flex;align-items:center;flex:1;min-width:200px}.search .s-ico{position:absolute;left:12px;color:var(--fg-subtle);pointer-events:none}.search .s-input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border-default);border-radius:10px;background:var(--canvas);color:var(--fg-default);font-size:13px}.search .s-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.multi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;max-height:240px;overflow-y:auto;padding:10px;border:1px solid var(--border-muted);border-radius:10px}.multi-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}
