.fp-mask[data-v-4a4c7bf8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172ab8;display:flex;align-items:center;justify-content:center}.fp-box[data-v-4a4c7bf8]{position:relative;width:92vw;height:92vh;background:#f8fafc;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 50px #00000059}.fp-bar[data-v-4a4c7bf8]{flex:none;height:48px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border-bottom:1px solid #eef1f5}.fp-title[data-v-4a4c7bf8]{font-size:14px;font-weight:600;color:#1f2937;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-count[data-v-4a4c7bf8]{font-size:12px;color:#94a3b8}.fp-gap[data-v-4a4c7bf8]{flex:1}.fp-pct[data-v-4a4c7bf8]{font-size:12px;color:#64748b;min-width:42px;text-align:center}.fp-btn[data-v-4a4c7bf8]{display:inline-flex;align-items:center;height:24px;padding:0 12px;font-size:12px;color:#334155;text-decoration:none;border:1px solid #d9dee6;border-radius:4px;background:#fff}.fp-btn[data-v-4a4c7bf8]:hover{color:#2563eb;border-color:#2563eb}.fp-x[data-v-4a4c7bf8]{margin-left:2px}.fp-body[data-v-4a4c7bf8]{position:relative;flex:1;min-height:0;overflow:auto;background:#f1f5f9}.fp-stage[data-v-4a4c7bf8]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab}.fp-img[data-v-4a4c7bf8]{max-width:100%;max-height:100%;transform-origin:center center;-webkit-user-select:none;user-select:none;box-shadow:0 2px 12px #0000002e;background:#fff}.fp-frame[data-v-4a4c7bf8]{width:100%;height:100%;border:0;background:#fff}.fp-text[data-v-4a4c7bf8]{margin:0;padding:16px;font-size:13px;line-height:1.7;color:#1f2937;white-space:pre-wrap;word-break:break-all}.fp-none[data-v-4a4c7bf8]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#64748b}.fp-none-ico[data-v-4a4c7bf8]{font-size:48px;color:#cbd5e1}.fp-none p[data-v-4a4c7bf8]{margin:0;font-size:14px}.fp-none-tip[data-v-4a4c7bf8]{font-size:12px;color:#94a3b8}.fp-loading[data-v-4a4c7bf8]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8fafccc;color:#64748b;font-size:13px}.fp-nav[data-v-4a4c7bf8]{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0f172a8c;color:#fff;font-size:18px;cursor:pointer;-webkit-user-select:none;user-select:none}.fp-nav[data-v-4a4c7bf8]:hover{background:#0f172acc}.fp-prev[data-v-4a4c7bf8]{left:12px}.fp-next[data-v-4a4c7bf8]{right:12px}:root{--sidebar-w: 210px;--sidebar-collapsed-w: 64px;--content-pad: 24px;--c-bg: #f4f6f9;--c-panel: #fff;--c-text: #2c3e50;--c-muted: #94a3b8;--c-border: #eef1f5;--c-brand: #2563eb;--radius: 10px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 6px 24px rgba(15, 23, 42, .1);--ease: cubic-bezier(.22, .61, .36, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px;border-radius:var(--radius-sm)}.layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:#1e293b;flex-shrink:0;display:flex;flex-direction:column;height:100%;transition:width .22s var(--ease);overflow:hidden}.layout.is-collapsed .sidebar{width:var(--sidebar-collapsed-w)}.brand{font-size:16px;color:#fff;padding:18px;white-space:nowrap;border-bottom:1px solid #334155;font-weight:600;flex-shrink:0;display:flex;align-items:center;gap:8px}.layout.is-collapsed .brand{justify-content:center;padding:18px 8px}.main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;min-height:0}.header{background:#fff;padding:10px 22px;display:flex;align-items:center;gap:14px;font-size:13px;border-bottom:1px solid var(--c-border);flex-shrink:0;justify-content:flex-end;min-height:50px}.content{padding:var(--content-pad);flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.hamburger{display:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);color:#475569;font-size:20px;line-height:1;align-items:center}.header .crumbs{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}h2.page{font-size:19px;margin-bottom:16px}.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.sticky-head{position:sticky;top:calc(-1 * var(--content-pad));z-index:7;margin:calc(-1 * var(--content-pad)) calc(-1 * var(--content-pad)) 14px;padding:var(--content-pad) var(--content-pad) 4px;background:var(--c-bg);box-shadow:0 1px 0 var(--c-border)}.sticky-head>h2.page{margin-bottom:14px}.sticky-head .toolbar{margin-bottom:10px}.sticky-head>:last-child{margin-bottom:0}@media(max-width:991px){.sticky-head{position:static;margin:0 0 14px;padding:0;box-shadow:none}.sticky-head>h2.page{margin-bottom:14px}.sticky-head .toolbar{margin-bottom:10px}}.sticky-foot{position:sticky;bottom:calc(-1 * var(--content-pad));z-index:7;margin-top:12px;margin-left:calc(-1 * var(--content-pad));margin-right:calc(-1 * var(--content-pad));padding:10px var(--content-pad) var(--content-pad);background:var(--c-bg);box-shadow:0 -1px 0 var(--c-border)}@media(max-width:991px){.sticky-foot{padding:8px var(--content-pad) var(--content-pad)}}.toolbar .spacer{flex:1}.hint{font-size:12px;color:var(--c-muted);margin-top:4px;line-height:1.5}.link{color:var(--c-brand);cursor:pointer}.num{font-size:21px;font-weight:600}.num.in{color:#16a34a}.num.out{color:#dc2626}.right{text-align:right}.login-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#334155);padding:16px}.login-box{width:380px;max-width:100%}.login-box .title{font-size:19px;text-align:center;margin-bottom:6px}.login-box .sub{font-size:12px;color:var(--c-muted);text-align:center;margin-bottom:22px}.el-menu{border-right:0}.el-table .cell{word-break:break-word}.el-card{margin-bottom:16px;border-radius:var(--radius)}.pager{display:flex;justify-content:flex-end;margin-top:14px}.dialog-footer{text-align:right}.el-card__header{position:sticky;top:0;z-index:6;background:#fff;border-radius:var(--radius) var(--radius) 0 0}.el-table__empty-block{min-height:180px}.el-table__empty-text{width:auto;line-height:1.6;font-size:13px;color:var(--c-muted);display:flex;flex-direction:column;align-items:center;gap:10px}.el-table__empty-text:before{content:"";display:block;width:58px;height:44px;background:#cbd5e1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48'%3E%3Cpath d='M2 9a5 5 0 0 1 5-5h15l6 6h29a5 5 0 0 1 5 5v24a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5z' opacity='.55'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48'%3E%3Cpath d='M2 9a5 5 0 0 1 5-5h15l6 6h29a5 5 0 0 1 5 5v24a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5z' opacity='.55'/%3E%3C/svg%3E") center / contain no-repeat}@media(max-width:1199px){:root{--content-pad: 18px}.header{padding:10px 16px}}@media(max-width:991px){:root{--content-pad: 16px}.sidebar{display:none}.hamburger{display:inline-flex}.header{justify-content:flex-start;gap:10px}.header .crumbs{display:block}}@media(max-width:767px){:root{--content-pad: 12px}h2.page{font-size:17px;margin-bottom:12px}.toolbar{gap:8px}.toolbar>.el-input,.toolbar>.el-select,.toolbar>.el-date-editor,.toolbar>.el-cascader{flex:1 1 calc(50% - 4px)!important;width:auto!important;min-width:0}.toolbar>.el-input{flex:1 1 100%!important}.toolbar .spacer{display:none}.toolbar>.el-button{flex:0 0 auto}.el-table{font-size:12px}.el-table .cell{padding-left:8px;padding-right:8px}.el-table td.el-table__cell,.el-table th.el-table__cell{padding:6px 0}.pager{justify-content:center}.pager .el-pagination__total,.pager .el-pagination__sizes,.pager .el-pagination__jump{display:none}.pager .el-pagination__pager li{min-width:32px;height:32px;line-height:32px}.el-dialog,.el-message-box,.el-drawer{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)}.el-dialog{margin:12px auto!important;border-radius:var(--radius)}.el-dialog__body{padding:14px 16px}.el-dialog__header{padding:14px 16px 10px;margin-right:0}.el-dialog__footer{padding:10px 16px 14px}.el-form-item{display:block}.el-form-item__label{width:auto!important;max-width:100%;display:block;float:none;text-align:left;padding:0 0 4px;line-height:20px;margin-bottom:0}.el-form-item__content{display:block;margin-left:0!important}.el-button{min-height:36px;padding:8px 14px}.el-button--small{min-height:32px}.el-button.is-link{min-height:auto;padding:2px 4px}.el-input__wrapper{padding:2px 10px}.el-card{border-radius:var(--radius-sm)}.el-col{width:100%}.el-descriptions__body .el-descriptions-item__cell{padding:8px 10px}.el-descriptions{font-size:12px}.el-alert{padding:8px 10px}.el-alert__title{font-size:12px}}@media(hover:none){.el-table__row:hover>td.el-table__cell{background:transparent}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.el-input__wrapper.is-focus,.el-date-editor.is-focus .el-input__wrapper,.el-select__wrapper.is-focused,.el-select__wrapper.is-focus,.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-border-color-hover, #c0c4cc) inset!important;outline:none!important}.el-select__input:focus,.el-select__input:focus-visible,.el-select__wrapper:focus,.el-select__wrapper:focus-visible,.el-input__inner:focus,.el-input__inner:focus-visible,.el-textarea__inner:focus-visible,.el-input__wrapper:focus,.el-input__wrapper:focus-visible,.el-date-editor:focus-visible,.el-input-number:focus-visible,.el-input-number__increase:focus-visible,.el-input-number__decrease:focus-visible{outline:none!important}.el-checkbox__input.is-focus,.el-radio__input.is-focus{outline:none!important}
