.layout-container[data-v-3a4215ce]{background:#f4f7fb;min-height:100dvh}.layout-aside[data-v-3a4215ce]{background:linear-gradient(#152233 0%,#1b2b40 100%);flex-direction:column;padding:18px 14px;transition:width .3s;display:flex;overflow:hidden auto;box-shadow:inset -1px 0 #ffffff0a}.admin-menu[data-v-3a4215ce]{background:0 0;border-right:none;flex:1}.admin-menu[data-v-3a4215ce] .el-menu{background:0 0}.admin-menu[data-v-3a4215ce] .el-menu-item,.admin-menu[data-v-3a4215ce] .el-sub-menu__title{color:#ffffffbd;border-radius:10px;height:44px;margin-bottom:4px;line-height:44px}.admin-menu[data-v-3a4215ce] .el-menu-item:hover,.admin-menu[data-v-3a4215ce] .el-sub-menu__title:hover{color:#fff;background:#ffffff14}.admin-menu[data-v-3a4215ce] .el-menu-item.is-active{color:#fff;background:#0f62fe2e;box-shadow:inset 0 0 0 1px #4589ff38}.admin-menu[data-v-3a4215ce] .el-sub-menu .el-menu-item{min-width:0;margin-left:6px}.layout-aside .el-menu--collapse .el-sub-menu__title span[data-v-3a4215ce],.layout-aside .el-menu--collapse .el-sub-menu__title .el-sub-menu__icon-arrow[data-v-3a4215ce],.layout-aside .el-menu--collapse .el-menu-item span[data-v-3a4215ce]{display:none}.logo-area[data-v-3a4215ce]{color:#fff;border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:14px;padding:10px 10px 18px;display:flex}.logo-area--drawer[data-v-3a4215ce]{margin:0 0 14px;padding:0 0 18px}.logo-mark[data-v-3a4215ce]{background:linear-gradient(135deg,#0f62fe,#4589ff);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:inline-flex;box-shadow:0 10px 20px #0f62fe38}.logo-copy h3[data-v-3a4215ce]{margin:0;font-size:17px}.logo-copy span[data-v-3a4215ce]{color:#ffffff9e;margin-top:2px;font-size:12px;display:block}.layout-content[data-v-3a4215ce]{min-width:0;min-height:0}.layout-header[data-v-3a4215ce]{background:0 0;border-bottom:none;justify-content:space-between;align-items:center;height:auto;padding:18px 28px 14px;display:flex}.header-left[data-v-3a4215ce]{align-items:center;gap:14px;display:flex}.collapse-btn[data-v-3a4215ce]{background:#fff;border:1px solid #d8e0ea;width:42px;height:42px;box-shadow:0 6px 18px #0f20330f}.header-copy[data-v-3a4215ce]{flex-direction:column;gap:4px;display:flex}.header-title[data-v-3a4215ce]{color:#152033;font-size:24px;font-weight:700}.header-subtitle[data-v-3a4215ce]{color:#5b687a;font-size:13px}.header-right[data-v-3a4215ce]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.header-action[data-v-3a4215ce]{background:#fff;border:1px solid #d8e0ea;border-radius:10px}.user-panel[data-v-3a4215ce]{background:#fff;border:1px solid #d8e0ea;border-radius:10px;min-width:0;padding:10px 14px;box-shadow:0 6px 18px #0f20330d}.user-panel__dept[data-v-3a4215ce]{color:#5b687a;font-size:11px;display:block}.user-panel__name[data-v-3a4215ce]{color:#152033;font-size:14px;font-weight:700}.layout-main[data-v-3a4215ce]{-webkit-overflow-scrolling:touch;background:0 0;min-height:0;padding:0 28px 28px;overflow:auto}.layout-main-shell[data-v-3a4215ce]{background:#eef3f8;border:1px solid #dde5ee;border-radius:20px;min-height:100%;padding:24px;box-shadow:inset 0 1px #ffffffb3}[data-v-3a4215ce] .mobile-nav-drawer .el-drawer__body{background:linear-gradient(#152233 0%,#1b2b40 100%);padding:18px 14px}.mobile-menu[data-v-3a4215ce]{height:calc(100% - 72px)}@media (width<=960px){.layout-container[data-v-3a4215ce]{height:auto;min-height:100dvh}.layout-content[data-v-3a4215ce]{min-height:100dvh}.layout-header[data-v-3a4215ce],.layout-main[data-v-3a4215ce]{padding-left:16px;padding-right:16px}.layout-main-shell[data-v-3a4215ce]{border-radius:22px;padding:16px}.header-title[data-v-3a4215ce]{font-size:20px}.header-subtitle[data-v-3a4215ce]{display:none}}@media (width<=640px){.layout-container[data-v-3a4215ce],.layout-content[data-v-3a4215ce],.layout-main[data-v-3a4215ce]{overflow:visible}.layout-main[data-v-3a4215ce]{min-height:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.layout-main-shell[data-v-3a4215ce]{min-height:auto}.layout-header[data-v-3a4215ce]{padding-top:calc(14px + env(safe-area-inset-top));flex-direction:column;align-items:flex-start;gap:12px}.header-left[data-v-3a4215ce],.header-right[data-v-3a4215ce]{width:100%}.header-right[data-v-3a4215ce]{grid-template-columns:1fr;display:grid}.header-action[data-v-3a4215ce],.user-panel[data-v-3a4215ce]{justify-content:center;width:100%}}.app-layout[data-v-b7bdde99]{background:#f4f7fb;min-height:100dvh}.app-aside[data-v-b7bdde99]{background:linear-gradient(#152233 0%,#1b2d44 100%);flex-direction:column;padding:18px 14px;transition:width .3s;display:flex;overflow:hidden auto;box-shadow:inset -1px 0 #ffffff0a}.brand-panel[data-v-b7bdde99]{color:#fff;border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:14px;padding:10px 10px 18px;display:flex}.brand-panel--drawer[data-v-b7bdde99]{margin:0 0 14px;padding:0 0 18px}.brand-mark[data-v-b7bdde99]{background:linear-gradient(135deg,#0f62fe,#4589ff);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:inline-flex;box-shadow:0 10px 20px #0f62fe38}.brand-title[data-v-b7bdde99]{font-size:17px;font-weight:700}.brand-subtitle[data-v-b7bdde99]{color:#ffffff9e;margin-top:2px;font-size:12px}.app-menu[data-v-b7bdde99]{background:0 0;border-right:none;flex:1}.app-menu[data-v-b7bdde99] .el-menu{background:0 0}.app-menu[data-v-b7bdde99] .el-menu-item,.app-menu[data-v-b7bdde99] .el-sub-menu__title{color:#ffffffbd;border-radius:10px;height:44px;margin-bottom:4px;line-height:44px}.app-menu[data-v-b7bdde99] .el-menu-item:hover,.app-menu[data-v-b7bdde99] .el-sub-menu__title:hover{color:#fff;background:#ffffff14}.app-menu[data-v-b7bdde99] .el-menu-item.is-active{color:#fff;background:#0f62fe2e;box-shadow:inset 0 0 0 1px #4589ff38}.app-menu[data-v-b7bdde99] .el-sub-menu .el-menu-item{min-width:0;margin-left:6px}.app-aside .el-menu--collapse .el-sub-menu__title span[data-v-b7bdde99],.app-aside .el-menu--collapse .el-sub-menu__title .el-sub-menu__icon-arrow[data-v-b7bdde99],.app-aside .el-menu--collapse .el-menu-item span[data-v-b7bdde99]{display:none}.app-content[data-v-b7bdde99]{min-width:0;min-height:0}.app-header[data-v-b7bdde99]{background:0 0;justify-content:space-between;align-items:center;gap:16px;height:auto;padding:18px 24px 14px;display:flex}.header-left[data-v-b7bdde99]{align-items:center;gap:14px;min-width:0;display:flex}.collapse-btn[data-v-b7bdde99]{background:#fff;border:1px solid #d8e0ea;width:42px;height:42px;box-shadow:0 6px 18px #0f20330f}.page-copy[data-v-b7bdde99]{flex-direction:column;gap:4px;min-width:0;display:flex}.page-copy__title[data-v-b7bdde99]{color:#152033;font-size:24px;font-weight:700}.page-copy__subtitle[data-v-b7bdde99]{color:#5b687a;font-size:13px}.header-right[data-v-b7bdde99]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.identity-pill[data-v-b7bdde99]{background:#fff;border:1px solid #d8e0ea;border-radius:10px;flex-direction:column;gap:2px;padding:10px 14px;display:flex;box-shadow:0 6px 18px #0f20330d}.identity-pill__dept[data-v-b7bdde99]{color:#5b687a;font-size:11px}.identity-pill__name[data-v-b7bdde99]{color:#152033;font-size:14px;font-weight:700}.header-action[data-v-b7bdde99]{background:#fff;border:1px solid #d8e0ea;border-radius:10px}.app-main[data-v-b7bdde99]{-webkit-overflow-scrolling:touch;background:0 0;min-height:0;padding:0 24px 24px;overflow:auto}.app-main-shell[data-v-b7bdde99]{background:#eef3f8;border:1px solid #dde5ee;border-radius:20px;min-height:100%;padding:24px;box-shadow:inset 0 1px #ffffffb3}[data-v-b7bdde99] .mobile-nav-drawer .el-drawer__body{background:linear-gradient(#152233 0%,#1b2d44 100%);padding:18px 14px}.mobile-menu[data-v-b7bdde99]{height:calc(100% - 72px)}@media (width<=960px){.app-layout[data-v-b7bdde99]{height:auto;min-height:100dvh}.app-content[data-v-b7bdde99]{min-height:100dvh}.app-header[data-v-b7bdde99],.app-main[data-v-b7bdde99]{padding-left:16px;padding-right:16px}.app-main-shell[data-v-b7bdde99]{border-radius:22px;padding:16px}.page-copy__title[data-v-b7bdde99]{font-size:20px}.page-copy__subtitle[data-v-b7bdde99]{display:none}}@media (width<=640px){.app-layout[data-v-b7bdde99],.app-content[data-v-b7bdde99],.app-main[data-v-b7bdde99]{overflow:visible}.app-main[data-v-b7bdde99]{min-height:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app-main-shell[data-v-b7bdde99]{min-height:auto}.app-header[data-v-b7bdde99]{padding-top:calc(14px + env(safe-area-inset-top));flex-direction:column;align-items:flex-start}.header-left[data-v-b7bdde99],.header-right[data-v-b7bdde99]{width:100%}.header-right[data-v-b7bdde99]{grid-template-columns:1fr;display:grid}.identity-pill[data-v-b7bdde99],.header-action[data-v-b7bdde99]{justify-content:center;width:100%}}:root{--vim-admin-bg:#f4f7fb;--vim-admin-surface:#fff;--vim-admin-surface-subtle:#f8fafc;--vim-admin-border:#d8e0ea;--vim-admin-border-strong:#c3cfdb;--vim-admin-text:#152033;--vim-admin-text-muted:#5b687a;--vim-admin-primary:#0f62fe;--vim-admin-primary-hover:#0353e9;--vim-admin-sidebar:#152233;--vim-admin-sidebar-elevated:#1d2d44;--vim-admin-shadow:0 10px 30px #0f20330f;--vim-admin-radius-lg:20px;--vim-admin-radius-md:14px;--vim-admin-radius-sm:10px}html,body{min-height:100%}body{background:var(--vim-admin-bg);color:var(--vim-admin-text)}#app{min-height:100vh;overflow-x:hidden}.layout-main-shell .page-container,.layout-main-shell .dashboard-page{width:min(1440px,100%);min-width:0;margin:0 auto}.app-main-shell .page-container{flex-direction:column;gap:18px;width:min(1320px,100%);min-width:0;margin:0 auto;display:flex}.layout-main-shell .page-container{flex-direction:column;gap:18px;display:flex}.app-main-shell .el-card{border-radius:var(--vim-admin-radius-md);border:1px solid var(--vim-admin-border);background:var(--vim-admin-surface);box-shadow:var(--vim-admin-shadow)}.app-main-shell .el-table{--el-table-border-color:var(--vim-admin-border);--el-table-header-bg-color:#f5f8fc;--el-table-row-hover-bg-color:#f7fbff;border-radius:12px;width:100%;overflow:hidden}.app-main-shell .el-table th{color:#405166;border-bottom:1px solid var(--vim-admin-border);font-weight:700}.app-main-shell .el-table td{color:var(--vim-admin-text);padding-top:12px;padding-bottom:12px}.layout-main-shell .el-card{border-radius:var(--vim-admin-radius-md);border:1px solid var(--vim-admin-border);background:var(--vim-admin-surface);box-shadow:var(--vim-admin-shadow)}.layout-main-shell .el-table{--el-table-border-color:var(--vim-admin-border);--el-table-header-bg-color:#f5f8fc;--el-table-row-hover-bg-color:#f7fbff;border-radius:12px;width:100%;overflow:hidden}.layout-main-shell .el-table th{color:#405166;border-bottom:1px solid var(--vim-admin-border);font-weight:700}.layout-main-shell .el-table td{color:var(--vim-admin-text);padding-top:12px;padding-bottom:12px}.layout-main-shell .el-dialog,.layout-main-shell .el-drawer,.app-main-shell .el-dialog,.app-main-shell .el-drawer{--el-dialog-border-radius:24px}.el-overlay-message-box{box-sizing:border-box;background:#0f172a9e!important;justify-content:center!important;align-items:center!important;padding:24px!important;display:flex!important;position:fixed!important;inset:0!important}.el-message-box{overflow:hidden;background:#fff!important;border:1px solid #d8e1ef!important;border-radius:20px!important;width:min(560px,100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin:0!important;box-shadow:0 32px 80px #0f203347!important}.el-message-box__header{border-bottom:1px solid #94a3b82e;padding:22px 24px 10px!important}.el-message-box__title{letter-spacing:.01em;color:#0f172a!important;font-size:20px!important;font-weight:700!important}.el-message-box__headerbtn{background:#94a3b81f!important;border-radius:999px!important;width:36px!important;height:36px!important;top:14px!important;right:14px!important}.el-message-box__content{padding:18px 24px 0!important}.el-message-box__container{align-items:flex-start!important;gap:14px!important}.el-message-box__status{margin-top:2px;font-size:30px!important}.el-message-box__message{color:#334155!important;font-size:15px!important;line-height:1.8!important}.el-message-box__message p{color:inherit!important}.el-message-box__input,.el-message-box__errormsg{margin-top:14px!important}.el-message-box__btns{justify-content:center!important;gap:12px!important;padding:24px!important;display:flex!important}.el-message-box__btns .el-button{border-radius:12px;min-width:112px;height:40px;font-weight:700}.vim-muted-button{color:#334155!important;background:#fff!important;border-color:#cbd5e1!important}.vim-danger-button.el-button--primary{--el-button-bg-color:#dc2626;--el-button-border-color:#dc2626;--el-button-hover-bg-color:#b91c1c;--el-button-hover-border-color:#b91c1c;--el-button-active-bg-color:#991b1b;--el-button-active-border-color:#991b1b}.vim-danger-confirm .el-message-box{border-color:#fecaca!important;box-shadow:0 36px 96px #7f1d1d3d!important}.vim-danger-confirm .el-message-box__header{background:linear-gradient(#fff1f2 0%,#fff 100%);border-bottom-color:#fecdd3}.vim-danger-confirm .el-message-box__title{color:#991b1b!important}.vim-danger-confirm .el-message-box__status.el-message-box-icon--warning,.vim-danger-confirm .el-message-box__status.el-message-box-icon--error{color:#dc2626!important}.vim-danger-confirm .el-message-box__message{color:#475569!important}.layout-main-shell .el-button+.el-button,.app-main-shell .el-button+.el-button{margin-left:0}.layout-main-shell .el-form-item__label,.app-main-shell .el-form-item__label{color:var(--vim-admin-text-muted);font-weight:600}.layout-main-shell .el-input__wrapper,.layout-main-shell .el-select__wrapper,.layout-main-shell .el-textarea__inner,.layout-main-shell .el-date-editor.el-input__wrapper,.app-main-shell .el-input__wrapper,.app-main-shell .el-select__wrapper,.app-main-shell .el-textarea__inner,.app-main-shell .el-date-editor.el-input__wrapper{border-radius:10px}.layout-main-shell .table-link-button,.app-main-shell .table-link-button{color:var(--vim-admin-primary);font-weight:700}.layout-main-shell .el-button--primary,.app-main-shell .el-button--primary{--el-button-bg-color:var(--vim-admin-primary);--el-button-border-color:var(--vim-admin-primary);--el-button-hover-bg-color:var(--vim-admin-primary-hover);--el-button-hover-border-color:var(--vim-admin-primary-hover);border-radius:10px}.layout-main-shell .el-button,.app-main-shell .el-button{border-radius:10px}.layout-main-shell .el-input__wrapper,.layout-main-shell .el-select__wrapper,.layout-main-shell .el-textarea__inner,.layout-main-shell .el-date-editor.el-input__wrapper,.app-main-shell .el-input__wrapper,.app-main-shell .el-select__wrapper,.app-main-shell .el-textarea__inner,.app-main-shell .el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--vim-admin-border) inset}.layout-main-shell .el-card__header,.app-main-shell .el-card__header{border-bottom:1px solid var(--vim-admin-border);background:var(--vim-admin-surface-subtle)}@media (width<=960px){.layout-main-shell .page-container,.layout-main-shell .dashboard-page,.app-main-shell .page-container{width:100%}}@media (width<=768px){html,body,#app{min-height:100dvh}body{-webkit-overflow-scrolling:touch;overflow-y:auto}.app-main-shell .page-container,.layout-main-shell .page-container,.layout-main-shell .dashboard-page{gap:14px}.app-main-shell .el-card,.layout-main-shell .el-card{border-radius:16px}.app-main-shell .el-card__body,.layout-main-shell .el-card__body{padding:14px}.app-main-shell .el-table,.layout-main-shell .el-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.app-main-shell .el-table table,.layout-main-shell .el-table table{min-width:720px}.page-header__right,.page-header__right>*{max-width:100%}.page-header__right .el-input,.page-header__right .el-select,.page-header__right .el-date-editor,.page-header__right .el-button{width:100%!important}.app-main-shell .el-dialog,.layout-main-shell .el-dialog{max-width:calc(100vw - 24px);width:calc(100vw - 24px)!important;margin-top:6vh!important}.el-drawer{max-width:100vw}}
