:root{--el-color-primary: #2563eb;--el-color-primary-light-3: #6690f0;--el-color-primary-light-5: #92b1f5;--el-color-primary-light-7: #becff9;--el-color-primary-light-8: #d3dffb;--el-color-primary-light-9: #e9f0fd;--el-color-primary-dark-2: #1e4fbc;--el-color-success: #16a34a;--el-color-success-light-9: #f0fdf4;--el-color-warning: #d97706;--el-color-warning-light-9: #fffbeb;--el-color-danger: #dc2626;--el-color-danger-light-9: #fef2f2;--el-color-info: #6b7280;--el-color-info-light-9: #f7f8fa;--el-text-color-primary: #111827;--el-text-color-regular: #374151;--el-text-color-secondary: #6b7280;--el-text-color-placeholder: #9ca3af;--el-border-color: #e5e7eb;--el-border-color-light: #eef0f2;--el-border-color-lighter: #f4f5f7;--el-fill-color-light: #f7f8fa;--el-fill-color-lighter: #fafbfc;--el-fill-color-blank: #ffffff;--el-bg-color-page: #f6f7f9;--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-border-radius-round: 20px;--el-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--el-font-size-base: 13px;--el-box-shadow-light: 0 2px 8px rgba(16, 24, 40, .06);--el-box-shadow: 0 8px 24px -12px rgba(16, 24, 40, .18)}.el-button{font-weight:500;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.el-button--primary{background-color:#2563eb;background-image:none;border-color:#2563eb;box-shadow:none}.el-button--primary:hover,.el-button--primary:focus{background-color:#1d4ed8;border-color:#1d4ed8;background-image:none;transform:none;box-shadow:none}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{border-radius:7px;background-color:#fff}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-card{--el-card-border-color: #e5e7eb;--el-card-border-radius: 10px;--el-card-padding: 18px;box-shadow:0 1px 2px #10182808}.el-card__header{padding:14px 18px;border-bottom:1px solid #eef0f2;font-weight:600;font-size:13.5px}.el-table{--el-table-border-color: #eef0f2;--el-table-header-bg-color: #fafbfc;--el-table-header-text-color: #6b7280;--el-table-row-hover-bg-color: #fafbfc;--el-table-text-color: #374151;font-size:13px}.el-table th.el-table__cell{font-weight:500;font-size:12px;padding:10px 0}.el-table td.el-table__cell{padding:11px 0}.el-table .cell{line-height:1.6}.el-table__inner-wrapper:before{display:none}.el-tag{border-radius:4px;font-weight:500}.el-dialog{--el-dialog-border-radius: 12px;--el-dialog-padding-primary: 22px;box-shadow:0 20px 50px -20px #10182847}.el-dialog__header{margin-right:0;padding-bottom:14px}.el-dialog__title{font-size:15px;font-weight:600;letter-spacing:-.2px}.el-drawer__header{margin-bottom:0;padding:16px 22px;border-bottom:1px solid #eef0f2;color:#111827;font-weight:600}.el-drawer__body{padding:20px 22px}.el-drawer__footer{padding:12px 22px;border-top:1px solid #eef0f2}.el-menu{border-right:0!important}.el-form-item__label{font-weight:500;color:#374151}.el-descriptions__label{color:#6b7280!important;font-weight:500!important}.el-pagination{--el-pagination-font-size: 12.5px;--el-pagination-button-bg-color: #fff}.el-pagination.is-background .el-pager li.is-active{background-color:#2563eb;box-shadow:none}.el-message-box{--el-messagebox-border-radius: 12px;padding:20px}.el-progress-bar__outer{background-color:#f1f2f4}.el-tabs__item{font-weight:500;color:#6b7280}.el-tabs__item.is-active{font-weight:600;color:#111827}.el-tabs__active-bar{height:2px;border-radius:2px;background-color:#2563eb}.el-alert{border-radius:8px}.el-radio-button__inner{font-weight:500}.el-radio-button:first-child .el-radio-button__inner{border-radius:7px 0 0 7px}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 7px 7px 0}.el-empty{padding:28px 0}.el-dropdown-menu{padding:5px;border-radius:9px}.el-dropdown-menu__item{border-radius:6px;font-size:13px}.el-popper.is-light{border-radius:8px}:root{--zy-primary: #2563eb;--zy-ink: #111827;--zy-text: #374151;--zy-muted: #6b7280;--zy-line: #e5e7eb;--zy-bg: #f6f7f9;--zy-radius: 10px;--zy-shadow: 0 1px 2px rgba(16, 24, 40, .03)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--zy-bg);color:var(--zy-ink);font-family:var(--el-font-family);font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--zy-primary);text-decoration:none}::selection{background:#dbe7fd}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d8dbe1;border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#c2c7d0;background-clip:content-box}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;letter-spacing:-.2px}.muted{color:var(--el-text-color-secondary)}.nowrap{white-space:nowrap}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;flex:0 0 auto}.layout{height:100vh;background:var(--zy-bg)}.aside-mask{display:none}.layout-aside{width:224px;flex:0 0 auto;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--zy-line);overflow:hidden;transition:width .2s ease}.nav-collapsed .layout-aside{width:64px}.brand{height:58px;flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:0 16px;cursor:pointer;border-bottom:1px solid var(--zy-line);overflow:hidden}.brand-mark{width:28px;height:28px;border-radius:7px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:700;font-size:10px;letter-spacing:-.2px;flex:0 0 auto;overflow:hidden}.brand-logo-img{width:100%;height:100%;object-fit:contain;display:block}.brand-mark.has-logo{background:transparent}.brand-text{min-width:0}.brand-title{font-size:13.5px;font-weight:600;letter-spacing:-.2px;line-height:1.25;color:var(--zy-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{font-size:9px;font-weight:500;letter-spacing:.1em;color:#9ca3af;line-height:1.4;margin-top:2px;white-space:nowrap}.nav-collapsed .brand{justify-content:center;padding:0;gap:0}.nav-collapsed .brand-text{display:none}.side-menu{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 10px 14px;background:transparent;border-right:0}.side-menu::-webkit-scrollbar{width:4px}.side-menu::-webkit-scrollbar-thumb{background:#e5e7eb;border:0}.nav-group{margin-bottom:2px}.menu-group{font-size:10.5px;font-weight:500;letter-spacing:.06em;color:#9ca3af;padding:14px 8px 6px}.nav-group:first-child .menu-group{padding-top:6px}.side-menu .el-menu-item{height:36px;line-height:36px;border-radius:6px;margin-bottom:1px;font-size:13px;font-weight:400;color:#4b5563;transition:background-color .15s ease,color .15s ease}.side-menu .el-menu-item .el-icon{color:#9ca3af;font-size:15px}.side-menu .el-menu-item:hover{background:#f6f7f9;color:#111827}.side-menu .el-menu-item:hover .el-icon{color:#4b5563}.side-menu .el-menu-item.is-active{background:#eff4ff;color:#2563eb;font-weight:500}.side-menu .el-menu-item.is-active .el-icon{color:#2563eb}.nav-collapsed .menu-group{display:none}.nav-collapsed .side-menu{padding:8px}.nav-collapsed .side-menu .el-menu-item{justify-content:center;padding:0!important}.nav-collapsed .side-menu .el-menu-item span{display:none}.aside-foot{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:12px 16px;border-top:1px solid var(--zy-line)}.aside-status-text{font-size:11.5px;color:#6b7280;white-space:nowrap}.aside-version{margin-left:auto;font-size:10px;color:#c4c9d2;white-space:nowrap}.nav-collapsed .aside-foot{justify-content:center;padding:12px 0}.nav-collapsed .aside-status-text,.nav-collapsed .aside-version{display:none}.layout-body{min-width:0;min-height:0}.layout-header{height:58px;flex:0 0 auto;background:#fff;border-bottom:1px solid var(--zy-line);display:flex;align-items:center;gap:12px;padding:0 20px;position:relative;z-index:20}.nav-toggle{width:32px;height:32px;border-radius:6px;color:#6b7280;font-size:16px}.nav-toggle:hover{background:#f6f7f9;color:#111827}.header-right{margin-left:auto;display:flex;align-items:center;gap:8px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:0 2px;font-size:11.5px;color:#6b7280;white-space:nowrap}.header-origin{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:#9ca3af;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-icon-btn{width:30px;height:30px;color:#6b7280;font-size:14px}.header-icon-btn:hover{color:#111827;background:#f6f7f9}.doc-btn{height:32px;border-radius:7px;border-color:var(--zy-line);color:#374151;font-weight:500;background:#fff}.doc-btn:hover{border-color:#d1d5db;color:#111827;background:#fafbfc}.header-divider{width:1px;height:20px;background:var(--zy-line);margin:0 2px}.header-user{display:flex;align-items:center;gap:8px;padding:3px 4px;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.header-user:hover{background:#f6f7f9}.header-avatar{background:#f1f3f6;color:#374151;font-size:11px;font-weight:600;flex:0 0 auto}.header-user-name{font-size:12.5px;font-weight:500;color:#374151;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-arrow{color:#9ca3af;font-size:11px}.layout-main{padding:24px 24px 36px;overflow-y:auto;background:var(--zy-bg)}.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}.page-head h2{margin:0;font-size:19px;font-weight:600;letter-spacing:-.3px;color:var(--zy-ink)}.page-head p{margin:6px 0 0;font-size:13px;color:var(--zy-muted);line-height:1.6;max-width:720px}.page-head .actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:#fff;border:1px solid var(--zy-line);border-radius:9px}.toolbar .grow{flex:1;min-width:0}.toolbar .search{width:240px}.card-head-row{display:flex;align-items:center;gap:10px}.card-head-row .sub{font-size:12px;color:var(--el-text-color-secondary)}.card-head-row .right{margin-left:auto;display:flex;align-items:center;gap:8px}.table-actions{display:flex;gap:2px;justify-content:flex-end}.cell-title{font-weight:500;font-size:13px;line-height:1.45;color:var(--zy-ink)}.cell-sub{font-size:11.5px;color:#9ca3af;line-height:1.55;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager-bar{display:flex;justify-content:flex-end;padding-top:14px}.stat-card{position:relative}.stat-label{font-size:12.5px;color:var(--el-text-color-secondary)}.stat-value{font-size:27px;font-weight:600;letter-spacing:-1px;line-height:1.15;margin-top:8px;font-variant-numeric:tabular-nums}.stat-value small{font-size:13px;font-weight:500;color:var(--el-text-color-secondary);letter-spacing:0;margin-left:4px}.stat-foot{font-size:11.5px;color:var(--el-text-color-secondary);margin-top:8px}.up{color:#16a34a;font-weight:500}.down{color:#dc2626;font-weight:500}.notice-item{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid #f2f3f5}.notice-item:last-child{border-bottom:0}.notice-dot{width:6px;height:6px;border-radius:50%;margin-top:8px;flex:0 0 auto;background:var(--el-color-primary)}.notice-tx{min-width:0;flex:1}.notice-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-meta{font-size:11.5px;color:var(--el-text-color-secondary);margin-top:2px}.code-block{background:#1f2328;border:1px solid #2b3038;border-radius:8px;overflow:hidden}.code-bar{display:flex;align-items:center;height:32px;padding:0 8px 0 14px;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff05}.code-bar>span{font-size:10.5px;font-weight:600;letter-spacing:.08em;color:#8b949e;text-transform:uppercase}.code-bar .el-button{margin-left:auto;color:#b9c0cc;font-size:11.5px}.code-bar .el-button:hover{color:#fff}.code-block pre{margin:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.2px;line-height:1.75;color:#d7dcec;white-space:pre;-moz-tab-size:2;tab-size:2;overflow-x:auto}.notice-preview{width:100%;min-height:168px;max-height:300px;overflow-y:auto;border:1px solid var(--el-border-color);border-radius:8px;padding:14px 16px;background:#fafbfc;font-size:13.5px;line-height:1.85}.notice-preview p{margin:0 0 10px}.notice-preview p:last-child{margin-bottom:0}.notice-preview ul,.notice-preview ol{margin:0 0 10px;padding-left:20px}.notice-preview li{margin:3px 0}.notice-preview h4{margin:12px 0 8px;font-size:14px}.notice-preview code{background:#eef0f6;padding:1px 5px;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.notice-preview strong{font-weight:600}.notice-preview a{color:var(--el-color-primary);text-decoration:underline}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--zy-bg)}.login-card{width:100%;max-width:384px;background:#fff;border:1px solid var(--zy-line);border-radius:12px;padding:36px 32px 30px;box-shadow:0 8px 28px -20px #10182847}.login-head{text-align:center;margin-bottom:26px}.login-logo{width:36px;height:36px;border-radius:9px;background:#111827;color:#fff;display:inline-grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:-.2px;overflow:hidden}.login-logo-img{width:100%;height:100%;object-fit:contain;display:block}.login-logo.has-logo{background:transparent}.login-title{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:14px 0 0;color:var(--zy-ink)}.login-sub{font-size:12.5px;color:var(--zy-muted);margin:6px 0 0}.login-form-panel .el-form-item{margin-bottom:18px}.login-form-panel .el-input__wrapper{height:40px;border-radius:7px}.login-submit{width:100%;height:40px;margin-top:4px;font-size:13.5px;font-weight:500;border-radius:7px}.login-foot{margin-top:22px;text-align:center;font-size:11.5px;color:#9ca3af;line-height:1.7}@media (max-width: 1240px){.header-origin{display:none}}@media (max-width: 900px){.layout-aside{position:fixed;top:0;left:0;bottom:0;z-index:110;width:236px!important;transform:translate(-102%);transition:transform .24s ease;box-shadow:0 0 40px #10182829}.layout-aside.open{transform:none}.aside-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#11182761;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.aside-mask.show{opacity:1;visibility:visible}.nav-collapsed .layout-aside{width:236px!important}.nav-collapsed .brand{justify-content:flex-start;padding:0 16px;gap:10px}.nav-collapsed .brand-text,.nav-collapsed .menu-group{display:block}.nav-collapsed .side-menu{padding:8px 10px 14px}.nav-collapsed .side-menu .el-menu-item{justify-content:flex-start;padding:0 8px!important}.nav-collapsed .side-menu .el-menu-item span{display:inline}.nav-collapsed .aside-foot{justify-content:flex-start;padding:12px 16px}.nav-collapsed .aside-status-text,.nav-collapsed .aside-version{display:inline}.status-pill,.doc-btn,.header-divider,.header-user-name{display:none}.layout-main{padding:18px 14px 28px}.layout-header{padding:0 14px;gap:8px}.page-head .actions .label{display:none}.page-head h2{font-size:17px}.login-card{padding:30px 22px 26px}}@media (max-width: 640px){.page-head{flex-wrap:wrap}.page-head>div:first-child{flex:1 1 100%;min-width:0}.page-head .actions{margin-left:0;padding-top:4px}}
