a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafc;--surface-3:#eef2f7;--border:#e3e8ef;--border-strong:#cfd7e3;--text:#0f172a;--text-2:#475569;--muted:#8a96a8;--accent:#2563eb;--accent-hover:#1d4fd8;--accent-soft:#e8efff;--accent-text:#1e40af;--success:#16a34a;--success-soft:#e8f7ee;--success-text:#15803d;--warning:#d97706;--warning-soft:#fdf3e2;--warning-text:#b45309;--danger:#dc2626;--danger-soft:#fdecec;--danger-text:#b91c1c;--sidebar-bg:#0c1424;--sidebar-text:#a9b4c6;--sidebar-active:#fff;--sidebar-hover:hsla(0,0%,100%,.06);--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(15,23,42,.05);--shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.06);--shadow-lg:0 12px 40px rgba(15,23,42,.18);--sidebar-w:236px;--sidebar-w-collapsed:72px;--topbar-h:60px;--ease:cubic-bezier(.2,.7,.2,1)}*,:after,:before{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}b,strong{font-weight:600}small{font-size:12px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::-moz-selection{background:var(--accent-soft)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.h1,h1{font-size:22px;letter-spacing:-.01em;line-height:1.25}.h1,.h2,h1,h2{font-weight:650}.h2,h2{font-size:18px;letter-spacing:-.005em;line-height:1.3;margin:0 0 16px}.h3,h3{font-size:15px;font-weight:600;line-height:1.35;margin:24px 0 12px}p{margin:0 0 8px}.text-muted{color:var(--muted)}.text-2{color:var(--text-2)}.mono{font-family:var(--font-mono);font-size:12.5px}.nowrap{white-space:nowrap}.page{display:flex;flex-direction:column;gap:20px;min-width:0}.page-narrow{max-width:680px}.page-wide{max-width:980px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head h2{margin:0}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar .grow{flex:1 1 240px;min-width:0}.stack{display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;min-width:0}.card-flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.card-title{font-size:15px;font-weight:600;margin:0}.card-sub{color:var(--muted);font-size:13px;margin:2px 0 0}.btn,.form-actions button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:14px;font-weight:550;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease),transform .08s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.form-actions button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.btn-primary,.form-actions button[type=submit]{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.25)}.btn-primary:hover:not(:disabled),.form-actions button[type=submit]:hover:not(:disabled){background:var(--accent-hover);color:#fff}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted);color:var(--text)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-text);color:#fff}.btn-sm{height:30px;padding:0 12px;font-size:13px;border-radius:7px}.btn-icon{width:34px;height:34px;padding:0;border-radius:var(--radius-sm)}:where(input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=search],input[type=tel],select,textarea){height:38px;padding:0 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;color:var(--text);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease);max-width:100%}:where(textarea){height:auto;min-height:90px;padding:10px 12px}:where(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a96a8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}:where(input,select,textarea):hover{border-color:var(--muted)}:where(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}::-moz-placeholder{color:var(--muted)}::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer;vertical-align:middle}.form-group,.form-order{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group>label,.form-order>label{font-size:13px;font-weight:550;color:var(--text-2)}.form-group>input,.form-group>select,.form-group>textarea,.form-order>input,.form-order>select{width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));-moz-column-gap:16px;column-gap:16px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}.cancel-link{color:var(--text-2);font-weight:500;padding:0 8px}.cancel-link:hover{color:var(--text)}.hint{color:var(--text-2);font-size:13px;margin:0 0 20px}.check-list{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;font-size:13px;background:var(--surface);transition:.15s var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}.check-chip:hover{border-color:var(--accent)}.check-chip:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.alert,.error,.success{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px;border:1px solid transparent}.error{background:var(--danger-soft);color:var(--danger-text);border-color:#f8d4d4}.success{background:var(--success-soft);color:var(--success-text);border-color:#cdebd8}.alert{background:var(--accent-soft);color:var(--accent-text);border-color:#d3e0ff}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:var(--muted);font-size:14px}.loading:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:nx-spin .7s linear infinite}@keyframes nx-spin{to{transform:rotate(1turn)}}.empty-state,.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:44px 20px;color:var(--muted);text-align:center;font-size:14px}.empty-state .empty-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--surface-3);color:var(--text-2);font-size:20px;margin-bottom:8px}.empty-state .empty-title{color:var(--text);font-weight:600;font-size:15px}.badge,.status-error,.status-success,.status-warning{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1;background:var(--surface-3);color:var(--text-2)}.badge-success,.status-success{background:var(--success-soft);color:var(--success-text)}.badge-danger,.status-error{background:var(--danger-soft);color:var(--danger-text)}.badge-warning,.status-warning{background:var(--warning-soft);color:var(--warning-text)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.status-error:before,.status-success:before,.status-warning:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.segmented,.subnav{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin:0;background:var(--surface-3);border-radius:11px;list-style:none;max-width:100%}.subnav-item{margin:0}.segmented>button,.subnav-link{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:8px;border:0;background:transparent;color:var(--text-2);font-size:13.5px;font-weight:550;cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.segmented>button:hover,.subnav-link:hover{color:var(--text)}.segmented>button.active,.subnav-link.router-link-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(15,23,42,.1)}.segmented .count{color:var(--muted);font-weight:500;font-size:12px}.segmented>button.active .count{color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-size:13px;color:var(--text-2);cursor:pointer;transition:.15s var(--ease)}.chip:hover{border-color:var(--muted);color:var(--text)}.chip.active{background:var(--text);border-color:var(--text);color:#fff}.table-container,.table-wrapper{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table-container table,.table-wrapper table,table.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table-container th,.table-wrapper th,table.table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-2);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;text-align:left;white-space:nowrap;padding:10px 14px;border-bottom:1px solid var(--border)}.table-container td,.table-wrapper td,table.table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table-container tbody tr:last-child td,.table-wrapper tbody tr:last-child td,table.table tbody tr:last-child td{border-bottom:0}.table-container tbody tr,.table-wrapper tbody tr{transition:background-color .12s}.table-container tbody tr:hover,.table-wrapper tbody tr:hover{background:var(--surface-2)}.clickable-row{cursor:pointer}.name-cell{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.num{font-variant-numeric:tabular-nums}.col-actions{text-align:right;width:1%;white-space:nowrap}.pagination{justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px}.modal-overlay,.pagination{display:flex;align-items:center}.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;padding:16px;animation:nx-fade .15s var(--ease)}.modal-content{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;animation:nx-pop .18s var(--ease)}@keyframes nx-fade{0%{opacity:0}}@keyframes nx-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.page-fade-enter-active{transition:opacity .14s var(--ease),transform .14s var(--ease)}.page-fade-enter-from{opacity:0;transform:translateY(4px)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.subnav:has(>li:only-child){display:none}.section>.subnav{align-self:flex-start}@media(max-width:640px){.segmented,.subnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar,.subnav::-webkit-scrollbar{display:none}.card{padding:16px}}.topbar[data-v-81263f76]{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;height:var(--topbar-h);padding:0 28px;background:rgba(244,246,250,.85);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.burger[data-v-81263f76]{display:none}.crumbs[data-v-81263f76]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;font-size:15px;white-space:nowrap;overflow:hidden}.crumb[data-v-81263f76]{color:var(--muted);font-weight:500}.crumb[data-v-81263f76]:hover{color:var(--text)}.crumb-current[data-v-81263f76]{color:var(--text);font-weight:650;overflow:hidden;text-overflow:ellipsis}.crumb-sep[data-v-81263f76]{color:var(--border-strong)}.user[data-v-81263f76]{position:relative}.user-btn[data-v-81263f76]{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px 0 4px;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;transition:background-color .15s var(--ease),border-color .15s var(--ease)}.user-btn[data-v-81263f76]:hover,.user.open .user-btn[data-v-81263f76]{background:var(--surface);border-color:var(--border)}.avatar[data-v-81263f76]{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:12px;font-weight:650;letter-spacing:.02em}.user-name[data-v-81263f76]{font-size:14px;font-weight:550;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chevron[data-v-81263f76]{font-size:11px;color:var(--muted);transition:transform .15s var(--ease)}.user.open .user-chevron[data-v-81263f76]{transform:rotate(180deg)}.dropdown[data-v-81263f76]{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px}.dropdown-head[data-v-81263f76]{padding:10px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.dropdown-name[data-v-81263f76]{font-weight:600}.dropdown-login[data-v-81263f76]{color:var(--muted);font-size:12px}.dropdown-item[data-v-81263f76]{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:14px;cursor:pointer;text-align:left}.dropdown-item[data-v-81263f76]:hover{background:var(--surface-3);color:var(--text)}.dropdown-item.danger[data-v-81263f76]{color:var(--danger-text)}.dropdown-item.danger[data-v-81263f76]:hover{background:var(--danger-soft)}.drop-enter-active[data-v-81263f76],.drop-leave-active[data-v-81263f76]{transition:opacity .12s var(--ease),transform .12s var(--ease)}.drop-enter-from[data-v-81263f76],.drop-leave-to[data-v-81263f76]{opacity:0;transform:translateY(-4px)}@media(max-width:960px){.topbar[data-v-81263f76]{padding:0 12px}.burger[data-v-81263f76]{display:inline-flex}.user-chevron[data-v-81263f76],.user-name[data-v-81263f76]{display:none}.user-btn[data-v-81263f76]{padding:0 4px}}.sidebar[data-v-2491ac76]{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--sidebar-bg);color:var(--sidebar-text);padding:14px 12px;overflow:hidden;z-index:100}.brand[data-v-2491ac76]{display:flex;align-items:center;gap:12px;height:44px;padding:0 8px;margin-bottom:18px;color:#fff;white-space:nowrap}.brand[data-v-2491ac76]:hover{color:#fff}.brand-logo[data-v-2491ac76]{flex:0 0 auto}.brand-text[data-v-2491ac76]{display:flex;flex-direction:column;line-height:1.15}.brand-name[data-v-2491ac76]{font-weight:650;font-size:15px;letter-spacing:-.01em}.brand-sub[data-v-2491ac76]{font-size:11px;color:var(--sidebar-text);text-transform:uppercase;letter-spacing:.12em}.nav[data-v-2491ac76]{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px}[data-v-2491ac76] .nav-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}[data-v-2491ac76] .nav-link{position:relative;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:10px;color:var(--sidebar-text);font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .15s var(--ease),color .15s var(--ease)}[data-v-2491ac76] .nav-link:hover{background:var(--sidebar-hover);color:#fff}[data-v-2491ac76] .nav-item.active .nav-link{background:rgba(37,99,235,.18);color:var(--sidebar-active)}[data-v-2491ac76] .nav-item.active .nav-link:before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#5b8cff}[data-v-2491ac76] .nav-icon{width:18px;font-size:16px;flex:0 0 18px}[data-v-2491ac76] .nav-item.active .nav-icon{color:#7ea6ff}.collapse-btn[data-v-2491ac76]{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;margin-top:8px;border:0;border-radius:10px;background:transparent;color:var(--sidebar-text);cursor:pointer;white-space:nowrap;font-size:13px}.collapse-btn[data-v-2491ac76]:hover{background:var(--sidebar-hover);color:#fff}.collapse-icon[data-v-2491ac76]{width:18px;flex:0 0 18px;transition:transform .2s var(--ease)}.brand-text[data-v-2491ac76],.nav-text[data-v-2491ac76],[data-v-2491ac76] .nav-text{transition:opacity .15s var(--ease)}@media(max-width:960px){.sidebar[data-v-2491ac76]{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .22s var(--ease);box-shadow:var(--shadow-lg)}.collapse-btn[data-v-2491ac76]{display:none}}#app,.layout{min-height:100vh}.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);transition:grid-template-columns .2s var(--ease)}.layout.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.layout-main{display:flex;flex-direction:column;min-width:0}.layout-backdrop{display:none}.workarea{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:24px 28px 40px;min-width:0}@media(min-width:961px){.layout.is-collapsed .brand-text,.layout.is-collapsed .nav-text{opacity:0;pointer-events:none}.layout.is-collapsed .collapse-icon{transform:rotate(180deg)}}@media(max-width:960px){.layout.is-nav-open .sidebar{transform:none}.layout,.layout.is-collapsed{grid-template-columns:minmax(0,1fr)}.layout-backdrop{position:fixed;inset:0;z-index:90;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .2s var(--ease)}.layout.is-nav-open .layout-backdrop{display:block;opacity:1;pointer-events:auto}.workarea{padding:16px 14px 32px}}