:root{--side-width:256px;--side-collapse-width:65px;--nav-height:60px;--tabs-height:55px;--logo-height:75px;--content-padding:20px;--theme-color:#409eff;--menu-bg:#21252b;--bg-page:#f5f7fa;--border:#e4e7ed;color:#303133;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{background:var(--bg-page);min-width:320px}button{font:inherit}.admin-layout{background:var(--bg-page);min-height:100vh}.admin-aside{z-index:30;width:var(--side-width);background:var(--menu-bg);transition:width .18s,transform .22s;position:fixed;inset:0 auto 0 0;box-shadow:2px 0 6px #00152959}.is-collapsed .admin-aside{width:var(--side-collapse-width)}.brand{height:var(--logo-height);color:#fff;border-bottom:1px solid #ffffff12;justify-content:center;align-items:center;gap:12px;padding:0 18px;display:flex;overflow:hidden}.brand-mark{background:#fff;border-radius:8px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden;box-shadow:0 1px 4px #0000003d}.brand-mark img{transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.2)}.brand-name{white-space:nowrap;font-size:18px;font-weight:700}.is-collapsed .brand{padding:0 16px}.is-collapsed .brand-name{display:none}.side-scroll{height:calc(100vh - var(--logo-height))}.admin-aside .el-menu{border-right:0}.admin-aside .el-menu-item{border-radius:4px;height:50px;margin:4px 10px;line-height:50px}.admin-aside .el-menu-item.is-active{background:var(--theme-color)}.admin-main{min-height:100vh;padding-left:var(--side-width);transition:padding-left .18s}.is-collapsed .admin-main{padding-left:var(--side-collapse-width)}.admin-header{z-index:20;height:var(--nav-height);-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#fffc;border-bottom:1px solid #ffffff4d;align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,inset 0 1px #fff9}.icon-button{color:#606266;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.icon-button:hover{color:var(--theme-color);background:#ecf5ff}.menu-toggle{display:none}.breadcrumb{color:#909399;align-items:center;gap:8px;min-width:150px;font-size:13px;display:flex}.breadcrumb strong{color:#303133;font-weight:600}.header-search{color:#a8abb2;background:#f6f8fb;border:1px solid #edf0f5;border-radius:4px;align-items:center;gap:8px;width:min(360px,32vw);height:34px;margin-left:auto;padding:0 12px;font-size:13px;display:flex}.user-entry{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.avatar{color:#fff;background:var(--theme-color);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.user-copy{text-align:left;line-height:1.2;display:grid}.user-copy strong{font-size:13px}.user-copy small{color:#909399;font-size:12px}.admin-tabs{top:var(--nav-height);z-index:19;height:var(--tabs-height);border-bottom:1px solid var(--border);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px 20px 0;display:grid;position:sticky}.admin-tabs .el-tabs{min-width:0}.admin-tabs .el-tabs__header{border-bottom:0;margin:0}.admin-tabs .el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid var(--border);border-radius:3px 3px 0 0;height:34px;line-height:34px}.tab-icon{margin-right:4px}.tabs-more{align-items:center;height:34px;margin-left:16px;display:flex}.tabs-more-button{color:#606266;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;height:32px;padding:0 8px;display:inline-flex}.tabs-more-button:hover{color:var(--theme-color)}.admin-tabs .el-tabs__nav-next,.admin-tabs .el-tabs__nav-prev{line-height:34px}.admin-content{min-height:calc(100vh - var(--nav-height) - var(--tabs-height));padding:var(--content-padding)}.admin-content>section,.crud-page,.toolbar-card,.table-card,.table-card .el-card__body,.table-card .el-table,.toolbar-card .el-form,.table-card .el-form{width:100%}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-header h1{margin:0 0 6px;font-size:22px;font-weight:700;line-height:1.25}.page-header p{color:#909399;margin:0;font-size:13px}.toolbar-card,.table-card,.metric-card{border-radius:4px}.toolbar-card{margin-bottom:12px}.toolbar-form{flex-wrap:wrap;gap:12px;display:flex}.toolbar-form .el-input,.toolbar-form .el-select{width:190px}.table-actions{justify-content:flex-end;margin-top:14px;display:flex}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.metric-card strong{color:#909399;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.metric-card span{font-size:24px;font-weight:700}.json-view{color:#d8dee9;white-space:pre-wrap;background:#242933;border-radius:4px;max-height:360px;padding:12px;font-size:12px;line-height:1.65;overflow:auto}.login-page{background:linear-gradient(135deg,#eef5ff 0%,#f7f9fc 48%,#eff9f4 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border-radius:6px;width:min(420px,100%)}.login-title{text-align:center;justify-items:center;margin-bottom:24px;display:grid}.login-logo{background:#fff;border:1px solid #ebeef5;border-radius:8px;place-items:center;width:80px;height:80px;margin-bottom:16px;display:grid;overflow:hidden;box-shadow:0 6px 18px #1f2d3d1a}.login-logo img{transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.2)}.login-title h1{margin:0 0 8px;font-size:26px}.login-title p{color:#909399;margin:0}.mobile-mask{display:none}@media (width<=960px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-search{display:none}}@media (width<=768px){.admin-aside,.is-collapsed .admin-aside{width:var(--side-width);transform:translate(-100%)}.is-mobile-open .admin-aside{transform:translate(0)}.is-mobile-open .mobile-mask{z-index:25;background:#0000006b;display:block;position:fixed;inset:0}.admin-main,.is-collapsed .admin-main{padding-left:0}.collapse-toggle{display:none}.menu-toggle{display:inline-grid}.admin-header{padding:0 12px}.breadcrumb{min-width:auto}.user-copy{display:none}.admin-content{padding:14px}.page-header{display:block}.status-grid{grid-template-columns:1fr}.toolbar-form .el-input,.toolbar-form .el-select{width:100%}}
