@charset "UTF-8";:root{--basicBlack: #000000;--basicWhite: #ffffff;--primaryColor: #409eff;--tag-bg-color: #efefef}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}.list-body{margin:10px 0}.dialog-form{max-width:600px;margin:20px auto}.list-query .el-select{--el-select-width: 160px}.list-query .el-input{--el-input-width: 160px}.table-actions .el-button{margin:5px}html.dark{--tag-bg-color: #24252b;--basicBlack: #fff}:root{--nv-primary: #2563eb;--nv-primary-dark: #1d4ed8;--nv-primary-soft: #eaf2ff;--nv-primary-glow: rgba(37, 99, 235, .16);--nv-bg: #f5f8fc;--nv-bg-soft: #f8fbff;--nv-surface: #ffffff;--nv-border: #d9e4f2;--nv-border-soft: rgba(217, 228, 242, .72);--nv-text: #0f172a;--nv-text-main: #1e293b;--nv-text-muted: #64748b;--nv-success: #22b573;--nv-warning: #f59e0b;--nv-danger: #ef4444;--nv-radius-sm: 10px;--nv-radius-md: 14px;--nv-radius-lg: 18px;--nv-radius-xl: 22px;--nv-shadow-sm: 0 6px 18px rgba(15, 23, 42, .06);--nv-shadow-md: 0 12px 30px rgba(15, 23, 42, .08);--nv-sidebar-width: 236px;--el-color-primary: var(--nv-primary);--el-color-primary-light-9: var(--nv-primary-soft);--primaryColor: var(--nv-primary)}body{color:var(--nv-text-main);background:var(--nv-bg)}.nv-app{min-height:100vh;background:radial-gradient(circle at 16% 13%,rgba(37,99,235,.08) 0 5px,transparent 6px),radial-gradient(circle at 82% 70%,rgba(37,99,235,.07) 0 7px,transparent 8px),linear-gradient(135deg,var(--nv-bg-soft) 0%,#ffffff 46%,var(--nv-bg) 100%)}.nv-app:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:repeating-radial-gradient(ellipse at 20% 76%,transparent 0 20px,rgba(37,99,235,.08) 21px 22px,transparent 23px 40px),repeating-radial-gradient(ellipse at 84% 18%,transparent 0 18px,rgba(37,99,235,.08) 19px 20px,transparent 21px 38px);background-size:760px 420px,620px 340px;background-position:-150px 56vh,calc(100vw - 520px) -70px;background-repeat:no-repeat}.nv-sidebar-frame{position:relative;z-index:2;min-height:100vh;box-sizing:border-box;overflow:hidden;padding:16px 0 16px 16px;background:transparent;transition:width .28s ease}.nv-sidebar{position:relative;display:flex;flex-direction:column;height:calc(100vh - 32px);overflow:hidden;border-radius:0 var(--nv-radius-xl) var(--nv-radius-xl) 0;border-right:1px solid rgba(180,198,230,.32);background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.78),transparent 30%),linear-gradient(180deg,#f4f8fff5,#ecf2fcf0 45%,#e5eefcf5);box-shadow:0 10px 30px #1e3c7814}.nv-sidebar:before,.nv-sidebar:after{content:"";position:absolute;pointer-events:none;border-radius:999px}.nv-sidebar:before{top:42px;right:-78px;width:170px;height:170px;background:#78aaff14;filter:blur(12px)}.nv-sidebar:after{left:-80px;bottom:-92px;width:240px;height:240px;background:#5082ff12;filter:blur(16px)}.nv-sidebar-brand{position:relative;z-index:1;display:flex;align-items:flex-start;gap:12px;width:100%;box-sizing:border-box;padding:24px 18px 21px;margin-bottom:18px;border-bottom:1px solid rgba(170,190,225,.28);color:#14213d}.nv-sidebar-brand-icon{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#ffffffd9;box-shadow:0 4px 14px #2850961a;object-fit:contain}.nv-sidebar-brand-text{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0}.nv-sidebar-brand-name{width:100%;min-width:0;overflow:hidden;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:22px;line-height:26px;font-weight:700;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.nv-sidebar-brand-name span{color:#14213d}.nv-sidebar-brand-name strong{color:#2f64d6}.nv-sidebar-brand-subtitle{margin-top:4px;color:#6d83ae;font-size:12px;line-height:16px;font-weight:560}.nv-sidebar-frame.is-collapsed{padding-right:0}.nv-sidebar-frame.is-collapsed .nv-sidebar-brand{justify-content:center;padding-left:10px;padding-right:10px}.nv-sidebar-frame.is-collapsed .nv-sidebar-brand-text{display:none}.nv-main{position:relative;z-index:1;min-width:0;min-height:100vh;padding:16px 28px 28px}.nv-topbar-wrap.el-header{height:auto;min-height:72px;padding:0;background:transparent}.nv-topbar{display:flex;align-items:center;gap:18px;width:100%;box-sizing:border-box;min-height:72px;padding:12px 18px;border:1px solid rgba(180,198,230,.35);border-radius:var(--nv-radius-lg);color:var(--nv-text-main);background:#fff;box-shadow:0 10px 30px #1e3c780f;backdrop-filter:blur(10px)}.nv-header-left{display:flex;align-items:center;flex:1;min-width:0;gap:12px}.nv-header-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--nv-border);border-radius:var(--nv-radius-sm);color:var(--nv-primary);background:var(--nv-primary-soft);cursor:pointer}.nv-header-context{min-width:0}.nv-header-kicker{color:var(--nv-text-muted);font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.nv-header-title{margin-top:2px;overflow:hidden;color:var(--nv-text);font-size:18px;line-height:1.2;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.nv-header-right{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;flex:0 0 auto}.nv-tags{display:flex;gap:8px;min-height:46px;padding:12px 2px 0;border:0}.nv-tags .el-tag{height:30px;border-radius:999px;border-color:var(--nv-border);color:var(--nv-text-muted);background:#ffffffb8}.nv-tags .el-tag.el-tag--dark{border-color:var(--nv-primary);color:#fff;background:var(--nv-primary)}.nv-page-shell.el-main{overflow-x:auto;overflow-y:visible;padding:24px 0 0}.nv-page{width:100%}.nv-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.nv-page-title{margin:0;color:var(--nv-text);font-size:32px;line-height:1.18;font-weight:740;letter-spacing:-.03em}.nv-page-subtitle{max-width:760px;margin:8px 0 0;color:var(--nv-text-muted);font-size:15px;line-height:1.55}.nv-card,.list-query.el-card,.list-body.el-card,.list-page.el-card{border:1px solid var(--nv-border-soft);border-radius:var(--nv-radius-lg);background:#ffffffeb;box-shadow:var(--nv-shadow-sm)}.nv-card+.nv-card,.list-body,.list-page{margin-top:16px}.nv-card .el-card__body,.list-query .el-card__body,.list-body .el-card__body,.list-page .el-card__body{padding:18px}.nv-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.nv-card-title{margin:0;color:var(--nv-text);font-size:16px;font-weight:700}.nv-toolbar,.nv-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.nv-form-group{min-width:160px}.nv-label{display:block;margin-bottom:7px;color:var(--nv-text-muted);font-size:13px;font-weight:650}.nv-input,.nv-select{min-height:40px}.nv-filter-card .el-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.nv-filter-card .el-form-item{margin:0}.nv-filter-card .el-form-item__label{color:var(--nv-text-muted);font-size:13px;font-weight:650}.nv-filter-card .el-input,.nv-filter-card .el-select{width:170px}.nv-filter-card .el-input__wrapper,.nv-filter-card .el-select__wrapper,.dialog-form .el-input__wrapper,.dialog-form .el-select__wrapper{min-height:40px;border-radius:var(--nv-radius-sm);box-shadow:0 0 0 1px var(--nv-border) inset}.nv-filter-card .el-input__wrapper.is-focus,.nv-filter-card .el-select__wrapper.is-focused,.dialog-form .el-input__wrapper.is-focus,.dialog-form .el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--nv-primary) inset,0 0 0 3px var(--nv-primary-glow)}.nv-btn,.el-button.nv-btn-primary,.el-button.nv-btn-secondary,.el-button.nv-btn-success,.el-button.nv-btn-outline,.el-button.nv-btn-danger,.el-button.nv-btn-ghost,.el-button.nv-icon-btn{min-height:40px;border-radius:var(--nv-radius-sm);font-weight:700}.el-button.nv-btn-primary{border-color:var(--nv-primary);background:linear-gradient(180deg,var(--nv-primary) 0%,var(--nv-primary-dark) 100%);box-shadow:0 9px 18px #2563eb2e}.el-button.nv-btn-secondary{border-color:transparent;color:var(--nv-primary);background:var(--nv-primary-soft)}.el-button.nv-btn-success{border-color:transparent;color:#047857;background:#22b57321}.el-button.nv-btn-outline{border-color:var(--nv-border);color:var(--nv-text-main);background:#fff}.el-button.nv-btn-danger{border-color:#ef444438;color:var(--nv-danger);background:#ef444414}.el-button.nv-btn-ghost,.el-button.nv-icon-btn{border-color:transparent;color:var(--nv-text-muted);background:transparent}.el-button.nv-icon-btn{width:36px;min-height:36px;padding:8px}.nv-table-card .el-table,.nv-table.el-table{--el-table-border-color: var(--nv-border-soft);--el-table-header-bg-color: #f8fbff;border-radius:var(--nv-radius-md);overflow:hidden}.nv-table-card .el-table th.el-table__cell,.nv-table.el-table th.el-table__cell{color:var(--nv-text-muted);background:#f8fbff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.nv-table-card .el-table td.el-table__cell,.nv-table.el-table td.el-table__cell{color:var(--nv-text-main)}.nv-table-actions,.table-actions{white-space:normal}.nv-table-actions .el-button,.table-actions .el-button{margin:4px}.nv-table-muted{color:var(--nv-text-muted)}.nv-table-id{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.nv-pagination{display:flex;justify-content:flex-end}.nv-badge,.nv-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 9px;border-radius:999px;color:var(--nv-text-muted);background:#f1f5f9;font-size:12px;font-weight:700}.nv-badge-success{color:#047857;background:#22b5731f}.nv-badge-warning{color:#b45309;background:#f59e0b24}.nv-badge-danger{color:var(--nv-danger);background:#ef44441a}.nv-copy-icon{margin-left:6px;color:var(--nv-text-muted);cursor:pointer;vertical-align:middle}.nv-copy-icon:hover{color:var(--nv-primary)}.nv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:230px;padding:34px 20px;text-align:center}.nv-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:14px;border-radius:18px;color:var(--nv-primary);background:var(--nv-primary-soft);font-size:25px}.nv-empty-title{color:var(--nv-text);font-size:17px;font-weight:700}.nv-empty-subtitle{max-width:360px;margin:7px 0 18px;color:var(--nv-text-muted);font-size:14px;line-height:1.5}.nv-user-menu{gap:10px;min-height:42px;padding:3px 8px 3px 3px;border:1px solid var(--nv-border-soft);border-radius:999px;background:#fff;cursor:pointer}.nv-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;color:#fff;background:linear-gradient(180deg,var(--nv-primary) 0%,var(--nv-primary-dark) 100%);font-size:12px;font-weight:700}.nv-user-meta{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.nv-user-role{margin-top:1px;color:var(--nv-text-muted);font-size:11px;line-height:1;font-weight:650}.nv-user-arrow{color:var(--nv-text-muted)}.setting .title{color:var(--nv-text-main)!important}.setting .menu-item{margin-left:0!important}.setting .nickname{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menus.el-menu{position:relative;z-index:1;overflow-x:hidden;background:transparent}.nv-menu-section{margin:0 0 14px}.nv-menu-section-title{padding:12px 20px 6px;color:#7a8fb8;font-size:11px;line-height:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.el-menu--collapse .nv-menu-section-title{display:none}.menus .el-menu-item,.menus .el-sub-menu__title{display:flex;align-items:center;height:46px;margin:4px 10px;padding:0 14px!important;border-radius:14px;color:#243655;font-size:14px;line-height:20px;font-weight:600}.menus .el-menu-item span,.menus .el-sub-menu__title span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menus .el-menu-item .el-icon,.menus .el-sub-menu__title .el-icon{flex:0 0 20px;color:#6f84a8;font-size:18px}.menus .el-menu-item:hover,.menus .el-sub-menu__title:hover{color:#1e3f85;background:#4678e614}.menus .el-menu-item:hover .el-icon,.menus .el-sub-menu__title:hover .el-icon{color:#2f64d6}.menus .el-menu-item.is-active{color:#2f64d6;background:linear-gradient(180deg,#5c88ff29,#5c88ff1f);box-shadow:inset 3px 0 #2f64d6,inset 0 0 0 1px #2f64d614}.menus .el-menu-item.is-active .el-icon{color:#2f64d6}.menus .el-sub-menu .el-menu{background:transparent}.menus .el-sub-menu__title{font-weight:600}@media (max-width: 1024px){.nv-sidebar-frame{padding-left:10px}.nv-main{padding:12px}.nv-page-title{font-size:24px}}@media (max-width: 768px){.nv-page-header,.nv-card-header{align-items:flex-start;flex-direction:column}.nv-filter-card .el-input,.nv-filter-card .el-select,.nv-filter-card .el-form-item{width:100%}}
