:root{--ops-font-display:"Avenir Next","Segoe UI Variable","PingFang SC","Microsoft YaHei",sans-serif;--ops-font-mono:"Cascadia Code","SFMono-Regular",Consolas,monospace;--ops-canvas:#f4f6fa;--ops-surface:#fff;--ops-surface-muted:#f8fafc;--ops-sidebar:#101a31;--ops-sidebar-deep:#0b1325;--ops-text:#172033;--ops-text-soft:#718096;--ops-line:#dfe5ee;--ops-line-soft:#edf0f5;--ops-blue:#4f7fe1;--ops-blue-deep:#3565cd;--ops-green:#2fb47c;--ops-amber:#d9a23b;--ops-red:#d95d62;--ops-shadow:0 12px 32px rgba(19,33,61,.08);--ops-shadow-float:0 20px 58px rgba(16,30,56,.16);--ops-radius:12px;--ops-radius-control:8px}*{box-sizing:border-box}body,html{margin:0;min-width:320px;background:var(--ops-canvas);color:var(--ops-text);font-family:var(--ops-font-display);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}#app{min-height:100vh}.ops-page{min-width:0;animation:ops-page-enter .24s ease both}@keyframes ops-page-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.el-table .mono-cell,.ops-mono,.stat-value{font-family:var(--ops-font-mono)}.content .dashboard,.content .page-container,.content>[class$=-container],.content>[class$=-page]{padding:4px}.content .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-height:44px;margin-bottom:18px}.content .page-container>.page-header:not(.app-detail-header){position:relative;min-height:76px;padding:15px 17px 15px 20px;overflow:hidden;border:1px solid var(--ops-line);border-radius:var(--ops-radius);background:linear-gradient(110deg,#fff,#fff 70%,#f4f7fc);box-shadow:0 6px 20px rgba(19,33,61,.045)}.content .page-container>.page-header:not(.app-detail-header):before{position:absolute;top:14px;bottom:14px;left:0;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--ops-blue),#55b6dd);content:""}.content .page-container>.page-header:not(.app-detail-header) .page-title:before{display:block;margin-bottom:5px;color:#95a1b1;font:600 8px/1 var(--ops-font-mono);letter-spacing:.14em;content:"CONTROL MODULE"}.content .page-container>.page-header:not(.app-detail-header) .header-actions{align-self:center}.content .page-container>.el-alert+.el-card,.content .page-container>.page-header+.el-card,.content .page-container>.page-header+.el-tabs{margin-top:2px}.content .page-container>.el-card{overflow:hidden}.content .page-container>.el-tabs>.el-tabs__header{padding:0 4px}.content .page-title{color:var(--ops-text);font-size:20px;font-weight:700;line-height:1.35;letter-spacing:-.45px}.content .drawer-actions,.content .header-actions,.content .toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.content .pagination{margin-top:18px;text-align:right}.content .form-help,.content .operation-tip,.content .page-subtitle,.content .sensitive-tip{color:var(--ops-text-soft)!important;font-size:12px;line-height:1.6}.content .resource-title,.content .section-head,.content .section-title{color:var(--ops-text);font-weight:650;letter-spacing:-.1px}.content .section-head{padding-bottom:9px;border-bottom:1px solid var(--ops-line-soft)}.el-card{border:1px solid var(--ops-line)!important;border-radius:var(--ops-radius)!important;background:var(--ops-surface)!important;color:var(--ops-text)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--ops-shadow)!important}.el-card__header{min-height:50px;padding:15px 17px!important;border-bottom-color:var(--ops-line-soft)!important;font-size:13px}.el-card__body{padding:17px}.ops-page .el-card[data-panel-title]:before{display:flex;min-height:50px;align-items:center;padding:0 17px;border-bottom:1px solid var(--ops-line-soft);background:linear-gradient(100deg,#fff,#fff 78%,#f7f9fc);color:var(--ops-text);font-size:13px;font-weight:650;content:attr(data-panel-title)}.ops-page .el-card[data-panel-title]>.el-card__body{padding:0}.ops-page .el-card[data-panel-title] .pagination{margin-top:0;padding:14px 16px;border-top:1px solid var(--ops-line-soft)}.el-button{border-radius:var(--ops-radius-control)!important;font-weight:500;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease!important}.el-button--default{border-color:#d8dfe9!important;color:#45536a!important;background:#fff!important}.el-button--default:not(.is-disabled):focus,.el-button--default:not(.is-disabled):hover{border-color:#aabbd7!important;color:var(--ops-blue)!important;background:#f7f9fd!important}.el-button.is-circle{box-shadow:0 3px 10px rgba(25,43,72,.06)}.el-button--text{color:var(--ops-blue)!important;box-shadow:none!important}.el-button:not(.is-disabled):hover{transform:translateY(-1px)}.el-button--primary{border-color:var(--ops-blue)!important;background:var(--ops-blue)!important;box-shadow:0 7px 16px rgba(79,127,225,.18)}.el-button--primary:focus,.el-button--primary:hover{border-color:var(--ops-blue-deep)!important;background:var(--ops-blue-deep)!important}.el-button--success{border-color:rgba(47,180,124,.28)!important;background:rgba(47,180,124,.1)!important;color:#21855f!important}.el-button--warning{border-color:rgba(217,162,59,.3)!important;background:rgba(217,162,59,.1)!important;color:#9a6b16!important}.el-button--danger{border-color:rgba(217,93,98,.28)!important;background:rgba(217,93,98,.09)!important;color:#bd4e53!important}.el-input-number,.el-input__inner,.el-select .el-input__inner,.el-textarea__inner{border-color:#d8dfe9!important;border-radius:var(--ops-radius-control)!important;color:var(--ops-text);background:var(--ops-surface)}.el-input__inner{height:40px;line-height:40px}.el-input--small .el-input__inner,.el-input-number--small,.el-input-number--small .el-input__inner{height:32px;line-height:32px}.el-textarea__inner{padding:10px 12px;line-height:1.65;resize:vertical}.el-input__inner::-moz-placeholder,.el-textarea__inner::-moz-placeholder{color:#a4aebe}.el-input__inner::placeholder,.el-textarea__inner::placeholder{color:#a4aebe}.el-input__inner:hover,.el-select:hover .el-input__inner,.el-textarea__inner:hover{border-color:#aebbd0!important}.el-input__inner:focus,.el-select .el-input.is-focus .el-input__inner,.el-textarea__inner:focus{border-color:var(--ops-blue)!important;box-shadow:0 0 0 3px rgba(79,127,225,.1)}.el-checkbox__label,.el-form-item__label,.el-radio__label{color:#526076!important}.el-form-item__label{font-weight:500}.el-form-item{margin-bottom:20px}.el-form-item__label{padding-bottom:7px;line-height:1.35}.el-form--label-left .el-form-item__label,.el-form--label-right .el-form-item__label{padding:0 12px 0 0;line-height:40px}.el-form-item__error{padding-top:5px;color:var(--ops-red)!important;font-size:11px}.el-input-group__append,.el-input-group__prepend{border-color:#d8dfe9!important;background:var(--ops-surface-muted)!important;color:#66758a!important}.el-input-number__decrease,.el-input-number__increase{border-color:#e2e7ef!important;background:var(--ops-surface-muted)!important;color:#68768b!important}.el-radio-button__inner{border-color:#d8dfe9!important;background:#fff!important;color:#526076!important;box-shadow:none!important}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--ops-radius-control) 0 0 var(--ops-radius-control)!important}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--ops-radius-control) var(--ops-radius-control) 0!important}.el-radio-button__orig-radio:checked+.el-radio-button__inner{border-color:var(--ops-blue)!important;background:rgba(79,127,225,.09)!important;color:var(--ops-blue)!important}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner,.el-radio__input.is-checked .el-radio__inner{border-color:var(--ops-blue)!important;background:var(--ops-blue)!important}.el-checkbox__input.is-focus .el-checkbox__inner,.el-radio__input.is-focus .el-radio__inner{border-color:var(--ops-blue)!important}.el-switch.is-checked .el-switch__core{border-color:var(--ops-green)!important;background:var(--ops-green)!important}.el-switch__core{border-color:#cbd3df!important;background:#cbd3df!important}.el-table{color:#344158!important;background:transparent!important}.el-card>.el-card__body>.el-table:first-child{margin-top:-1px}.el-table:before,.el-table__fixed-right:before,.el-table__fixed:before{background-color:var(--ops-line)!important}.el-table th.el-table__cell{height:44px;padding:9px 0!important;border-bottom-color:var(--ops-line)!important;background:var(--ops-surface-muted)!important;color:#748096;font-size:12px;font-weight:600}.el-table td.el-table__cell{border-bottom-color:var(--ops-line-soft)!important}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fafbfd!important}.el-table__body tr:hover>td.el-table__cell{background:#f2f6fd!important}.el-empty__description p,.el-table__empty-text{color:#8a95a7!important}.el-tag{border-radius:999px!important;font-weight:500}.el-tag--success{border-color:#cceadc!important;background:#edf8f3!important;color:#21845f!important}.el-tag--warning{border-color:#f0dfb8!important;background:#fff8e9!important;color:#976a1b!important}.el-tag--danger{border-color:#efced0!important;background:#fff1f1!important;color:#ba4d52!important}.el-tag--info{border-color:#dfe4ec!important;background:#f5f7fa!important;color:#657187!important}.el-tabs__header{margin-bottom:18px!important}.el-tabs__nav-wrap:after{height:1px!important;background:var(--ops-line)!important}.el-tabs__item{color:#718096!important;font-weight:500}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--ops-blue)!important}.el-tabs__active-bar{height:2px!important;background:var(--ops-blue)!important}.el-tabs--border-card{border-color:var(--ops-line)!important;border-radius:var(--ops-radius)!important;box-shadow:none!important}.el-tabs--border-card>.el-tabs__header{border-bottom-color:var(--ops-line)!important;background:var(--ops-surface-muted)!important}.el-tabs--card>.el-tabs__header .el-tabs__nav{overflow:hidden;border-color:var(--ops-line)!important;border-radius:9px 9px 0 0}.el-descriptions__header{margin-bottom:14px!important}.el-descriptions .is-bordered-label{background:var(--ops-surface-muted)!important;color:#718096!important;font-weight:500!important}.el-descriptions__body,.el-descriptions__table{color:var(--ops-text)!important}.el-dialog__wrapper{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:28px;overflow:auto}.el-dialog{display:flex;width:clamp(720px,58vw,920px)!important;max-width:calc(100vw - 56px);max-height:calc(100vh - 56px);min-height:0;flex:0 1 auto;flex-direction:column;margin:auto!important;overflow:hidden;border:1px solid rgba(190,201,217,.92);border-radius:16px!important;background:#fff;box-shadow:0 20px 52px rgba(15,27,52,.16)!important}.v-modal{display:none!important;background:transparent!important;opacity:0!important;backdrop-filter:none!important;pointer-events:none!important}.el-dialog__header{flex:0 0 auto;min-height:66px;padding:22px 28px 18px!important;border-bottom:1px solid var(--ops-line-soft);background:linear-gradient(100deg,#fff,#fff 74%,#f5f8fc)}.el-dialog__title{color:var(--ops-text)!important;font-size:18px!important;font-weight:700;letter-spacing:-.3px}.el-dialog__headerbtn{top:22px!important;right:25px!important;display:grid;width:28px;height:28px;place-items:center;border-radius:7px}.el-dialog__headerbtn:hover{background:#eef2f7}.el-dialog__body{min-height:0;max-height:none;flex:1 1 auto;padding:26px 30px 24px!important;overflow-y:auto;overscroll-behavior:contain}.el-dialog__body>.el-form:first-child{width:min(100%,780px);margin:0 auto;padding-top:4px}.el-dialog .el-form-item{margin-bottom:23px}.el-dialog .el-form-item__label{display:block;float:none;width:auto!important;padding:0 0 8px!important;color:#46546a!important;font-size:13px;font-weight:600;line-height:1.35!important;text-align:left!important}.el-dialog .el-form-item__content{margin-left:0!important;line-height:44px}.el-dialog .el-input-number,.el-dialog .el-select{width:100%!important}.el-dialog .el-input-number,.el-dialog .el-input-number .el-input__inner,.el-dialog .el-input__inner,.el-dialog .el-select .el-input__inner{height:44px;line-height:44px}.el-dialog .el-textarea__inner{min-height:108px!important;padding:12px 14px}.el-dialog__footer{flex:0 0 auto;min-height:72px;padding:15px 30px!important;border-top:1px solid var(--ops-line-soft);background:#fbfcfe}.el-dialog__footer .el-button{min-width:96px;height:40px}.el-drawer{display:flex;flex-direction:column;background:var(--ops-surface)!important;box-shadow:-16px 0 48px rgba(13,27,51,.14)!important}.el-drawer.rtl{width:clamp(720px,68vw,1120px)!important;max-width:calc(100vw - 24px)}.el-drawer__header{flex:0 0 auto;margin-bottom:0!important;min-height:68px;padding:22px 28px 17px!important;border-bottom:1px solid var(--ops-line-soft);color:var(--ops-text)!important;background:linear-gradient(100deg,#fff,#fff 72%,#f5f8fc);font-size:17px;font-weight:700}.el-drawer__body{min-height:0;flex:1 1 auto;overflow:auto;padding-top:4px;overscroll-behavior:contain}.el-drawer .el-form-item__label{display:block;float:none;width:auto!important;padding:0 0 8px!important;color:#46546a!important;font-size:13px;font-weight:600;line-height:1.35!important;text-align:left!important}.el-drawer .el-form-item__content{margin-left:0!important}.el-drawer .el-input-number,.el-drawer .el-select{width:100%!important}.el-drawer__body>.drawer-actions,.el-drawer__body>.drawer-body,.el-drawer__body>.drawer-table{margin-top:16px}.el-message-box,.el-notification{border:1px solid var(--ops-line)!important;border-radius:12px!important;box-shadow:var(--ops-shadow)!important}.request-error-notification{width:420px;max-width:calc(100vw - 32px)}.request-error-notification .el-notification__content{overflow-wrap:anywhere;text-align:left;white-space:pre-line}.el-alert{border-radius:9px!important}.el-alert--info.is-light{border:1px solid #dce7f8;background:#f2f6fc!important;color:#526782!important}.el-alert--warning.is-light{border:1px solid #f1dfb7;background:#fff9ec!important;color:#8c681d!important}.el-alert--error.is-light{border:1px solid #efd0d2;background:#fff3f3!important;color:#a84c51!important}.el-dropdown-menu,.el-picker-panel,.el-popover,.el-select-dropdown{border-color:var(--ops-line)!important;border-radius:10px!important;box-shadow:var(--ops-shadow-float)!important}.el-dropdown-menu__item,.el-select-dropdown__item{color:#435168!important}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover,.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background:#f1f5fb!important;color:var(--ops-blue)!important}.el-select-dropdown__item.selected{color:var(--ops-blue)!important;font-weight:600}.el-date-table td.current:not(.disabled) span,.el-date-table td.end-date span,.el-date-table td.start-date span{background:var(--ops-blue)!important}.el-date-table td.available:hover,.el-date-table td.today span,.el-picker-panel__shortcut:hover{color:var(--ops-blue)!important}.el-steps--simple{padding:13px 18px!important;border:1px solid var(--ops-line-soft);border-radius:10px;background:var(--ops-surface-muted)!important}.el-step__head.is-finish,.el-step__head.is-process,.el-step__title.is-finish,.el-step__title.is-process{border-color:var(--ops-blue)!important;color:var(--ops-blue)!important}.el-collapse{border-color:var(--ops-line-soft)!important}.el-collapse-item__header{color:var(--ops-text)!important;font-weight:600}.el-collapse-item__header,.el-collapse-item__wrap{border-bottom-color:var(--ops-line-soft)!important}.el-tree{background:transparent!important;color:#435168!important}.el-tree-node__content{min-height:36px;border-radius:6px}.el-tree-node:focus>.el-tree-node__content,.el-tree-node__content:hover{background:#f1f5fb!important}.el-progress-bar__outer{background:#e9eef5!important}.el-progress-bar__inner{background:linear-gradient(90deg,var(--ops-blue),#46a2ec)!important}.el-loading-mask{background:rgba(248,250,252,.82)!important;backdrop-filter:blur(1px)}.code-block,.log-block,.log-content,.nginx-config,.plain-output,.preview,.routes-content,.terminal-output{border:1px solid #263d55!important;border-radius:8px!important;background:#132234!important;color:#b9cada!important;font-family:var(--ops-font-mono)!important;font-size:11px!important;line-height:1.65!important}.drawer-actions{padding:0 20px 14px;border-bottom:1px solid var(--ops-line-soft)}.drawer-table{border:1px solid var(--ops-line-soft);border-radius:9px}.tree-toolbar{min-height:42px!important;border-color:var(--ops-line)!important;border-radius:8px 8px 0 0;background:var(--ops-surface-muted)!important}.advanced-permissions,.menu-tree{border-color:var(--ops-line)!important;background:#fff}.menu-tree{border-radius:0 0 8px 8px}.advanced-permissions{border-radius:8px;background:var(--ops-surface-muted)!important}.content .empty:not(.el-table__empty-block){border:1px dashed var(--ops-line);border-radius:9px;background:var(--ops-surface-muted)}.el-pager li,.el-pagination button{border-radius:7px!important}.el-pager li.active{color:var(--ops-blue)!important}.el-table__body tr,.el-table__fixed-body-wrapper .el-table__body tr{height:52px}.el-table--small .el-table__body tr,.el-table--small .el-table__fixed-body-wrapper .el-table__body tr{height:46px}.el-table td.el-table__cell,.el-table__fixed td.el-table__cell,.el-table__fixed-right td.el-table__cell{height:52px;padding-top:8px;padding-bottom:8px}.el-table--small .el-table__fixed td.el-table__cell,.el-table--small .el-table__fixed-right td.el-table__cell,.el-table--small td.el-table__cell{height:46px}.el-table__body td .cell,.el-table__fixed-body-wrapper td .cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table__body td:last-child .cell,.el-table__fixed-right .el-table__body .cell{display:flex;min-height:30px;align-items:center;justify-content:flex-end;overflow:visible;padding-right:12px;padding-left:12px;white-space:nowrap}.el-table th:last-child .cell,.el-table__fixed-right .el-table__header th .cell{padding-right:16px;text-align:right}.el-table__fixed-right .el-table__body td .cell{overflow:visible;padding-right:12px;padding-left:12px}.el-table__body td:last-child .el-button--mini:not(.is-circle),.el-table__fixed-right .el-table__body .el-button--mini:not(.is-circle){min-width:0;padding-right:8px;padding-left:8px}.el-table__body td:last-child .el-button,.el-table__fixed-right .el-table__body .el-button{margin:0 0 0 6px}.el-table__body td:last-child .el-button:first-child,.el-table__fixed-right .el-table__body .el-button:first-child{margin-left:0}.table-action-group{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.table-action-group .el-button,.table-action-group .el-button+.el-button{flex:0 0 auto;margin-left:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{border-radius:4px;background:#b9c2d0}::-webkit-scrollbar-track{background:transparent}@media (max-width:900px){.content .page-header{align-items:stretch;flex-direction:column}.content .header-actions,.content .toolbar{justify-content:flex-start}}@media (max-width:600px){.el-dialog__wrapper{align-items:flex-start;padding:12px}.el-dialog{width:100%!important;max-width:none;max-height:calc(100vh - 24px)}.el-dialog__header{padding-right:22px!important;padding-left:22px!important}.el-dialog__body{max-height:calc(100vh - 190px)}.el-dialog__body,.el-dialog__footer{padding-right:20px!important;padding-left:20px!important}.el-drawer.rtl{width:calc(100vw - 12px)!important;max-width:none}.el-message-box{width:calc(100% - 24px)!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}