:root{--el-color-primary: #3b82f6;--el-color-primary-light-3: #60a5fa;--el-color-primary-light-5: #93c5fd;--el-color-primary-light-8: #dbeafe;--el-color-primary-light-9: #eff6ff;--el-color-primary-dark-2: #2563eb;--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-border-radius-round: 999px;--el-font-size-base: 14px;--el-text-color-primary: #1f2937;--el-text-color-regular: #374151;--el-text-color-secondary: #6b7280;--el-border-color: #dbe3ef;--el-border-color-light: #e8edf5;--el-fill-color-light: #f7f9fc;--el-bg-color-page: #f5f7fb;--el-box-shadow-light: 0 8px 24px rgba(15, 23, 42, .08);--el-box-shadow: 0 10px 32px rgba(15, 23, 42, .12)}html,body,#app{min-height:100%}body{margin:0;color:var(--el-text-color-primary);background:linear-gradient(180deg,#f6f8fc,#f3f5f9)}.page-card,.el-card.page-card,.el-card{border:1px solid #e8edf5;border-radius:12px;box-shadow:0 6px 20px #0f172a0d}.el-card .el-card__body,.page-card .el-card__body{padding:18px 20px 20px}.search-container{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;border-radius:12px;background:linear-gradient(90deg,#f7faff,#f3f8ff);border:1px solid #e8eef8}.el-button{border-radius:8px;font-weight:500;transition:transform .15s ease,box-shadow .15s ease}.el-button:not(.is-disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px #3b82f629}.el-button+.el-button{margin-left:0}.el-button--primary{box-shadow:0 4px 12px #3b82f638}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{border-radius:8px;box-shadow:0 0 0 1px #dbe3ef inset;transition:box-shadow .15s ease}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused,.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset,0 0 0 3px #3b82f61f}.el-table{border-radius:10px;overflow:hidden;border:1px solid #e8edf5;box-shadow:0 4px 14px #0f172a0d}.el-table th.el-table__cell,.el-table td.el-table__cell{text-align:center}.el-table th.el-table__cell{background:#f7faff!important;color:#374151;font-weight:600;height:44px}.el-table td.el-table__cell{height:44px;color:#334155}.el-table .el-table__row:hover>td.el-table__cell{background:#f5f9ff!important}.el-table .cell{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-table--border .el-table__cell{border-right:1px solid #edf2fa}.el-table .el-button--text,.el-table .el-button.is-link{font-weight:600}.el-form-item{margin-bottom:18px}.el-form-item__label{color:#4b5563;font-weight:500}.el-dialog{border-radius:12px;overflow:hidden;box-shadow:0 18px 48px #0f172a33}.el-dialog__header{margin-right:0;padding:16px 20px 14px;border-bottom:1px solid #e8edf5;background:linear-gradient(90deg,#f8fbff,#fff)}.el-dialog__body{padding:18px 20px}.el-dialog__footer{padding:12px 20px 16px;border-top:1px solid #e8edf5}.pagination-container{margin-top:16px;display:flex;justify-content:flex-end}.el-pagination{gap:4px}.el-pagination .el-pager li{border-radius:8px}.el-tag{border-radius:999px;padding:0 10px}.action-link{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 8px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.action-link:hover{transform:translateY(-1px)}.action-link.primary{color:#2f8cf6;background:#2f8cf61a}.action-link.info{color:#5b6475;background:#5b64751a}.action-link.danger{color:#ef4444;background:#ef44441a}.el-tree{padding:8px 6px;border-radius:10px;border:1px solid #e8edf5;background:#fcfdff}.el-tree .el-tree-node__content{min-height:34px;border-radius:8px}.el-tree .el-tree-node__content:hover{background:#f2f7ff}@media (max-width: 768px){.page-card .el-card__body{padding:14px}.search-container{padding:10px;gap:8px}.el-table th.el-table__cell,.el-table td.el-table__cell{height:40px}}body{background-color:#f0f2f5;background-image:radial-gradient(circle at 10% 20%,rgba(138,149,158,.05) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(138,149,158,.05) 0%,transparent 20%);background-attachment:fixed}.el-button{transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px}.el-button:not(.is-disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.el-button:not(.is-disabled):active{transform:translateY(0)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{background-color:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.4,0,.2,1)}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused,.el-textarea__inner:focus{box-shadow:0 0 0 3px #409eff1a}.sidebar-container{background-color:#304156e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 12px #0000000d;margin:0 0 16px;overflow:hidden}.el-table th{background-color:#f7f8fab3}.el-table__row{transition:all .3s cubic-bezier(.4,0,.2,1)}.el-table__row:hover>td{background-color:#f7f8fa80!important}.el-dropdown-menu{background-color:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:none;border-radius:8px;box-shadow:0 6px 16px #00000014}.el-tree{background-color:transparent}.el-tree .el-tree-node__content{border-radius:6px;transition:all .3s cubic-bezier(.4,0,.2,1)}.el-tree .el-tree-node__content:hover{background-color:#f7f8fa80}.el-pagination{margin-top:16px}.el-pagination .el-pager li{border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1)}.el-pagination .el-pager li:hover{transform:translateY(-1px)}.route-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#ffffff73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.route-nav-spinner-box{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:16px;background:#ffffffeb;box-shadow:0 12px 32px #0f172a1f}.route-nav-spinner{color:#2f8cf6}.nav-spinner-fade-enter-active,.nav-spinner-fade-leave-active{transition:opacity .15s ease}.nav-spinner-fade-enter-from,.nav-spinner-fade-leave-to{opacity:0}.main-content-inner{width:100%;min-height:100%}@media (prefers-reduced-motion: reduce){.nav-spinner-fade-enter-active,.nav-spinner-fade-leave-active{transition:none}}.menu-item-icon[data-v-db4438eb]{margin-right:8px;font-size:18px;vertical-align:middle}.has-pending-badge[data-v-db4438eb]{position:relative}.menu-pending-badge[data-v-db4438eb]{position:absolute;top:6px;left:28px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f56c6c;color:#fff;font-size:11px;line-height:16px;text-align:center;font-weight:600;box-shadow:0 0 0 1px #13223659;z-index:2;pointer-events:none}.layout[data-v-e315b54e]{height:100vh;overflow:hidden;background:linear-gradient(180deg,#f4f7fc,#f6f8fc)}.aside[data-v-e315b54e]{border-right:none;flex-shrink:0;transition:width .28s cubic-bezier(.4,0,.2,1)}.layout-main[data-v-e315b54e]{flex:1;min-width:0;transition:flex .28s cubic-bezier(.4,0,.2,1)}.sidebar-container[data-v-e315b54e]{background:linear-gradient(180deg,#132236,#172a42);height:100%;box-shadow:8px 0 24px #0612234d;overflow-y:auto;overflow-x:hidden}.sidebar-logo[data-v-e315b54e]{height:50px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(90deg,#1b324e,#1a2f49);border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}.logo-content[data-v-e315b54e]{display:flex;align-items:center;justify-content:center;width:100%;padding:0 10px}.logo-icon[data-v-e315b54e]{width:24px;height:24px;border-radius:6px;box-shadow:0 6px 14px #00000040}.logo-text[data-v-e315b54e]{margin-left:8px;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}.logo-text-short[data-v-e315b54e]{width:0}.header[data-v-e315b54e]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf6;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #0f172a0d;height:50px;padding:0 14px}.user-header-content[data-v-e315b54e]{display:flex;align-items:center;width:100%}.left[data-v-e315b54e]{display:flex;align-items:center;gap:10px;min-width:0}.user[data-v-e315b54e]{font-size:14px;color:#4d5e75;font-weight:600}.breadcrumb[data-v-e315b54e]{font-size:12px}.user-dropdown-trigger[data-v-e315b54e]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:#f3f7ffbf;cursor:pointer}.user-dropdown-trigger[data-v-e315b54e]:hover{background-color:#eef5ff;border-color:#d7e5fb}.username[data-v-e315b54e]{font-size:14px;color:#303133;font-weight:500}.dropdown-icon[data-v-e315b54e]{color:#909399;font-size:12px}.actions[data-v-e315b54e]{display:flex;align-items:center;gap:8px;margin-left:auto;justify-content:flex-end;flex-shrink:0}.super-admin-school-switch[data-v-e315b54e]{display:flex;align-items:center;margin-right:4px}.school-switch-panel[data-v-e315b54e]{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 8px;border-radius:10px;border:1px solid #b9d4f8;background:linear-gradient(135deg,#eef6ff,#e4f0ff 55%,#f7fbff);box-shadow:0 4px 12px #2f8cf61f}.school-switch-icon[data-v-e315b54e]{width:28px;height:28px;border-radius:8px;background:#2f8cf6;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.school-switch-meta[data-v-e315b54e]{display:flex;flex-direction:column;line-height:1.15;min-width:0}.school-switch-title[data-v-e315b54e]{font-size:13px;font-weight:700;color:#1f4f8a;white-space:nowrap}.school-switch-hint[data-v-e315b54e]{margin-top:2px;font-size:11px;color:#5f7fa8;white-space:nowrap}.school-switch-cascader[data-v-e315b54e]{width:220px}.school-switch-cascader[data-v-e315b54e] .el-input__wrapper{background:#fff;box-shadow:0 0 0 1px #c5daf7 inset}.school-switch-cascader[data-v-e315b54e] .el-input__wrapper:hover,.school-switch-cascader[data-v-e315b54e] .el-input__wrapper.is-focus{box-shadow:0 0 0 1px #2f8cf6 inset}.tabs[data-v-e315b54e]{display:flex;align-items:center;border-bottom:1px solid #e8edf6;height:42px;background:#fffffff5}.tab-list[data-v-e315b54e]{display:flex;align-items:center;gap:0;overflow-x:auto;flex:1;min-width:0;padding-right:8px}.tab[data-v-e315b54e]{display:flex;align-items:center;gap:4px;padding:0 12px;border:1px solid #dce6f5;border-radius:8px;background:#f4f8ff;white-space:nowrap;margin-right:6px;height:28px;font-size:12px;transition:all .2s ease}.tab.active[data-v-e315b54e]{background:linear-gradient(90deg,#3b82f6,#2f8cf6);border-color:#3b82f6;color:#fff;box-shadow:0 8px 14px #3b82f63d}.tab-link[data-v-e315b54e]{color:inherit;text-decoration:none;cursor:pointer}.close[data-v-e315b54e]{cursor:pointer;opacity:.7}.close[data-v-e315b54e]:hover{opacity:1}.tab-actions[data-v-e315b54e]{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-right:6px;margin-left:8px}.main-content[data-v-e315b54e]{padding:12px;overflow-y:auto;overflow-x:hidden}.main-content[data-v-e315b54e] .el-card{border-radius:12px;border:1px solid #e8edf5;box-shadow:0 6px 20px #0f172a0d}.aside[data-v-e315b54e] .el-menu{border-right:none;background:transparent;padding:8px}.aside[data-v-e315b54e] .el-menu-item,.aside[data-v-e315b54e] .el-sub-menu__title{color:#cad5e3;border-radius:8px;margin:6px 4px;height:40px;line-height:40px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease}.aside[data-v-e315b54e] .el-menu-item.is-active{color:#fff;background:linear-gradient(90deg,#2f8cf6,#4c97f4);border-color:#4c97f4b3;box-shadow:0 8px 14px #2f8cf647}.aside[data-v-e315b54e] .el-menu-item:hover,.aside[data-v-e315b54e] .el-sub-menu__title:hover{color:#fff;background:#ffffff1c;border-color:#ffffff24;transform:translate(2px)}.aside[data-v-e315b54e] .el-menu--inline{padding:4px 0 6px 12px;background:transparent}.aside[data-v-e315b54e] .el-menu--inline .el-menu-item,.aside[data-v-e315b54e] .el-menu--inline .el-sub-menu__title{height:36px;line-height:36px;margin:5px 4px;border-radius:8px}.aside[data-v-e315b54e] .el-menu--collapse .el-menu-item,.aside[data-v-e315b54e] .el-menu--collapse .el-sub-menu__title{margin:6px 0}.aside[data-v-e315b54e] .el-menu--collapse .el-menu-item .menu-item-icon,.aside[data-v-e315b54e] .el-menu--collapse .el-sub-menu__title .menu-item-icon{margin-right:0}.aside[data-v-e315b54e] .el-menu--collapse>.el-menu-item .el-menu-tooltip__trigger{justify-content:center;padding:0}.aside[data-v-e315b54e] .el-menu--collapse>.el-sub-menu>.el-sub-menu__title{justify-content:center;padding:0 12px}.aside[data-v-e315b54e] .el-menu--collapse .el-menu-item:hover,.aside[data-v-e315b54e] .el-menu--collapse .el-sub-menu__title:hover{transform:none}.aside[data-v-e315b54e] .menu-item-icon{font-size:18px}.sidebar-toggle-btn[data-v-e315b54e]{flex-shrink:0;padding:6px;margin-right:2px;height:32px}.toggle-btn[data-v-e315b54e]{font-size:20px;color:#4d5e75;transition:color .3s}.sidebar-toggle-btn:hover .toggle-btn[data-v-e315b54e]{color:#2f8cf6}.tabs-container[data-v-e315b54e]{display:flex;align-items:center;flex:1;min-width:0;height:100%}.tabs-scroll-btn[data-v-e315b54e]{flex-shrink:0;width:24px;height:24px;padding:0;color:#606266}.tabs-scroll-btn[data-v-e315b54e]:hover{color:#409eff}.tabs-wrapper[data-v-e315b54e]::-webkit-scrollbar{display:none}.tab-title[data-v-e315b54e]{font-size:12px;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis}.sidebar-container[data-v-e315b54e]::-webkit-scrollbar{width:4px}.sidebar-container[data-v-e315b54e]::-webkit-scrollbar-track{background:#243342}.sidebar-container[data-v-e315b54e]::-webkit-scrollbar-thumb{background:#4a5c6b;border-radius:2px}
