.msg-badge[data-v-ad82202d]{margin-right:8px}.msg-panel[data-v-ad82202d]{max-height:420px;overflow-y:auto}.msg-header[data-v-ad82202d]{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;border-bottom:1px solid #e4e7ed}.msg-count[data-v-ad82202d]{color:#909399}.msg-header-right[data-v-ad82202d]{display:flex;align-items:center;gap:10px}.msg-more[data-v-ad82202d]{font-size:12px}.msg-empty[data-v-ad82202d]{text-align:center;color:#909399;padding:24px 0}.msg-item[data-v-ad82202d]{display:flex;gap:10px;padding:10px 0;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.msg-item[data-v-ad82202d]:hover{background:#f5f7fa}.msg-item.is-unread[data-v-ad82202d]{background:#ecf5ff}.msg-item[data-v-ad82202d]:last-child{border-bottom:none}.msg-icon[data-v-ad82202d]{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;background:#f0f5ff;color:#409eff;font-size:16px}.msg-icon.is-submit[data-v-ad82202d]{background:#fff7e8;color:#e6a23c}.msg-icon.is-approve[data-v-ad82202d]{background:#edf8f2;color:#67c23a}.msg-icon.is-reject[data-v-ad82202d],.msg-icon.is-remove[data-v-ad82202d]{background:#fef0f0;color:#f56c6c}.msg-icon.is-default[data-v-ad82202d]{background:#f4f4f5;color:#909399}.msg-icon .el-icon[data-v-ad82202d]{width:1em;height:1em}.msg-body[data-v-ad82202d]{flex:1;min-width:0}.msg-title[data-v-ad82202d]{font-weight:600;font-size:13px;color:#303133}.msg-content[data-v-ad82202d]{font-size:12px;color:#606266;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-time[data-v-ad82202d]{font-size:11px;color:#c0c4cc;margin-top:4px}.login-heading.is-compact[data-v-f41c0e4b]{margin-bottom:22px}.login-tab-bar[data-v-f41c0e4b]{position:relative;display:flex;padding:4px;margin-bottom:26px;border:1px solid #e6edf2;border-radius:12px;background:#f4f7fa}.login-tab-btn[data-v-f41c0e4b]{position:relative;z-index:1;flex:1;height:38px;padding:0;border:none;border-radius:9px;background:transparent;color:#627d98;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:color .2s ease}.login-tab-btn[data-v-f41c0e4b]:hover{color:#334e68}.login-tab-btn.active[data-v-f41c0e4b],.login-tab-btn.active[data-v-f41c0e4b]:hover{color:var(--primary)}.login-tab-indicator[data-v-f41c0e4b]{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:38px;border-radius:9px;background:#fff;box-shadow:0 2px 8px #102a4314;transition:transform .24s cubic-bezier(.4,0,.2,1)}.login-tab-indicator.is-right[data-v-f41c0e4b]{transform:translate(100%)}.login-card-body[data-v-f41c0e4b]{transition:opacity .18s ease,transform .18s ease}.login-card-body.is-switching[data-v-f41c0e4b]{opacity:0;transform:translateY(6px)}.login-wechat[data-v-f41c0e4b]{margin-top:0}.login-wechat .login-qr-wrap[data-v-f41c0e4b]{display:flex;min-height:320px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e6edf2;border-radius:12px;background:#fbfdff}.login-wechat .login-qr[data-v-f41c0e4b]{min-height:0}.login-remember[data-v-f41c0e4b]{width:100%;color:#627d98;font-size:14px}.not-found-page[data-v-db39db48]{display:grid;min-height:100dvh;place-content:center;justify-items:center;padding:32px 20px;background:#f4f7f9;text-align:center}.not-found-page .eyebrow[data-v-db39db48]{margin:0 0 12px;color:var(--primary);font-size:13px;font-weight:800;letter-spacing:.18em}.not-found-page h1[data-v-db39db48]{margin:0 0 10px;color:var(--ink);font-size:36px;font-weight:700}.not-found-page p[data-v-db39db48]:last-child{margin:0;color:#627d98;font-size:14px}:root{color:#102a43;background:#f4f7f9;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #102a43;--muted: #627d98;--line: #d9e2ec;--surface: #ffffff;--primary: #0290FF;--primary-dark: #0174d0;--primary-soft: #e6f4ff;--primary-rgb: 2 144 255;--navy: #0b253f;--page-bg: #f4f7f9;--el-color-primary: #0290FF}*{box-sizing:border-box}.app-frame{min-height:100vh}.app-frame.is-tauri{display:flex;overflow:hidden;height:100vh;min-height:0;flex-direction:column}.app-frame-content{min-height:100%}.app-frame.is-tauri .app-frame-content{display:flex;overflow:hidden;min-height:0;flex:1;flex-direction:column}.window-title-bar{display:flex;flex:0 0 56px;height:56px;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(16 42 67 / 12%);background:var(--navy);color:#fff;user-select:none}.window-title-left,.window-title-right{display:flex;min-width:0;height:100%;align-items:center}.window-title-right{gap:14px;padding-left:12px}.window-title-spacer{align-self:stretch;flex:1;min-width:24px}.window-title-drag-region{display:flex;min-width:0;height:100%;padding:0 12px 0 14px;align-items:center;gap:9px;cursor:default}.window-title-drag-region strong{overflow:hidden;color:#fff;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.window-title-mark{display:inline-grid;width:22px;height:22px;flex:0 0 22px;place-items:center;overflow:hidden;border:1px solid rgb(255 255 255 / 28%);border-radius:7px;background:#ffffff1f;color:#fff;font-size:9px;font-weight:800}.window-title-mark img{display:block;width:100%;height:100%;object-fit:cover}.window-title-actions{display:flex;height:100%;margin-left:8px;align-items:stretch}.window-title-button{display:grid;width:46px;height:100%;padding:0;place-items:center;border:0;background:transparent;color:#ffffffdb;cursor:pointer}.window-title-button:hover{background:#ffffff1f;color:#fff}.window-title-button.is-close:hover{background:#d14343}.window-title-bar .header-actions{gap:4px}.window-title-bar .theme-switcher{height:36px;padding:0 8px;gap:6px;border:0;border-radius:8px;background:transparent;color:#fff;box-shadow:none}.window-title-bar .theme-switcher:hover{background:#ffffff1f}.window-title-bar .theme-switcher-copy{display:none}.window-title-bar .theme-switcher-swatch{border-color:#ffffff8c;box-shadow:0 0 0 1px #0000002e}.window-title-bar .theme-switcher-caret{color:#fff9}.window-title-bar .msg-badge{margin-right:0}.window-title-bar .msg-badge .el-button{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#ffffffd1;font-size:17px}.window-title-bar .msg-badge .el-button:hover{background:#ffffff1f;color:#fff}.window-title-actions:before{content:"";align-self:center;width:1px;height:18px;margin-right:8px;background:#ffffff29}.app-frame.is-tauri .app-shell{height:100%;min-height:0}.app-frame.is-tauri .app-sidebar{height:100%}.app-frame.is-tauri .sidebar-brand{display:none}.app-frame.is-tauri .login-page,.app-frame.is-tauri .login-intro{min-height:0;height:100%}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}a{color:inherit;text-decoration:none}.eyebrow{margin:0 0 12px;color:var(--primary-dark);font-size:12px;font-weight:800;letter-spacing:.16em}.brand-mark{display:inline-grid;width:46px;height:46px;place-items:center;overflow:hidden;border:1px solid rgb(255 255 255 / 32%);border-radius:15px;background:#ffffff1f;color:#fff;font-size:15px;font-weight:800;letter-spacing:.06em}.brand-mark img,.mobile-brand-mark img{display:block;width:100%;height:100%;object-fit:cover}.login-page{display:grid;min-height:100dvh;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:#fff}.login-intro{position:relative;display:flex;overflow:hidden;min-height:100dvh;min-width:0;padding:52px clamp(28px,6vw,104px);flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 84% 12%,rgb(var(--primary-rgb) / 28%),transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--navy) 88%,#000) 0%,var(--navy) 58%,color-mix(in srgb,var(--primary-dark) 72%,var(--navy)) 120%);color:#fff}.login-intro:after{position:absolute;right:-180px;bottom:-230px;width:560px;height:560px;border:1px solid rgb(255 255 255 / 12%);border-radius:50%;box-shadow:0 0 0 72px #ffffff08,0 0 0 144px #ffffff05;content:""}.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:14px;font-size:17px;font-weight:750;letter-spacing:.02em}.intro-copy{position:relative;z-index:1;max-width:660px;margin:auto 0}.intro-copy .eyebrow{color:color-mix(in srgb,var(--primary) 42%,#fff)}.intro-copy h1{margin:0;font-size:clamp(42px,5vw,72px);font-weight:650;letter-spacing:-.055em;line-height:1.12}.login-panel{display:grid;min-width:0;padding:48px clamp(20px,4vw,48px);place-items:center;background:linear-gradient(#fffffff0,#fffffff0),radial-gradient(circle at center,#d9e2ec 1px,transparent 1px);background-size:auto,22px 22px}.login-card{width:min(100%,420px)}.login-card.is-wechat{width:min(100%,460px)}.login-wechat{margin-top:8px}.login-wechat-divider{display:flex;margin:8px 0 18px;align-items:center;gap:12px;color:#829ab1;font-size:12px}.login-wechat-divider:before,.login-wechat-divider:after{height:1px;flex:1;background:#e6edf2;content:""}.login-qr-wrap{min-height:360px}.login-qr{display:flex;min-height:360px;justify-content:center}.login-qr-tip{margin:12px 0 0;color:#829ab1;font-size:12px;text-align:center}.login-heading{margin-bottom:40px}.login-heading h2{margin:0 0 10px;color:var(--ink);font-size:36px;letter-spacing:-.035em}.login-heading>p:last-child{margin:0;color:var(--muted);line-height:1.7}.mobile-brand-mark{display:none}.login-card .el-form-item{margin-bottom:24px}.login-card .el-form-item__label{color:#334e68;font-weight:650}.login-card .el-input__wrapper{min-height:50px;border-radius:10px;box-shadow:0 0 0 1px #bcccdc inset}.login-card .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--primary) inset}.login-button{width:100%;height:50px;margin-top:6px;border-color:var(--primary);border-radius:10px;background:var(--primary);font-weight:700}.login-button:hover,.login-button:focus{border-color:var(--primary-dark);background:var(--primary-dark)}.button-arrow{margin-left:8px}.app-shell{display:grid;height:100vh;min-height:100vh;grid-template-columns:250px minmax(0,1fr);background:var(--page-bg)}.app-shell.is-sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;display:flex;overflow:hidden;height:100vh;padding:28px 20px 24px;flex-direction:column;background:var(--navy);color:#d9e8f2}.app-shell.is-sidebar-collapsed .app-sidebar{padding-right:10px;padding-left:10px}.sidebar-user{margin-top:8px;padding-top:10px;border-top:1px solid rgb(255 255 255 / 8%)}.sidebar-user .el-dropdown{display:block;width:100%}.sidebar-user .user-trigger{width:100%;padding:7px 8px;gap:10px;border-radius:10px;color:#fff}.sidebar-user .user-trigger:hover{background:#ffffff14}.sidebar-user .user-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:9px;font-size:13px}.sidebar-user .user-meta{min-width:0}.sidebar-user .user-meta strong,.sidebar-user .user-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user .user-meta small{color:#ffffff8c}.app-shell.is-sidebar-collapsed .sidebar-user .user-trigger{justify-content:center;padding:7px 4px}.app-shell.is-sidebar-collapsed .sidebar-user .user-meta{display:none}.sidebar-collapse{display:flex;height:38px;margin-top:12px;padding:0;flex:0 0 38px;align-items:center;justify-content:center;border:1px solid rgb(255 255 255 / 10%);border-radius:10px;background:#ffffff0f;color:#ffffffa6;font-size:16px;cursor:pointer;transition:background .15s,color .15s}.sidebar-collapse:hover{background:#ffffff1f;color:#fff}.app-shell.is-sidebar-collapsed .sidebar-brand{justify-content:center;padding-right:0;padding-left:0}.app-shell.is-sidebar-collapsed .sidebar-brand div,.app-shell.is-sidebar-collapsed .nav-item>span,.app-shell.is-sidebar-collapsed .nav-caret{display:none}.app-shell.is-sidebar-collapsed .nav-item{justify-content:center;padding-right:12px;padding-left:12px}.app-shell.is-sidebar-collapsed .nav-item>.el-icon:not(.nav-caret){font-size:21px}.app-shell.is-sidebar-collapsed .nav-children{display:none}.sidebar-brand{display:flex;padding:0 8px 28px;align-items:center;gap:12px}.brand-mark-small{width:39px;height:39px;border-radius:12px;font-size:13px}.sidebar-brand div{display:grid;gap:3px}.sidebar-brand strong{color:#fff;font-size:15px}.sidebar-brand span:last-child{color:#829fb5;font-size:11px}.sidebar-nav{display:grid;flex:1;gap:4px;min-height:0;align-content:start;overflow:auto;scrollbar-width:thin;scrollbar-color:rgb(176 201 217 / 48%) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{border:1px solid transparent;border-radius:999px;background:#b0c9d96b;background-clip:padding-box}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#d3e4efb8;background-clip:padding-box}.nav-group{display:grid;gap:4px}.nav-item{display:flex;width:100%;padding:11px 12px;padding-left:calc(12px + var(--nav-depth, 0) * 14px);align-items:center;gap:10px;border:0;border-radius:9px;background:transparent;color:#abc1d2;font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease}.nav-item:hover{background:#ffffff17;color:#fff}.nav-item>.el-icon:not(.nav-caret){flex:0 0 auto;font-size:18px}.nav-item.router-link-active,.nav-item.router-link-exact-active{background:color-mix(in srgb,var(--primary) 24%,transparent);color:#fff}.nav-group-title{color:#c5d6e4;font-weight:650}.nav-caret{margin-left:auto;font-size:12px;transition:transform .16s ease}.nav-group.is-open>.nav-group-title .nav-caret{transform:rotate(180deg)}.nav-children{display:grid;gap:4px}.app-main{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column}.app-header{position:sticky;z-index:10;top:0;display:flex;height:64px;padding:0 24px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#fff}.nav-tabs{display:flex;flex-shrink:0;padding:8px 24px;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:var(--page-bg)}.nav-tabs-list{display:flex;min-width:0;flex:1;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgb(130 159 181 / 42%) transparent}.nav-tabs-list::-webkit-scrollbar{height:5px}.nav-tabs-list::-webkit-scrollbar-track{background:transparent}.nav-tabs-list::-webkit-scrollbar-thumb{border-radius:999px;background:#829fb561}.nav-tabs-list::-webkit-scrollbar-thumb:hover{background:rgb(var(--primary-rgb) / 55%)}.nav-tabs-list>.el-dropdown{display:inline-flex;flex-shrink:0}.nav-tab-card{display:inline-flex;height:32px;padding:0 8px 0 12px;align-items:center;gap:6px;border:1px solid #e6edf2;border-radius:8px;background:#fff;color:#334e68;font:inherit;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer}.nav-tab-card:hover{border-color:rgb(var(--primary-rgb) / 35%)}.nav-tab-card.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 0 0 1px var(--primary) inset}.nav-tab-close{display:grid;width:16px;height:16px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.nav-tab-close:hover{background:#102a4314}.nav-tabs-more{height:32px;padding:0 12px;border:1px solid #e6edf2;border-radius:8px;background:#fff;color:#486581;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.app-header:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,var(--primary) 0%,rgb(var(--primary-rgb) / 18%) 42%,transparent 78%);content:""}.header-actions{display:flex;align-items:center;gap:20px}.theme-switcher{display:flex;height:40px;padding:0 10px 0 8px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 1px 2px #102a430a;cursor:pointer}.theme-switcher:hover{border-color:rgb(var(--primary-rgb) / 35%)}.theme-switcher-swatch{width:18px;height:18px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #102a431f}.theme-switcher-copy{display:grid;min-width:52px;gap:0;text-align:left}.theme-switcher-copy small{color:var(--muted);font-size:10px;line-height:1.1}.theme-switcher-copy strong{font-size:13px;font-weight:700;line-height:1.2}.theme-switcher-caret{color:#829ab1;font-size:12px}.theme-popper.el-popover.el-popper{padding:12px;border:1px solid #e6edf2;border-radius:14px;box-shadow:0 16px 40px #102a431f}.theme-panel-head{display:grid;margin-bottom:10px;gap:2px}.theme-panel-head strong{color:var(--ink);font-size:13px}.theme-panel-head span{color:var(--muted);font-size:12px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-card{display:grid;overflow:hidden;padding:0;border:1px solid #e6edf2;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.theme-card:hover{border-color:rgb(var(--primary-rgb) / 35%)}.theme-card.is-active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.theme-card-bar{height:8px}.theme-card-body{display:grid;padding:8px 10px 9px;gap:1px}.theme-card-body strong{color:var(--ink);font-size:13px;font-weight:700}.theme-card-body small{color:var(--muted);font-size:11px}.header-context,.user-trigger{display:flex;align-items:center}.header-context{gap:12px;color:#486581}.header-context>.el-icon,.sidebar-toggle{font-size:20px}.sidebar-mask{display:none}.sidebar-toggle{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}.header-context div{display:grid;gap:1px}.header-context span{color:#829ab1;font-size:10px}.header-context strong{color:var(--ink);font-size:14px}.user-trigger{padding:6px 8px;gap:10px;border:0;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}.user-trigger:hover{background:#f0f4f7}.user-avatar{display:grid;width:35px;height:35px;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary-dark);font-weight:800}.user-meta{display:grid;min-width:80px;gap:1px;text-align:left}.user-meta strong{font-size:13px}.user-meta small{color:#829ab1;font-size:10px}.page-content{display:flex;overflow:auto;min-height:0;flex:1;flex-direction:column;padding:20px 24px 24px}.list-page,.channel-page,.user-page,.role-page,.menu-page,.page-stack{display:flex;width:100%;min-height:0;height:100%;flex:1;flex-direction:column;gap:16px}.list-heading,.channel-heading,.user-heading,.role-heading,.menu-heading,.page-heading{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px}.list-heading h1,.channel-heading h1,.user-heading h1,.role-heading h1,.menu-heading h1,.page-heading h1{margin:0;color:var(--ink);font-size:22px;font-weight:700;letter-spacing:-.02em}.list-heading>div:has(>h1),.channel-heading>div:has(>h1),.user-heading>div:has(>h1),.role-heading>div:has(>h1),.menu-heading>div:has(>h1),.page-heading>div:has(>h1),.warehouse-heading-main>div:has(>h1){display:none}.list-heading:has(>div:only-child),.channel-heading:has(>div:only-child),.user-heading:has(>div:only-child),.role-heading:has(>div:only-child),.menu-heading:has(>div:only-child),.page-heading:has(>div:only-child){display:none}.list-heading .eyebrow,.channel-heading .eyebrow,.user-heading .eyebrow,.role-heading .eyebrow,.menu-heading .eyebrow,.page-heading .eyebrow,.list-heading>div>p:last-child,.channel-heading>div>p:last-child,.user-heading>div>p:last-child,.role-heading>div>p:last-child,.menu-heading>div>p:last-child,.page-heading>div>p:last-child{display:none}.list-panel,.channel-panel,.user-panel,.role-panel,.menu-panel,.menu-tree-panel,.menu-detail-panel,.page-panel{display:flex;overflow:hidden;min-height:0;flex:1;flex-direction:column;border:1px solid #e6edf2;border-radius:12px;background:#fff}.menu-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;min-height:0;flex:1}.list-toolbar,.channel-toolbar,.user-toolbar,.role-toolbar,.menu-toolbar,.page-toolbar{display:flex;flex-shrink:0;padding:12px 16px 2px;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 12px;border-bottom:1px solid #edf1f4;background:#f8fafc}.list-toolbar .el-form,.channel-toolbar .el-form,.user-toolbar .el-form,.role-toolbar .el-form,.menu-toolbar .el-form,.page-toolbar .el-form{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}.list-toolbar .el-form-item,.channel-toolbar .el-form-item,.user-toolbar .el-form-item,.role-toolbar .el-form-item,.menu-toolbar .el-form-item,.page-toolbar .el-form-item{margin-right:12px;margin-bottom:10px}.list-toolbar .el-form-item__label,.channel-toolbar .el-form-item__label,.user-toolbar .el-form-item__label,.role-toolbar .el-form-item__label,.menu-toolbar .el-form-item__label,.page-toolbar .el-form-item__label{color:#486581;font-weight:650}.page-toolbar .el-date-editor.el-input__wrapper,.page-toolbar .el-date-editor.el-range-editor{height:32px;box-shadow:0 0 0 1px #d7e0e8 inset}.page-toolbar .el-date-editor.el-range-editor:hover,.page-toolbar .el-date-editor.el-range-editor.is-active{box-shadow:0 0 0 1px var(--primary) inset}.record-count{display:none}.list-panel>.el-table,.channel-panel>.el-table,.user-panel>.el-table,.role-panel>.el-table,.menu-panel>.el-table,.menu-detail-panel>.el-table,.page-panel>.el-table{--el-table-header-bg-color: #f3f6fa;--el-table-header-text-color: #486581;--el-table-text-color: #334e68;--el-table-row-hover-bg-color: rgb(var(--primary-rgb) / 6%);--el-table-border-color: #eef2f6;--el-table-bg-color: #fff;--el-table-fixed-right-column: inset -10px 0 8px -8px rgb(16 42 67 / 20%);flex:1;min-height:0;background:#f8fafc;font-size:13px}.list-panel .el-table th.el-table__cell,.channel-panel .el-table th.el-table__cell,.user-panel .el-table th.el-table__cell,.role-panel .el-table th.el-table__cell,.menu-panel .el-table th.el-table__cell,.menu-detail-panel .el-table th.el-table__cell,.page-panel .el-table th.el-table__cell{height:44px;padding:8px 16px;color:#486581;font-size:12px;font-weight:700;letter-spacing:.02em}.list-panel .el-table td.el-table__cell,.channel-panel .el-table td.el-table__cell,.user-panel .el-table td.el-table__cell,.role-panel .el-table td.el-table__cell,.menu-panel .el-table td.el-table__cell,.menu-detail-panel .el-table td.el-table__cell,.page-panel .el-table td.el-table__cell{height:52px;padding:10px 16px}:is(.list-panel,.channel-panel,.user-panel,.role-panel,.menu-panel,.menu-detail-panel,.page-panel) .el-table :is(th,td).el-table__cell:last-child:not(.el-table-fixed-column--right){padding-right:28px}.el-table :is(th,td).el-table-fixed-column--right{padding-inline:16px}.el-table .el-table__body-wrapper tr td.el-table-fixed-column--right>.cell,.el-table .el-table__header-wrapper tr th.el-table-fixed-column--right>.cell{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;padding-inline:0}.el-table .el-table__body-wrapper tr td.el-table-fixed-column--right{z-index:calc(var(--el-table-index, 1) + 3)!important;background:#fff!important}.el-table .el-table__header-wrapper tr th.el-table-fixed-column--right{z-index:calc(var(--el-table-index, 1) + 4)!important;background:#f3f6fa!important}.el-table :is(th,td).el-table-fixed-column--right.is-first-column{border-left:1px solid var(--el-table-border-color, #eef2f6)}.list-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.channel-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.user-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.role-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.menu-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.menu-detail-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.page-panel .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fbfcfe}.el-table.el-table--striped .el-table__body-wrapper tr.el-table__row--striped td.el-table-fixed-column--right{background:#fbfcfe!important}.el-table .el-table__body-wrapper tr td:not(.el-table-fixed-column--right)>.cell{min-width:0;overflow:hidden}.el-table .el-table__body-wrapper tr:hover>td.el-table-fixed-column--right,.el-table .el-table__body-wrapper tr.hover-row>td.el-table-fixed-column--right{background:#f0f8ff!important}.list-panel .el-table__body tr td:first-child,.channel-panel .el-table__body tr td:first-child,.user-panel .el-table__body tr td:first-child,.role-panel .el-table__body tr td:first-child,.menu-panel .el-table__body tr td:first-child,.menu-detail-panel .el-table__body tr td:first-child,.page-panel .el-table__body tr td:first-child{color:var(--ink);font-weight:650}.el-table .el-table__cell.is-datetime .cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table .el-table__cell .cell:has(.table-actions){overflow:visible}.table-actions{display:inline-flex;vertical-align:middle}.table-actions-trigger{display:inline-flex;width:max-content;height:28px;padding:0 12px;align-items:center;justify-content:center;gap:4px;border:1px solid rgb(var(--primary-rgb) / 28%);border-radius:8px;background:#fff;color:var(--primary);font:inherit;font-size:13px;font-weight:650;line-height:1;white-space:nowrap;cursor:pointer}.table-actions-trigger span,.table-actions-trigger .el-icon{flex-shrink:0}.table-actions-trigger .table-actions-caret{width:12px;height:12px;color:rgb(var(--primary-rgb) / 70%);transition:transform .18s ease}.table-actions-trigger:hover{border-color:rgb(var(--primary-rgb) / 45%);background:var(--primary-soft)}.el-tooltip__trigger[aria-expanded=true] .table-actions-trigger{background:var(--primary);color:#fff}.el-tooltip__trigger[aria-expanded=true] .table-actions-caret{color:#fff;transform:rotate(180deg)}.table-actions-popper.el-popper{padding:0;border:0;border-radius:12px;box-shadow:0 12px 32px #102a4324}.table-actions-popper .el-popper__arrow{display:none}.table-actions-menu.el-dropdown-menu{min-width:124px;padding:8px;border:0;border-radius:12px}.table-actions-menu .el-dropdown-menu__item{padding:8px 12px;border-radius:8px;color:#334e68;font-size:13px;font-weight:650;line-height:20px}.table-actions-menu .el-dropdown-menu__item:not(.is-disabled):hover{background:var(--primary-soft);color:var(--primary-dark)}.table-actions-menu .el-dropdown-menu__item--divided{margin-top:6px;border-top:1px solid #edf1f4;color:#e11d48}.table-actions-menu .el-dropdown-menu__item--divided:not(.is-disabled):hover{background:#fff1f2;color:#be123c}.el-tag{height:24px;padding:0 10px;border-radius:999px;font-weight:650}.el-tag.el-tag--success{--el-tag-bg-color: var(--primary-soft);--el-tag-border-color: rgb(var(--primary-rgb) / 22%);--el-tag-text-color: var(--primary-dark);--el-tag-hover-color: var(--primary);background-color:var(--primary-soft);border-color:rgb(var(--primary-rgb) / 22%);color:var(--primary-dark)}.el-tag.el-tag--info{--el-tag-bg-color: #f2f5f8;--el-tag-border-color: #d7e0e8;--el-tag-text-color: #627d98;background-color:#f2f5f8;border-color:#d7e0e8;color:#627d98}.el-message{overflow:hidden;min-width:280px;padding:12px 16px 14px;left:auto!important;right:24px;margin-top:52px;border-radius:12px;box-shadow:0 14px 36px #102a431f;transform:none}.el-message.el-message-fade-enter-from,.el-message.el-message-fade-leave-to{opacity:0;transform:translate(16px)}.el-message:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--primary);transform-origin:left;animation:message-progress 3s linear forwards;content:""}.el-message--success{--el-message-bg-color: var(--primary-soft);--el-message-border-color: rgb(var(--primary-rgb) / 22%);--el-message-text-color: var(--primary-dark);background-color:var(--primary-soft);border-color:rgb(var(--primary-rgb) / 22%)}.el-message--success .el-message__icon,.el-message--success .el-message__content,.el-message--success .el-message-icon--success{color:var(--primary-dark)}.el-message--error:after{background:var(--el-color-danger)}.el-message--warning:after{background:var(--el-color-warning)}@keyframes message-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination{display:flex;flex-shrink:0;margin-top:auto;padding:12px 16px;justify-content:flex-end;flex-wrap:wrap;gap:8px;border-top:1px solid #edf1f4;background:#f7f9fb}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination{--el-pagination-button-width: 32px;--el-pagination-button-height: 32px;--el-pagination-button-bg-color: #fff;--el-pagination-hover-color: var(--primary);align-items:center;flex-wrap:wrap;gap:8px}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination__total{display:inline-flex;height:32px;margin:0 4px 0 0;padding:0 12px;align-items:center;border:1px solid #d7e3ee;border-radius:8px;background:#fff;color:#486581;font-size:13px;font-weight:650;white-space:nowrap}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination__sizes{margin:0 8px 0 0}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination__sizes .el-select{width:118px}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination__sizes .el-select__wrapper{min-height:32px;padding:4px 10px;border:1px solid #d7e3ee;border-radius:8px;background:#fff;box-shadow:none;font-size:13px;font-weight:650;color:#334e68}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination__sizes .el-select__wrapper.is-focused,:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pagination__sizes .el-select__wrapper:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pager li,:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .btn-prev,:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .btn-next{min-width:32px;border:1px solid #e2e9ee;border-radius:6px;background:#fff}:is(.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination) .el-pager li.is-active{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:700}.welcome-section{display:flex;padding:34px 38px;align-items:center;justify-content:space-between;gap:32px;border-radius:18px;background:radial-gradient(circle at 90% 20%,rgb(var(--primary-rgb) / 14%),transparent 25%),#fff;box-shadow:0 14px 36px #2643590f}.welcome-section h1{margin:0 0 10px;color:var(--ink);font-size:30px;letter-spacing:-.035em}.welcome-section>div>p:last-child{margin:0;color:var(--muted);line-height:1.7}.welcome-role{display:grid;min-width:190px;padding:18px 20px;grid-template-columns:28px 1fr;gap:2px 8px;border:1px solid #dce8ed;border-radius:12px;background:#f7fbfb}.welcome-role .el-icon{grid-row:1 / 3;align-self:center;color:var(--primary);font-size:23px}.welcome-role span{color:#829ab1;font-size:10px}.welcome-role strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.capability-grid{display:grid;margin-top:22px;grid-template-columns:repeat(3,1fr);gap:18px}.capability-card{position:relative;padding:26px;border:1px solid #e2e9ee;border-radius:16px;background:#fff}.capability-card h2{margin:20px 0 8px;font-size:17px}.capability-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.capability-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;font-size:20px}.capability-icon-green{background:var(--primary-soft);color:var(--primary-dark)}.capability-icon-blue{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary-dark)}.capability-icon-amber{background:#fff1d6;color:#a86400}.status-pill{position:absolute;top:28px;right:24px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}.status-pill-green{background:var(--primary-soft);color:var(--primary-dark)}.status-pill-blue{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary-dark)}.status-pill-amber{background:#fff4df;color:#a86400}.next-step-card{display:grid;margin-top:22px;padding:32px 36px;grid-template-columns:64px minmax(0,1fr) minmax(220px,.45fr);align-items:start;gap:28px;border-radius:16px;background:var(--navy);color:#fff}.step-number{color:color-mix(in srgb,var(--primary) 55%,#fff);font-size:34px;font-weight:300}.next-step-card .eyebrow{color:color-mix(in srgb,var(--primary) 55%,#fff)}.next-step-card h2{margin:0 0 10px;font-size:22px}.next-step-card p{margin:0;color:#9eb6c8;font-size:13px;line-height:1.8}.step-criteria{padding-left:28px;border-left:1px solid rgb(255 255 255 / 12%)}.step-criteria>span{color:#6e91aa;font-size:10px;letter-spacing:.1em}.step-criteria ul{display:grid;margin:10px 0 0;padding:0;gap:8px;color:#c2d2de;font-size:12px;list-style:none}.step-criteria li:before{margin-right:8px;color:color-mix(in srgb,var(--primary) 55%,#fff);content:""}@media (max-width: 1100px){.login-page{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100dvh;padding:32px 24px;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(32px,env(safe-area-inset-bottom))}.login-heading h2{font-size:clamp(28px,6vw,36px)}.mobile-brand-mark{display:inline-grid;width:42px;height:42px;margin-bottom:28px;place-items:center;border-radius:13px;background:var(--navy);color:#fff;font-size:13px;font-weight:800}.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-sidebar{padding:20px 12px 16px}.sidebar-brand{padding-inline:4px}.capability-grid{grid-template-columns:1fr}.next-step-card{grid-template-columns:48px 1fr}.step-criteria{grid-column:2;padding:18px 0 0;border-top:1px solid rgb(255 255 255 / 12%);border-left:0}}@media (max-width: 900px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar-mask{position:fixed;z-index:20;inset:0;border:0;background:#102a4366}.app-shell.is-sidebar-open .sidebar-mask{display:block}.app-sidebar{position:fixed;z-index:21;top:0;left:0;width:min(250px,86vw);height:100vh;transform:translate(-100%);transition:transform .2s ease}.app-shell.is-sidebar-open .app-sidebar{transform:translate(0)}}@media (max-width: 640px){.login-panel{padding:20px 16px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.login-card{width:100%}.login-heading{margin-bottom:28px}.app-header{height:64px;padding:0 18px}.nav-tabs{padding:8px 16px}.user-meta{display:none}.page-content{padding:16px}.list-heading,.channel-heading,.user-heading,.role-heading,.menu-heading,.page-heading{align-items:stretch;flex-direction:column}.list-pagination,.channel-pagination,.user-pagination,.role-pagination,.page-pagination{overflow-x:auto;justify-content:flex-start}.welcome-section{padding:26px 22px;align-items:stretch;flex-direction:column}.welcome-section h1{font-size:25px}.next-step-card{padding:26px 22px;grid-template-columns:1fr}.step-number{font-size:26px}.step-criteria{grid-column:1}}.profile-dialog.el-dialog{overflow:hidden;border-radius:16px}.profile-dialog .el-dialog__header{margin:0;padding:20px 24px 0}.profile-dialog .el-dialog__body{padding:8px 24px}.profile-dialog-title{display:grid;gap:4px}.profile-dialog-title strong{color:var(--ink);font-size:18px}.profile-dialog-title span{color:var(--muted);font-size:12px}.profile-layout{display:grid;grid-template-columns:188px minmax(0,1fr);gap:24px;min-height:280px}.profile-aside{display:grid;padding:22px 16px 20px;align-content:start;justify-items:center;gap:8px;border-radius:14px;background:linear-gradient(180deg,rgb(var(--primary-rgb) / 12%),rgb(var(--primary-rgb) / 4%) 42%,#fff 42%);text-align:center}.profile-avatar-upload{margin-bottom:6px}.profile-avatar{position:relative;overflow:hidden;width:88px;height:88px;border:3px solid #fff;border-radius:50%;background:var(--primary-soft);box-shadow:0 8px 20px #102a431a;color:var(--primary-dark);font-size:32px;font-weight:800;line-height:82px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar em{position:absolute;right:0;bottom:0;left:0;display:flex;height:26px;align-items:center;justify-content:center;gap:4px;background:#102a439e;color:#fff;font-size:11px;font-style:normal}.profile-aside strong{color:var(--ink);font-size:16px}.profile-aside small,.profile-aside span{color:var(--muted);font-size:12px}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.profile-password{max-width:420px;margin:8px auto 0}.user-avatar{overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}@media (max-width: 640px){.profile-layout,.profile-form-grid{grid-template-columns:1fr}}
