:root{color:#1f2937;--el-color-primary:#1e293b;--el-color-primary-dark-2:#0f172a;--el-color-primary-light-3:#334155;--el-color-primary-light-5:#475569;--el-color-primary-light-7:#94a3b8;--el-color-primary-light-8:#cbd5e1;--el-color-primary-light-9:#f1f5f9;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f6;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:#eef2f6;min-width:1180px;margin:0}.admin-auth-shell{background:linear-gradient(#eef2f6 0%,#e2e8f0 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-auth-card{text-align:center;background:#fff;border:1px solid #dbe4f0;border-radius:16px;justify-items:center;gap:14px;width:min(100%,420px);padding:30px 28px;display:grid;box-shadow:0 20px 60px #0f172a14}.admin-auth-card img{object-fit:contain;width:72px;height:72px}.admin-auth-card strong{color:#0f172a;font-size:20px;line-height:1.25}.admin-auth-card span{color:#64748b;font-size:13px;line-height:1.6}.admin-auth-card .el-input,.admin-auth-button{width:100%}.admin-shell{min-height:100vh}.admin-sidebar{color:#fff;background:#111827}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:14px;min-width:0;height:90px;padding:0 16px;display:flex}.brand-logo{object-fit:contain;background:0 0;border-radius:0;flex:0 0 52px;width:52px;height:52px;padding:0}.brand-copy{min-width:0}.brand strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:21px;line-height:1.1;overflow:hidden}.side-menu{background:0 0;border-right:0}.side-menu .el-menu-item{color:#cbd5e1}.side-menu .el-menu-item.is-active,.side-menu .el-menu-item:hover{color:#fff;background:#1f2937}.admin-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex}.admin-header h1{margin:0;font-size:22px}.admin-header p{color:#6b7280;margin:6px 0 0;font-size:13px}.admin-header-actions{align-items:center;gap:10px;display:flex}.current-user-chip{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:2px;min-width:120px;padding:7px 12px;display:grid}.current-user-chip strong{color:#0f172a;font-size:13px;line-height:1.2}.current-user-chip span{color:#64748b;font-size:12px;line-height:1.2}.admin-main{padding:24px}.loading-state{color:#6b7280;background:#fff;border-radius:8px;place-items:center;min-height:360px;display:grid}.users-view{gap:18px;display:grid}.user-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.user-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:6px;min-height:104px;padding:18px;display:grid}.user-summary-card.is-root{background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);border-color:#cbd5e1}.user-summary-card span{color:#64748b;font-size:13px}.user-summary-card strong{color:#0f172a;font-size:22px;line-height:1.2}.user-summary-card em{color:#64748b;font-size:12px;font-style:normal}.users-card{border:1px solid #e5e7eb;border-radius:8px}.users-card .el-card__header{padding:22px 24px}.users-card-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.users-card-title{gap:8px;min-width:0;display:grid}.users-card-title strong{color:#0f172a;font-size:20px;line-height:1.35}.users-card-title span{color:#64748b;font-size:13px;line-height:1.7}.users-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:1px;display:flex}.log-actor-cell{align-items:center;gap:3px;display:grid}.user-form-avatar{color:#1e293b;background:#e2e8f0;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:grid}.users-table{--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f8fafc;--el-table-header-text-color:#475569;--el-table-text-color:#334155}.users-table .el-table__cell{padding-top:13px;padding-bottom:13px}.users-table th.el-table__cell{color:#475569;font-weight:700}.users-table .cell{justify-content:center;align-items:center;display:flex}.user-name-text{color:#0f172a;font-size:14px;font-weight:700}.user-account-text{color:#64748b;font-size:13px;font-weight:600}.table-actions{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.user-form{gap:8px;display:grid}.user-form-identity{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:14px;display:flex}.user-form-identity strong{color:#0f172a;font-size:15px;display:block}.user-form-identity span{color:#64748b;margin-top:3px;font-size:12px;display:block}.form-note{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin-top:2px;padding:10px 12px;font-size:13px}.locked-user-note{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:4px;margin-top:2px;padding:12px 14px;display:grid}.locked-user-note strong{color:#0f172a;font-size:13px}.locked-user-note span{color:#64748b;font-size:12px;line-height:1.6}.el-button--primary{--el-button-bg-color:#1e293b;--el-button-border-color:#334155;--el-button-text-color:#f8fafc;--el-button-hover-text-color:#fff;--el-button-active-text-color:#fff;--el-button-hover-bg-color:#334155;--el-button-hover-border-color:#475569;--el-button-active-bg-color:#0f172a;--el-button-active-border-color:#0f172a;--el-button-disabled-bg-color:#94a3b8;--el-button-disabled-border-color:#94a3b8;--el-button-disabled-text-color:#f8fafc;color:#f8fafc;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-color:#334155;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 2px 4px #0f172a14}.el-button--primary:hover,.el-button--primary:focus{color:#fff;background:linear-gradient(135deg,#334155 0%,#1e293b 100%);border-color:#475569;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a26}.el-button--primary:active{color:#fff;background:#0f172a;border-color:#0f172a;transform:translateY(0);box-shadow:0 1px 2px #0f172a29}.el-button--primary.is-disabled,.el-button--primary.is-disabled:hover,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:active{color:#f8fafc;box-shadow:none;background:#94a3b8;border-color:#94a3b8;transform:none}.el-button--primary .el-icon{color:inherit}.el-button--primary.is-link,.el-button--primary.is-text{color:var(--el-color-primary);box-shadow:none;background:0 0;border-color:#0000;transform:none}.el-button:not(.el-button--primary):not(.el-button--danger):not(.is-link){--el-button-text-color:#1f2937;--el-button-bg-color:#fff;--el-button-border-color:#cbd5e1;--el-button-hover-text-color:#0f172a;--el-button-hover-bg-color:#f8fafc;--el-button-hover-border-color:#94a3b8;--el-button-active-text-color:#0f172a;color:#1f2937}.el-button.is-disabled,.el-button.is-disabled:hover,.el-button.is-disabled:focus{color:#64748b}.el-button--danger.is-plain{--el-button-text-color:#b91c1c;--el-button-hover-text-color:#fff;color:#b91c1c}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-view{gap:14px;display:grid}.metric-card{border-radius:14px;justify-content:space-between;align-items:center;gap:16px;display:flex;overflow:hidden}.metric-card .el-card__body{justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:112px;padding:18px;display:flex}.metric-card-copy{gap:6px;min-width:0;display:grid}.metric-card-copy span{color:#64748b;font-size:13px;font-weight:600}.metric-card-copy strong{color:#0f172a;font-size:30px;line-height:1}.metric-card-copy em{color:#64748b;font-size:12px;font-style:normal}.metric-icon{border-radius:14px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:inline-flex}.metric-blue{color:#2563eb;background:#eff6ff}.metric-violet{color:#6366f1;background:#f5f3ff}.metric-green{color:#10b981;background:#ecfdf5}.metric-amber{color:#f59e0b;background:#fffbeb}.metric-grid .el-icon{color:#2563eb;background:#eff6ff;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:inline-flex}.metric-grid span{color:#6b7280}.metric-grid strong{color:#111827;font-size:30px}.work-card,.upload-card{border-radius:8px;margin-bottom:18px}.work-card .el-card__header{padding:15px 18px}.work-card .el-card__body{padding:18px}.card-header{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.card-header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-panel{border-radius:14px;overflow:hidden}.dashboard-panel .el-card__header{background:#fafcff;border-bottom-color:#edf2f7;padding:14px 18px}.dashboard-panel .el-card__body{padding:0}.dashboard-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-panel-header strong{color:#111827;font-size:16px;line-height:1.2}.dashboard-panel-header span{color:#64748b;font-size:13px;line-height:1.3}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.dashboard-chart-card{flex-direction:column;min-height:282px;display:flex}.dashboard-chart-card .el-card__body{flex:1;min-height:220px;padding:18px}.wide-chart-card{grid-column:auto}.status-chart-body{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.donut-chart{border-radius:50%;flex:0 0 146px;place-items:center;width:146px;height:146px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0f172a0a}.donut-chart:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:18px}.donut-chart>div{z-index:1;text-align:center;gap:6px;display:grid;position:relative}.donut-chart strong{color:#0f172a;font-size:28px;line-height:1}.donut-chart span{color:#64748b;font-size:12px;font-weight:700}.donut-legend{flex:1;gap:12px;min-width:0;display:grid}.legend-row{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:12px minmax(56px,1fr) auto 48px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.2;display:grid}.legend-row strong{color:#0f172a;font-size:14px}.legend-row em{color:#64748b;text-align:right;font-style:normal}.legend-dot{border-radius:999px;width:10px;height:10px}.chart-blue{background:#2563eb}.chart-amber{background:#f59e0b}.chart-green{background:#10b981}.chart-violet{background:#6366f1}.bar-chart-list,.rank-chart-list,.summary-chart-list{gap:12px;display:grid}.bar-chart-row{gap:8px;display:grid}.bar-chart-info{color:#334155;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.bar-chart-info span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bar-chart-info strong{color:#0f172a;flex:none;font-size:13px}.bar-track,.rank-track,.mini-track{background:#e2e8f0;border-radius:999px;overflow:hidden}.bar-track{height:12px}.bar-fill,.rank-fill,.mini-fill{border-radius:inherit;height:100%;transition:width .24s}.bar-fill{background:linear-gradient(90deg,#2563eb,#22c55e);min-width:8px}.rank-chart-row{grid-template-columns:30px minmax(126px,.62fr) minmax(150px,1fr) 58px;align-items:center;gap:10px;display:grid}.rank-index{color:#2563eb;background:#eff6ff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:inline-flex}.rank-copy{gap:3px;min-width:0;display:grid}.rank-copy strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;overflow:hidden}.rank-copy span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.rank-track{height:10px}.rank-fill{background:linear-gradient(90deg,#6366f1,#38bdf8);min-width:8px}.rank-chart-row em{color:#334155;text-align:right;font-size:13px;font-style:normal;font-weight:700}.summary-chart-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:42px minmax(82px,.65fr) minmax(110px,1fr);align-items:center;gap:12px;padding:13px;display:grid}.summary-chart-icon{opacity:.14;border-radius:12px;width:42px;height:42px}.summary-chart-row span{color:#64748b;font-size:12px;font-weight:700;display:block}.summary-chart-row strong{color:#0f172a;margin-top:4px;font-size:24px;line-height:1;display:block}.mini-track{height:8px}.chart-empty-state{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;place-items:center;min-height:180px;font-size:14px;display:grid}.compact-select{flex:0 0 240px;width:240px}.toolbar{align-items:center;gap:12px;display:flex}.toolbar .el-input{width:260px}.category-view{gap:16px;display:grid}.category-page-bar{background:#fff;border:1px solid #edf0f4;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;box-shadow:0 12px 30px #0f172a0a}.category-page-bar>div:first-child{gap:4px;min-width:0;display:grid}.category-page-bar strong{color:#111827;font-size:20px;line-height:1.25}.category-page-bar span{color:#64748b;font-size:13px;line-height:1.5}.category-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.category-workspace{grid-template-columns:minmax(420px,.9fr) minmax(620px,1.25fr);align-items:start;gap:20px;display:grid}.category-list-card,.series-list-card{border-radius:14px;overflow:hidden}.category-list-card .el-card__header,.series-list-card .el-card__header{padding:18px 20px}.category-card-header,.series-card-header,.series-card-header div{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.series-card-header div{justify-content:flex-start}.current-category-tag{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#1f2937;border-radius:999px;align-items:center;max-width:180px;height:26px;padding:0 12px;font-size:12px;font-weight:800;line-height:1;display:inline-flex;overflow:hidden}.category-card-header strong,.series-card-header strong{color:#111827;white-space:nowrap;font-size:16px}.category-card-header span,.series-card-header>span,.series-pager span{color:#8a94a6;white-space:nowrap;font-size:12px}.series-card-header .current-category-tag{color:#fff;font-size:12px}.category-form-inline{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.category-dialog{border-radius:14px}.category-dialog .el-dialog__header{border-bottom:1px solid #edf0f4;padding-bottom:12px}.category-dialog .el-dialog__body{padding-top:20px}.category-dialog-form .el-select,.category-dialog-form .el-input,.category-dialog-form .el-input-number{width:100%}.category-table{--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f7fbff}.category-table .el-tag.el-tag--success{--el-tag-bg-color:#dcfce7;--el-tag-border-color:#bbf7d0;--el-tag-text-color:#166534}.category-table .el-tag.el-tag--info{--el-tag-bg-color:#f1f5f9;--el-tag-border-color:#cbd5e1;--el-tag-text-color:#475569}.category-table .el-table__cell{padding:12px 0}.category-row-name{color:#4b5563;width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:700;display:inline-flex}.category-row-name:before{content:"";background:0 0;border-radius:999px;align-self:stretch;width:4px;min-height:28px}.category-row-name span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.category-row-name.active{color:#111827}.category-row-name.active:before{background:#2563eb}.action-cell-right{justify-content:flex-end}.series-list-card{min-height:560px}.series-pager{background:#fbfcfe;border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.series-page-size{align-items:center;gap:10px;min-width:0;display:flex}.series-page-size .el-select{width:86px}.action-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.table-link{color:#2563eb;max-width:100%;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;overflow:hidden}.table-link:hover{color:#1d4ed8}.table-thumb{aspect-ratio:16/9;object-fit:cover;background:#eef2f6;border:1px solid #e5e7eb;border-radius:6px;width:112px;display:block}.upload-card .el-upload-dragger{padding:42px 20px}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.category-switch{margin-bottom:16px}.admin-pagination{justify-content:flex-end;margin-top:18px}.material-toolbar{grid-template-columns:minmax(260px,1fr) 180px 180px 150px;gap:12px;margin-bottom:16px;display:grid}.material-title{color:#111827;font-weight:600;line-height:1.5}.tag-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.switch-row{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.dialog-footer{justify-content:flex-end;gap:10px;display:flex}.material-dialog{--el-dialog-padding-primary:18px}.material-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.material-form-grid .span-2{grid-column:1/-1}.material-form .el-select,.material-form .el-input,.material-form .el-input-number,.preview-uploader{width:100%}.upload-preview,.banner-preview,.qr-preview{object-fit:cover;border-radius:8px;width:100%;max-width:360px;display:block}.materials-view{gap:16px;display:grid}.material-page-bar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.material-page-bar strong{color:#0f172a;font-size:22px;line-height:1.2;display:block}.material-page-bar span{color:#64748b;font-size:13px;line-height:1.5}.material-page-actions{white-space:nowrap;gap:10px;display:flex}.material-filter-card,.material-table-card{border-radius:14px;overflow:hidden}.material-filter-card .el-card__body{padding:18px 20px}.material-table-card .el-card__body{padding:0}.material-batch-bar{background:#fff7f7;border-bottom:1px solid #fee2e2;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.material-batch-bar strong{color:#991b1b;font-size:14px;line-height:1.35;display:block}.material-batch-bar span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:620px;margin-top:2px;font-size:12px;line-height:1.4;display:block;overflow:hidden}.material-batch-bar .el-button{flex:none}.material-rename-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}.material-rename-grid .el-form-item:first-child,.material-rename-grid .el-form-item:nth-child(2){grid-column:span 3}.material-rename-separator{grid-template-columns:auto minmax(90px,1fr);align-items:center;gap:12px;display:grid}.material-rename-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:14px;overflow:hidden}.material-rename-preview-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.material-rename-preview-head strong{color:#0f172a;font-size:13px}.material-rename-preview-head span{color:#64748b;font-size:12px}.material-rename-preview-list{gap:1px;display:grid}.material-rename-preview-row{background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:14px;padding:9px 12px;display:grid}.material-rename-preview-row span,.material-rename-preview-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-rename-preview-row span{color:#64748b;font-size:12px}.material-rename-preview-row strong{color:#0f172a;font-size:13px}.material-filter-grid{grid-template-columns:minmax(260px,1.2fr) repeat(3,minmax(160px,.8fr)) auto;align-items:center;gap:12px;display:grid}.material-filter-grid .el-input,.material-filter-grid .el-select{width:100%}.material-table{--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f7fbff}.material-table .el-table__cell{padding-top:14px;padding-bottom:14px}.material-table th.el-table__cell{color:#475569;font-weight:700}.material-sort-header{color:#64748b;font-size:17px}.material-drag-handle{color:#475569;cursor:grab;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background-color .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.material-drag-handle:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.material-drag-handle:active,.material-drag-handle.is-dragging{cursor:grabbing;color:#fff;background:#334155;border-color:#334155}.material-drag-handle.is-disabled,.material-drag-handle:disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}.material-table .is-material-dragging-row>.el-table__cell,.category-table .is-category-dragging-row>.el-table__cell{background:#f1f5f9!important}.category-drag-handle{width:32px;height:32px}.material-info-cell{align-items:center;gap:14px;min-width:0;display:flex}.material-thumb{background:#eef2f6;border:1px solid #e2e8f0;border-radius:8px;flex:0 0 108px;width:108px;height:68px;overflow:hidden}.material-info-copy{min-width:0}.material-title{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.4;overflow:hidden}.material-meta{color:#64748b;margin-top:4px;font-size:12px}.material-category-cell{gap:4px;display:grid}.material-category-cell strong{color:#0f172a;font-size:14px;line-height:1.4}.material-category-cell span{color:#64748b;font-size:12px;line-height:1.4}.material-tags,.material-attr-tags{margin-top:8px}.material-muted-pill{color:#64748b;background:#f1f5f9;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.material-pagination{margin:16px 20px 18px}.material-dialog{--el-dialog-padding-primary:18px;border-radius:14px;overflow:hidden}.material-dialog .el-dialog__header{margin-right:0;padding-bottom:0}.material-dialog-header{align-items:center;gap:12px;display:flex}.material-dialog-icon{color:#2563eb;background:#eff6ff;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:inline-flex}.material-dialog-header strong{color:#111827;font-size:17px;line-height:1.2;display:block}.material-dialog-header span{color:#64748b;font-size:12px;line-height:1.5}.material-dialog .el-dialog__body{max-height:min(74vh,760px);padding-top:12px;overflow:auto}.material-form .el-form-item{margin-bottom:18px}.material-form .el-form-item__label{color:#334155;font-weight:700}.material-status-group{width:100%}.material-status-group .el-radio-button__inner{min-width:86px}.material-check-grid{flex-wrap:wrap;align-items:center;gap:10px 18px;min-height:32px;display:flex}.material-check-grid .el-checkbox{margin-right:0}.material-auto-note{color:#64748b;margin:10px 0 0;font-size:12px;line-height:1.5}.material-upload-zone .el-upload{display:block}.material-upload-zone .el-upload-dragger{background:#f8fafc;border-color:#cbd5e1;border-radius:12px;width:100%;padding:30px 18px}.material-upload-zone .el-upload-dragger:hover{border-color:#93c5fd}.material-upload-zone .el-upload-dragger .el-icon--upload{color:#2563eb}.material-upload-zone .el-upload__text{color:#0f172a;font-weight:700}.material-upload-zone .el-upload__tip{color:#64748b}.material-upload-preview{aspect-ratio:16/9;border-radius:10px;width:100%;max-width:none}.material-batch-upload .el-upload-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:12px;display:grid}.material-batch-upload .el-upload-list__item{border-radius:8px;margin:0}.banners-view{display:grid}.banner-workspace{border-radius:14px;overflow:hidden}.banner-workspace .el-card__header{background:#fafcff;border-bottom-color:#edf2f7;padding:16px 20px}.banner-workspace .el-card__body{padding:22px 24px 20px}.banner-header{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.banner-header div{gap:4px;min-width:0;display:grid}.banner-header strong{color:#111827;font-size:16px;line-height:1.2}.banner-header span{color:#6b7280;font-size:12px;line-height:1.4}.banner-body{grid-template-columns:340px minmax(640px,1fr);align-items:start;gap:24px;display:grid}.banner-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.banner-form .el-form-item{margin-bottom:18px}.banner-form .el-form-item:last-child{margin-bottom:0}.banner-form .el-form-item__label{color:#334155;font-weight:700}.banner-form .el-select,.banner-form .el-input{width:100%}.banner-opacity-control{grid-template-columns:116px minmax(0,1fr) 48px;align-items:center;gap:12px;display:grid}.banner-opacity-control .el-input-number{width:116px}.banner-opacity-control span{color:#334155;text-align:right;font-size:13px;font-weight:700}.banner-panel{gap:14px;min-width:0;display:grid}.banner-panel-head{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.banner-panel-head div{gap:4px;min-width:0;display:grid}.banner-panel-head strong{color:#0f172a;font-size:16px;line-height:1.2}.banner-panel-head span{color:#64748b;font-size:12px;line-height:1.4}.banner-uploader,.banner-uploader .el-upload,.banner-uploader .el-upload-dragger{width:100%}.banner-uploader .el-upload-dragger{background:#f8fafc;border-color:#cbd5e1;border-radius:12px;min-height:360px;padding:0;overflow:hidden}.banner-uploader .el-upload-dragger:hover{border-color:#64748b}.banner-uploader .el-upload-dragger .el-icon--upload{color:#2563eb;margin-bottom:10px}.banner-uploader .el-upload-dragger .el-upload__text{color:#0f172a;font-size:14px;font-weight:700}.banner-tip{color:#64748b;margin:0;font-size:12px;line-height:1.6}.banner-image-frame{aspect-ratio:16/9;background:#0f172a;width:100%;min-height:360px;position:relative;overflow:hidden}.banner-image-frame span{z-index:2;color:#fff;opacity:0;background:#0f172ac7;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;transition:opacity .18s;position:absolute;bottom:16px;right:16px}.banner-image-frame:after{content:"";opacity:0;background:linear-gradient(#0000 58%,#0f172a42 100%);transition:opacity .18s;position:absolute;inset:0}.banner-uploader:hover .banner-image-frame span,.banner-uploader:hover .banner-image-frame:after{opacity:1}.banner-preview{object-fit:cover;border-radius:0;width:100%;max-width:none;height:100%;min-height:360px}.banner-empty-uploader{color:#475569;background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);align-content:center;place-items:center;gap:12px;min-height:360px;padding:24px;display:grid}.banner-footer{border-top:1px solid #eef2f7;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;display:flex}.banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.qr-preview{max-width:220px}.settings-view{gap:18px;display:grid}.settings-center{max-width:1360px}.settings-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.settings-main,.settings-side{gap:20px;display:grid}.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 14px 34px #0f172a0f}.settings-card .el-card__header{background:linear-gradient(#fff 0%,#f8fafc 100%);border-bottom-color:#edf2f7;padding:18px 20px}.settings-card .el-card__body{padding:20px}.settings-card-header{gap:4px;display:grid}.settings-card-header-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px}.settings-card-header strong{color:#111827;font-size:16px;line-height:1.2}.settings-card-header span{color:#6b7280;font-size:12px;line-height:1.4}.settings-form .el-form-item{margin-bottom:18px}.settings-form .el-form-item:last-child{margin-bottom:0}.settings-form .el-form-item__label{color:#334155;font-weight:700}.settings-form .el-input,.settings-form .el-select,.settings-form .el-textarea,.settings-form .el-input-number{width:100%}.settings-storage-card{border-color:#dbe4ef}.settings-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.settings-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;display:grid}.settings-domain-grid{align-items:end}.settings-switch-box{background:#f8fafc;border:1px solid #dbe4ef;border-radius:8px;align-items:center;gap:12px;min-height:40px;padding:0 12px;display:flex}.settings-switch-box span{color:#475569;font-size:12px;line-height:1.45}.settings-helper-text{color:#475569;background:#f8fafc;border:1px solid #dbe4f0;border-radius:10px;margin:2px 0 0;padding:12px 14px;font-size:12px;line-height:1.7}.settings-qr-card{flex-direction:column;min-height:100%;display:flex}.settings-qr-card .el-card__body{flex:1}.settings-qr-layout{grid-template-rows:auto auto;gap:14px;height:100%;display:grid}.settings-qr-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:12px;padding:16px;display:grid}.settings-qr-profile{align-items:center;gap:12px;min-width:0;display:flex}.settings-qr-profile strong{color:#0f172a;font-size:15px;line-height:1.2;display:block}.settings-qr-profile span{color:#64748b;font-size:12px}.settings-qr-avatar{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:50%;flex:0 0 38px;width:38px;height:38px}.settings-qr-frame{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;place-items:center;min-height:210px;padding:14px;display:grid}.settings-qr-frame img{border-radius:8px;width:min(188px,100%);display:block}.settings-qr-position{justify-self:center}.settings-qr-empty{color:#64748b;text-align:center;place-items:center;gap:10px;display:grid}.settings-qr-empty .el-icon{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:inline-flex}.settings-qr-note{color:#64748b;margin:0;font-size:12px;line-height:1.5}.settings-qr-actions{gap:12px;display:grid}.settings-qr-dropzone{width:100%}.settings-qr-dropzone .el-upload{display:block}.settings-qr-dropzone .el-upload-dragger{background:#fff;border-color:#cbd5e1;border-radius:12px;width:100%;padding:20px 18px}.settings-qr-dropzone .el-upload__text{color:#0f172a;font-weight:700}.settings-qr-dropzone .el-upload__tip{color:#64748b}.settings-qr-toolbar{justify-content:flex-end;display:flex}.settings-action-bar{border-top:1px solid #dde6f0;justify-content:flex-end;gap:12px;padding:18px 20px 0;display:flex}.settings-action-bar .el-button{min-width:112px}.logs-view{gap:16px;display:grid}.logs-card{background:#fff;border:1px solid #dde6f0;border-radius:14px;overflow:hidden;box-shadow:0 16px 34px #0f172a14}.logs-card .el-card__header{background:linear-gradient(#fff 0%,#f8fafc 100%);border-bottom-color:#e2e8f0;padding:18px 22px}.logs-card .el-card__body{background:#fff;padding:0}.logs-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.logs-header strong{color:#0f172a;font-size:16px;line-height:1.3;display:block}.logs-header span{color:#64748b;font-size:12px;line-height:1.5}.logs-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.log-level-select,.log-keep-select{width:140px}.logs-table{--el-table-bg-color:#fff;--el-table-tr-bg-color:#fff;--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f8fafc;--el-table-border-color:#e2e8f0;--el-table-header-text-color:#475569;--el-table-text-color:#334155;color:#334155}.logs-table .el-table__cell{padding-top:13px;padding-bottom:13px}.logs-table th.el-table__cell{color:#475569;font-weight:700}.logs-table .el-table__body tr{transition:background-color .16s}.logs-table .el-table__body tr:hover{background:#f8fafc}.log-actor-cell,.log-request-cell,.log-target-cell,.log-detail-cell,.log-network-cell,.log-result-cell{min-width:0;display:grid}.log-actor-cell{gap:5px}.log-actor-cell strong{color:#0f172a;font-size:13px;line-height:1.35}.log-actor-cell span{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;width:max-content;max-width:100%;padding:2px 7px;font-size:11px;line-height:1.35}.log-request-cell{gap:7px}.log-module{color:#475569;font-size:12px;line-height:1.3}.log-method{min-width:46px;margin-right:7px;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800;display:inline-flex}.log-method.is-get{color:#0369a1}.log-method.is-post{color:#047857}.log-method.is-put{color:#7c3aed}.log-method.is-delete{color:#dc2626}.log-method.is-other{color:#475569}.log-path{color:#475569;overflow-wrap:anywhere;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:12px}.log-target-cell{gap:5px}.log-target-cell strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px;line-height:1.35}.log-target-cell span{color:#64748b;font-size:12px}.log-detail-cell{gap:5px}.log-detail-cell strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px;line-height:1.35}.log-detail-cell span{color:#475569;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.log-detail-cell em{color:#64748b;overflow-wrap:anywhere;font-size:12px;font-style:normal;line-height:1.45}.log-detail-cell em.is-failed{color:#b91c1c;font-weight:700}.log-network-cell{gap:5px}.log-network-cell strong{color:#334155;overflow-wrap:anywhere;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.4}.log-network-cell span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:11px;line-height:1.45;overflow:hidden}.log-reason-cell{color:#94a3b8;overflow-wrap:anywhere;font-size:13px;line-height:1.45}.log-reason-cell.is-failed{color:#b91c1c;font-weight:600}.log-result-cell{justify-items:center;gap:5px}.log-result-cell .el-tag{border-radius:4px;justify-content:center;min-width:52px;font-weight:700}.log-result-cell span,.log-result-cell small{color:#64748b;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.2}.logs-pagination{margin:16px 20px 18px}.tools-view{gap:16px;display:grid}.tools-card{background:#fff;border:1px solid #dde6f0;border-radius:14px;overflow:hidden;box-shadow:0 16px 34px #0f172a0f}.tools-card .el-card__header{background:linear-gradient(#fff 0%,#f8fafc 100%);border-bottom-color:#e2e8f0;padding:18px 22px}.tools-header,.tools-card-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.tools-card-title{justify-content:stretch;display:grid}.tools-header strong,.tools-card-title strong{color:#0f172a;font-size:16px;line-height:1.3;display:block}.tools-header span,.tools-card-title span{color:#64748b;font-size:12px;line-height:1.5}.tools-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 20px;display:grid}.tools-summary-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:6px;padding:14px 16px;display:grid}.tools-summary-item span{color:#64748b;font-size:12px}.tools-summary-item strong{color:#111827;overflow-wrap:anywhere;min-width:0;font-size:14px}.tools-diagnostic-table{--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f8fafc;--el-table-border-color:#e2e8f0;color:#334155}.tools-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tools-action-card .el-card__body{gap:12px;padding:20px 22px;display:grid}.backup-export-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.backup-export-row span{color:#64748b;font-size:13px}@media (width<=1440px){.category-workspace{grid-template-columns:minmax(380px,.9fr) minmax(520px,1.1fr)}.series-list-card{grid-column:auto}.dashboard-chart-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=1180px){.category-page-bar{flex-direction:column;align-items:stretch}.category-page-actions{justify-content:flex-start}.category-workspace{grid-template-columns:1fr}.series-list-card{grid-column:auto}.series-pager{flex-direction:column;align-items:flex-start}.settings-layout,.settings-grid-2,.settings-grid-3{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-chart-grid,.tools-summary-grid,.tools-action-grid{grid-template-columns:1fr}.wide-chart-card{grid-column:auto}.status-chart-body{flex-direction:column;align-items:stretch}.donut-chart{align-self:center}.rank-chart-row{grid-template-columns:28px minmax(0,1fr);row-gap:8px}.rank-copy,.rank-track,.rank-chart-row em{grid-column:2}.rank-track{grid-column:1/-1}.summary-chart-row{grid-template-columns:42px minmax(0,1fr)}}@media (width<=760px){.dashboard-chart-card .el-card__body{padding:16px}.legend-row,.summary-chart-row{grid-template-columns:12px minmax(0,1fr);row-gap:8px}.legend-row strong,.legend-row em,.summary-chart-row strong,.rank-chart-row em{text-align:left;grid-column:2}.rank-track,.mini-track{grid-column:1/-1}}
