:root{--bg:#eef1f5;--ink:#1f2937;--muted:#6b7280;--line:#cdd5e0;--brand:#1f4e79;--brand-soft:#e7eff7;--accent:#1e7e34;--warn:#c0392b;--panel:#fff;--chip:#f3f6fa;--radius:10px;--side:#13283f;--accent-blue:#2e6be6;--accent-blue-soft:#eaf1fe;--ok:#1e7e34;--ok-soft:#e9f6ee;--focus:#2e6be6;--sh-1:0 1px 2px rgba(16,32,48,.06),0 1px 3px rgba(16,32,48,.05);--sh-2:0 6px 18px rgba(16,32,48,.08);--sh-3:0 18px 50px rgba(16,32,48,.2);--motion:.16s cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.2,.7,.2,1);--motion-fast:.12s cubic-bezier(.4,0,.2,1);--motion-slow:.26s var(--ease-out);--ink-2:#37526f;--muted-2:#9ca3af;--line-2:#eef1f5;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--r-sm:8px;--r-md:12px;--r-pill:999px;--ok-fg:#1e7e34;--ok-bg:#e3f4e8;--ok-border:#c3e6cd;--danger:#c0392b;--danger-bg:#fdeaea;--danger-border:#f3c9c9;--amber-fg:#8a6d3b;--amber-bg:#fff7e6;--amber-border:#f0e0b8;--info-fg:#2e5a88;--info-bg:#e7eff7;--info-border:#cfe0f7;--surface:#f7f9fc;--hover:#f6f8fb;--ink-3:#475569;--line-3:#e2e8f0;--code-fg:#475569;--code-bg:#f1f5f9;--console-bg:#0f172a;--console-fg:#e2e8f0;--violet-fg:#6d3bce;--violet-bg:#ede9fe;--accent-blue-border:#cfe0f7;--teal-fg:#0e7490;--teal-bg:#ecfeff;--teal-border:#cffafe;--sk-base:#e9edf2;--sk-shine:hsla(0,0%,100%,.65)}:root[data-theme=dark]{--bg:#0f1a2e;--surface:#14213a;--panel:#1b2a45;--hover:#243858;--chip:#223050;--ink:#e8edf5;--ink-2:#c6d3e6;--ink-3:#aab9d1;--muted:#90a2be;--muted-2:#6d7f9b;--line:#31456a;--line-2:#24334f;--line-3:#2c3d5d;--brand:#5b93d6;--brand-soft:#1c3253;--accent:#45c46a;--ok:#45c46a;--ok-soft:#16301f;--accent-blue:#5f96f2;--accent-blue-soft:#172b4d;--accent-blue-border:#2f4c7d;--focus:#5f96f2;--warn:#e2574d;--ok-fg:#57db8c;--ok-bg:#143120;--ok-border:#245c3c;--danger:#f6857d;--danger-bg:#38191b;--danger-border:#612d2d;--amber-fg:#f1ba4d;--amber-bg:#372c13;--amber-border:#5a4722;--info-fg:#74abe2;--info-bg:#16283f;--info-border:#2b4767;--violet-fg:#b89bf2;--violet-bg:#261c40;--teal-fg:#40bccf;--teal-bg:#0f2b31;--teal-border:#1e4a53;--sk-base:#1f2c48;--sk-shine:hsla(0,0%,100%,.07);--code-fg:#bac7dc;--code-bg:#16233c;--sh-1:0 1px 2px rgba(0,0,0,.34),0 1px 3px rgba(0,0,0,.28);--sh-2:0 6px 18px rgba(0,0,0,.4);--sh-3:0 18px 50px rgba(0,0,0,.55);color-scheme:dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark] .btn:not(.ghost):not(.danger),:root[data-theme=dark] .tab.active{background:#3f74b3;border-color:#3f74b3}:root[data-theme=dark] .btn.danger:not(.ghost){background:#c34237;border-color:#c34237}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:5px}.side :focus-visible{outline-color:#7fb0ee}@media(prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.page-enter-active{transition:opacity var(--motion-slow),transform var(--motion-slow)}.page-leave-active{transition:opacity var(--motion-fast)}.page-enter-from{opacity:0;transform:translateY(7px)}.page-leave-to{opacity:0}@keyframes ab-rise{0%{opacity:0;transform:translateY(8px)}}.rise{animation:ab-rise var(--motion-slow) both}.sk{display:block;position:relative;overflow:hidden;background:var(--sk-base);border-radius:var(--r-sm)}.sk:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--sk-shine),transparent);transform:translate(-100%);animation:sk-sweep 1.4s ease-in-out infinite}@keyframes sk-sweep{to{transform:translate(100%)}}#__nuxt,body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,Segoe UI,system-ui,sans-serif}.app{display:grid;grid-template-columns:218px 1fr;grid-template-rows:minmax(0,1fr);height:100vh;overflow:hidden;transition:grid-template-columns var(--motion)}.app.nav-collapsed{grid-template-columns:62px 1fr}.side{background:var(--side);color:#cdd9e8;padding:14px 12px;display:flex;flex-direction:column}.brandbox{display:flex;align-items:center;gap:9px;padding:6px 8px 14px;border-bottom:1px solid hsla(0,0%,100%,.08);margin-bottom:8px}.logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#3a7bd5,#1e7e34);display:grid;place-items:center;font-weight:800;color:#fff;font-size:14px;flex:none}.nav-toggle{margin-left:auto;background:transparent;border:0;color:#8fa6c0;cursor:pointer;padding:5px;border-radius:6px;display:grid;place-items:center;transition:background var(--motion),color var(--motion)}.nav-toggle:hover{background:#1d3a59;color:#fff}.nav{overflow:auto;overflow-x:hidden;flex:1;min-height:0}.logout,.version,.who{flex:none}.nav .navlink,.nav a{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;font-size:12.5px;color:#b7c6da;text-decoration:none;margin-bottom:1px;cursor:pointer;white-space:nowrap;overflow:hidden;transition:background var(--motion),color var(--motion)}.nav-ic{flex:none;opacity:.82}.nav a.router-link-exact-active .nav-ic{opacity:1}.nav a:hover{background:#1d3a59;color:#fff}.nav-search{display:flex;align-items:center;gap:9px;width:100%;margin-bottom:10px;padding:8px 10px;border-radius:8px;border:1px solid hsla(0,0%,100%,.14);background:#ffffff0d;color:#9fb3ca;font-size:12.5px;cursor:pointer;white-space:nowrap;overflow:hidden;transition:background var(--motion),border-color var(--motion),color var(--motion)}.nav-search:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff}.nav-search>.nav-label:first-of-type{flex:1;text-align:left}.nav-search-kbd{flex:none;font-size:10px;border:1px solid hsla(0,0%,100%,.2);border-radius:4px;padding:1px 5px;color:#9fb3ca}.nav-collapsed .nav-search{justify-content:center;padding:8px 0;gap:0}.nav a.router-link-exact-active{background:#28527e;color:#fff;font-weight:600}.nav .navlink.disabled{color:#5b748f;cursor:not-allowed}.nav .sep{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#65839f;padding:12px 10px 5px}.who{display:flex;align-items:center;gap:9px;padding:10px 8px 2px;border-top:1px solid hsla(0,0%,100%,.08);margin-top:8px}.av{width:28px;height:28px;border-radius:50%;background:#2f5980;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff}.who .nm{font-size:12px;color:#fff;font-weight:600}.who .rl{font-size:11px;color:#7e9bb8}.who-theme{margin-left:auto;flex:none;background:transparent;border:1px solid hsla(0,0%,100%,.15);color:#b7c6da;border-radius:7px;padding:6px;cursor:pointer;display:grid;place-items:center;transition:background var(--motion),color var(--motion),border-color var(--motion)}.who-theme:hover{background:#1d3a59;color:#fff;border-color:#ffffff4d}.nav-collapsed .who-theme{display:none}.logout{margin-top:10px;border:1px solid hsla(0,0%,100%,.15);background:transparent;color:#b7c6da;border-radius:7px;padding:7px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--motion),color var(--motion)}.logout:hover{background:#1d3a59;color:#fff}.nav-collapsed .brand-name,.nav-collapsed .logo,.nav-collapsed .nav .sep,.nav-collapsed .nav-label,.nav-collapsed .version,.nav-collapsed .who-txt{display:none}.nav-collapsed .brandbox{justify-content:center;gap:0;padding:6px 4px 14px}.nav-collapsed .nav-toggle{margin-left:0}.nav-collapsed .side{padding:14px 8px}.nav-collapsed .nav a{justify-content:center;gap:0;padding:9px 0}.nav-collapsed .who{justify-content:center;padding:10px 0 2px}.nav-collapsed .logout{padding:8px 0}.main{padding:20px 22px;background:var(--surface);min-width:0;overflow:auto}.crumbs{font-size:12px;color:var(--muted);margin-bottom:12px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.topbar>.crumbs{flex:1 1 auto;min-width:0}.pagehd{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.pagehd h2{margin:0;font-size:18px}.btn{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:8px;padding:8px 13px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background var(--motion),border-color var(--motion),box-shadow var(--motion),transform var(--motion),color var(--motion)}.btn:hover{box-shadow:var(--sh-2)}.btn:active{transform:translateY(1px);box-shadow:none}.btn.ghost{background:var(--panel);color:var(--brand)}.btn.ghost:hover{background:var(--brand-soft)}.btn.sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.input{min-width:230px}.input,.select{border:1px solid var(--line);border-radius:8px;padding:8px 11px}.input,.select,table{background:var(--panel);font-size:13px}table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:8px;overflow:hidden}.tbl-scroll{overflow-x:auto}.tbl-scroll>table{min-width:640px}th{background:var(--bg);text-align:left;color:var(--ink-2);font-size:11px;text-transform:uppercase;letter-spacing:.4px}td,th{padding:9px 12px}td{border-top:1px solid var(--line-2)}tr:hover td{background:var(--hover)}.pill{display:inline-block;padding:2px 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700}.pill.ok{background:var(--ok-bg);color:var(--ok-fg)}.pill.warn{background:var(--danger-bg);color:var(--danger)}.pill.mut{background:var(--bg);color:var(--muted)}.pill.blue{background:var(--info-bg);color:var(--brand)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}.kpi .v{font-size:23px;font-weight:800;color:var(--brand)}.kpi .l{font-size:12px;color:var(--muted);margin-top:2px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.panel h3{margin:0 0 12px;font-size:14px;color:var(--ink-2)}.muted{font-size:12px}.empty,.muted{color:var(--muted)}.empty{padding:30px;text-align:center;font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.full{grid-column:1/-1}.field>label{font-size:12px;color:var(--ink-2);font-weight:600}.field .input,.field .select{width:100%}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.check input{width:16px;height:16px}.form-actions{display:flex;gap:8px;margin-top:14px}.btn.danger{border-color:var(--warn);background:var(--warn);color:#fff}.btn.danger.ghost{background:var(--panel);color:var(--warn)}.actcell{display:flex;gap:6px;justify-content:flex-end}.tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}.tab{padding:6px 13px;border:1px solid var(--line);background:var(--panel);border-radius:999px;font-size:12.5px;cursor:pointer;color:var(--ink-2);transition:background var(--motion),color var(--motion),border-color var(--motion)}.tab:hover:not(.active){border-color:var(--brand);color:var(--brand)}.tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.alert{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--r-sm)}.alert,.note{padding:9px 12px;font-size:var(--fs-sm);margin-bottom:12px}.note{background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber-border);border-radius:var(--r-sm)}.info{background:var(--info-bg);color:var(--info-fg);border:1px solid var(--info-border);border-left:3px solid var(--brand);border-radius:var(--r-sm);padding:9px 12px;font-size:var(--fs-sm);margin-bottom:12px}.modal-overlay{position:fixed;inset:0;background:#11182773;z-index:1000;animation:ab-overlay-in var(--motion) ease-out}.modal{position:fixed;top:56px;left:50%;transform:translate(-50%);max-height:calc(100dvh - 88px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-3);display:flex;flex-direction:column;overflow:hidden;animation:ab-modal-in .18s ease-out}@keyframes ab-overlay-in{0%{opacity:0}}@keyframes ab-modal-in{0%{opacity:0}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.modal-head h3{margin:0;font-size:15px;color:var(--ink-2)}.modal-x{border:none;background:transparent;font-size:15px;line-height:1;color:var(--muted);cursor:pointer;padding:5px 7px;border-radius:6px}.modal-x:hover{background:var(--chip);color:var(--ink)}.modal-body{padding:16px;overflow:auto;flex:1 1 auto}.modal-foot{padding:12px 16px;border-top:1px solid var(--line);flex:0 0 auto;display:flex;gap:8px;justify-content:flex-end}@media(min-width:768px)and (pointer:fine){.modal-head{cursor:move}}@media(max-width:767px){.modal{top:12px;max-height:calc(100dvh - 24px)}}.modal.modal--full .modal-head{cursor:default}.tabsmini{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}.tabsmini span{padding:8px 14px;font-size:13px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabsmini span:hover{color:var(--ink)}.tabsmini span.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.val{font-size:13px;color:var(--ink);padding:6px 0;word-break:break-word}.val.mut{color:var(--muted)}.backlink{font-size:12px;color:var(--brand);text-decoration:none}.backlink:hover{text-decoration:underline}a.rowlink{color:var(--brand);text-decoration:none;font-weight:600}a.rowlink:hover{text-decoration:underline}@media(max-width:720px){.grid2{grid-template-columns:1fr}}@media(max-width:1024px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.main{padding:16px 14px}.form-grid{grid-template-columns:1fr}.pagehd{flex-wrap:wrap}.toolbar{gap:8px}}@media(max-width:560px){.cards{grid-template-columns:1fr}.input{min-width:0;width:100%}.toolbar{flex-direction:column;align-items:stretch}}.ab-icon[data-v-d3058a27]{display:inline-block;vertical-align:-.14em;flex:none}.ask[data-v-ca1af602]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:6px 4px 2px}.ask-ic[data-v-ca1af602]{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:var(--bg)}.ask-ic.warning[data-v-ca1af602]{background:var(--amber-bg)}.ask-ic.danger[data-v-ca1af602]{background:var(--danger-bg)}.ask-ic.question[data-v-ca1af602]{background:var(--accent-blue-soft)}.ask-ic.success[data-v-ca1af602]{background:var(--ok-bg)}.ask-ic.info[data-v-ca1af602]{background:var(--accent-blue-soft)}.ask-msg[data-v-ca1af602]{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink,#1f2937)}.btn.danger[data-v-ca1af602]{color:#fff}.btn.danger[data-v-ca1af602],.btn.danger[data-v-ca1af602]:hover{background:var(--danger);border-color:var(--danger)}.toast-host[data-v-d822dd11]{position:fixed;right:20px;bottom:20px;z-index:1100;flex-direction:column;align-items:flex-end;pointer-events:none}.toast[data-v-d822dd11],.toast-host[data-v-d822dd11]{display:flex;gap:10px}.toast[data-v-d822dd11]{pointer-events:auto;align-items:center;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:10px;padding:11px 13px 11px 14px;box-shadow:var(--sh-3);min-width:260px;max-width:400px;font-size:13.5px;color:var(--ink)}.toast--success[data-v-d822dd11]{border-left-color:var(--ok)}.toast--error[data-v-d822dd11]{border-left-color:var(--warn)}.toast--info[data-v-d822dd11]{border-left-color:var(--accent-blue)}.toast-ic[data-v-d822dd11]{flex:none;display:grid;place-items:center}.toast-msg[data-v-d822dd11]{flex:1;line-height:1.4}.toast-x[data-v-d822dd11]{flex:none;border:0;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;padding:4px 5px;border-radius:6px;transition:background var(--motion),color var(--motion)}.toast-x[data-v-d822dd11]:hover{background:var(--chip);color:var(--ink)}.toast-enter-from[data-v-d822dd11],.toast-leave-to[data-v-d822dd11]{opacity:0;transform:translate(18px)}.toast-enter-active[data-v-d822dd11]{transition:opacity .22s ease-out,transform .22s cubic-bezier(.2,.7,.2,1)}.toast-leave-active[data-v-d822dd11]{transition:opacity .16s ease-in,transform .16s ease-in;position:relative}
