:root{color-scheme:light;font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,sans-serif;background:#f5f7fa;color:#303133;line-height:1.5;font-weight:400;--geek-primary: #409eff;--geek-primary-dark: #2f7de1;--geek-success: #67c23a;--geek-danger: #f56c6c;--geek-warning: #e6a23c;--geek-text: #303133;--geek-text-regular: #606266;--geek-text-secondary: #909399;--geek-border: #ebeef5;--geek-border-dark: #dcdfe6;--geek-bg: #f5f7fa;--geek-card: #ffffff;--geek-sidebar: #191a23;--geek-sidebar-light: #20222d;--geek-shadow: 0 1px 4px rgba(0, 21, 41, .08);--geek-radius: 6px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--geek-bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{transition:.18s ease}code{font-family:SFMono-Regular,Consolas,monospace}#app{min-height:100vh}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:radial-gradient(circle at 92% 8%,rgba(64,158,255,.09),transparent 26%),linear-gradient(180deg,#f6f8fb,#eef2f7)}.admin-layout--collapse{grid-template-columns:82px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:0 12px 18px;background:linear-gradient(180deg,var(--geek-sidebar) 0%,#12131a 100%);color:#cfd3dc;box-shadow:2px 0 8px #0015292e}.admin-logo{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;height:58px;margin:0 -12px 10px;padding:0 16px;background:#12131af5;color:#fff;border-bottom:1px solid rgba(255,255,255,.06)}.admin-logo__mark{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:9px;background:linear-gradient(135deg,#409eff,#36cfc9);font-size:12px;font-weight:800;letter-spacing:.04em}.admin-logo__text{display:flex;min-width:0;flex-direction:column;line-height:1.1}.admin-logo__text strong{font-size:16px;letter-spacing:.02em}.admin-logo__text small{margin-top:4px;color:#8c95a6;font-size:11px}.admin-nav{display:flex;flex-direction:column;gap:12px}.admin-nav__group{display:flex;flex-direction:column;gap:4px}.admin-nav__title{margin:10px 10px 6px;color:#7f8797;font-size:12px}.admin-nav__item{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:var(--geek-radius);color:#cfd3dc;font-size:14px}.admin-nav__item:hover{background:var(--geek-sidebar-light);color:#fff}.admin-nav__item--active{background:var(--geek-primary);color:#fff;box-shadow:0 8px 20px #409eff47}.admin-nav__icon{display:inline-flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#ffffff14;font-size:11px;font-weight:700}.admin-layout--collapse .admin-logo{justify-content:center;padding:0}.admin-layout--collapse .admin-logo__text,.admin-layout--collapse .admin-nav__title,.admin-layout--collapse .admin-nav__label{display:none}.admin-layout--collapse .admin-nav__item{justify-content:center;padding:0}.admin-main{min-width:0;padding:0}.admin-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 24px;border-bottom:1px solid var(--geek-border);background:#ffffffeb;box-shadow:var(--geek-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-topbar__left,.admin-topbar__right,.page-actions,.toolbar-fields,.section-action-bar,.table-actions{display:flex;align-items:center;gap:12px}.admin-topbar h1{margin:2px 0 0;color:var(--geek-text);font-size:18px;font-weight:700}.admin-breadcrumb{display:flex;align-items:center;gap:7px;color:var(--geek-text-secondary);font-size:12px}.admin-breadcrumb strong{color:var(--geek-text-regular);font-weight:500}.admin-collapse,.admin-logout,.page-header button,.login-form button{border:1px solid var(--geek-primary);border-radius:var(--geek-radius);padding:9px 15px;background:var(--geek-primary);color:#fff;cursor:pointer;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px;border:1px solid var(--geek-primary);border-radius:var(--geek-radius);padding:9px 15px;background:var(--geek-primary);color:#fff;cursor:pointer;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap}.btn .el-icon{font-size:14px}.icon-rotate-180{transform:rotate(180deg)}.btn:hover{border-color:var(--geek-primary-dark);background:var(--geek-primary-dark)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn--default{border-color:var(--geek-border-dark);background:#fff;color:var(--geek-text-regular)}.btn--default:hover{border-color:var(--geek-primary);background:#ecf5ff;color:var(--geek-primary)}.btn--primary{border-color:var(--geek-primary);background:var(--geek-primary);color:#fff}.btn--danger{border-color:var(--geek-danger);background:var(--geek-danger);color:#fff}.btn--danger:hover{border-color:#dd4f4f;background:#dd4f4f}.btn--small{min-width:0;padding:7px 12px;font-size:13px}.btn--tab{border-color:var(--geek-border-dark);background:#fff;color:var(--geek-text-regular)}.btn--tab:hover{border-color:var(--geek-primary);background:#ecf5ff;color:var(--geek-primary)}.btn--tab-active{border-color:var(--geek-primary);background:#ecf5ff;color:var(--geek-primary);box-shadow:inset 0 0 0 1px #409eff1a}.admin-collapse{border-color:var(--geek-border-dark);background:#fff;color:var(--geek-text-regular)}.admin-collapse:hover{border-color:var(--geek-primary);color:var(--geek-primary)}.admin-logout:hover,.page-header button:hover,.login-form button:hover{border-color:var(--geek-primary-dark);background:var(--geek-primary-dark)}.admin-topbar button:disabled,.page-header button:disabled,.login-form button:disabled{cursor:not-allowed;opacity:.65}.admin-user{display:flex;align-items:center;gap:10px;color:var(--geek-text)}.admin-user__avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#409eff,#66b1ff);color:#fff;font-weight:800}.admin-user strong,.admin-user small{display:block}.admin-user strong{font-size:14px}.admin-user small{color:var(--geek-text-secondary);font-size:12px}.admin-content{padding:20px 24px 32px}.page-section,.dashboard{display:flex;flex-direction:column;gap:16px}.dashboard__header,.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;min-height:92px;padding:22px 24px;border:1px solid var(--geek-border);border-radius:var(--geek-radius);background:linear-gradient(120deg,rgba(64,158,255,.1),transparent 38%),#fff;box-shadow:var(--geek-shadow)}.dashboard__header h1,.page-header h1{margin:0;color:var(--geek-text);font-size:24px;line-height:1.25}.dashboard__header p,.page-header p{margin:8px 0 0;color:var(--geek-text-regular)}.dashboard__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dashboard-card,.dashboard-panel,.toolbar-card,.status-box,.table-card{border:1px solid var(--geek-border);border-radius:var(--geek-radius);background:var(--geek-card);box-shadow:var(--geek-shadow)}.dashboard-card{position:relative;overflow:hidden;padding:22px}.dashboard-card:after{position:absolute;top:-32px;right:-26px;width:96px;height:96px;border-radius:50%;background:#409eff1a;content:""}.dashboard-card__label{display:inline-flex;margin-bottom:14px;padding:4px 8px;border-radius:999px;background:#ecf5ff;color:var(--geek-primary);font-size:12px;font-weight:700}.dashboard-card h2,.dashboard-panel h2{margin:0 0 10px;color:var(--geek-text);font-size:18px}.dashboard-card p,.dashboard-panel p{margin:0 0 12px;color:var(--geek-text-regular)}.dashboard-card code{color:var(--geek-primary);font-size:13px}.dashboard-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.dashboard-panel{padding:22px}.dashboard-panel--accent{background:linear-gradient(135deg,#409eff21,#36cfc914),#fff}.dashboard-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-panel__header span{padding:4px 10px;border-radius:999px;background:#f0f9eb;color:var(--geek-success);font-size:12px;font-weight:700}.stage-list{display:grid;gap:10px}.stage-list p{margin:0;padding:12px 14px;border-left:3px solid var(--geek-primary);border-radius:var(--geek-radius);background:#f7fbff}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 18% 16%,rgba(64,158,255,.2),transparent 28%),radial-gradient(circle at 88% 82%,rgba(54,207,201,.16),transparent 30%),linear-gradient(135deg,#f8fbff,#eef3f8)}.login-panel{display:grid;grid-template-columns:1fr 380px;gap:56px;width:min(940px,100%);padding:48px;border:1px solid rgba(255,255,255,.75);border-radius:18px;background:#ffffffeb;box-shadow:0 24px 72px #0015291f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-eyebrow{margin:0 0 12px;color:var(--geek-primary);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-panel h1{margin:0;color:var(--geek-text);font-size:40px}.login-desc{color:var(--geek-text-regular)}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label,.form-grid label{display:flex;flex-direction:column;gap:8px;color:var(--geek-text);font-weight:600}.login-form>input,.login-form input:not([class]),.toolbar-fields>input,.toolbar-fields>select,.form-grid>input,.form-grid>select,.form-grid label>input,.form-grid label>select,.content-textarea{width:100%;border:1px solid var(--geek-border-dark);border-radius:var(--geek-radius);padding:10px 12px;background:#fff;color:var(--geek-text);outline:none;transition:.18s ease}.login-form>input:focus,.login-form input:not([class]):focus,.toolbar-fields>input:focus,.toolbar-fields>select:focus,.form-grid>input:focus,.form-grid>select:focus,.form-grid label>input:focus,.form-grid label>select:focus,.content-textarea:focus{border-color:var(--geek-primary);box-shadow:0 0 0 2px #409eff1f}.form-error{margin:0;color:var(--geek-danger)}.form-success{margin:0;color:var(--geek-success)}.toolbar-card{padding:16px}.page-tabs{border:1px solid var(--geek-border);border-radius:var(--geek-radius);padding:0 16px;background:#fff;box-shadow:var(--geek-shadow)}.page-tabs .el-tabs__header{margin:0}.page-tabs .el-tabs__nav-wrap:after{display:none}.toolbar-fields>input,.toolbar-fields>select{min-width:180px}.status-box{padding:20px}.table-card{overflow:auto}.table-card.el-card{border:1px solid var(--geek-border)}.table-card .el-card__body{padding:18px}.table-card .el-table{margin-top:12px}.site-page-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}.detail-stack{display:flex;flex-direction:column;gap:16px}.detail-list{display:grid;gap:10px;padding:18px;color:var(--geek-text-regular)}.row-active{background:#ecf5ff}.section-action-bar{justify-content:space-between;padding:0}.section-action-bar h2{margin:0}.form-grid .el-form-item{margin-bottom:0}.form-grid .el-input,.form-grid .el-select,.form-grid .el-input-number,.form-grid .el-date-editor{width:100%}.toolbar-fields .el-form-item{margin-bottom:0}.checkbox-grid .el-checkbox{margin-right:0}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px 14px;border-bottom:1px solid var(--geek-border);text-align:left;white-space:nowrap}th{background:#fafafa;color:var(--geek-text-regular);font-size:13px;font-weight:700}td{color:var(--geek-text);font-size:14px}tr:hover td{background:#f5f7fa}.danger-button{border-color:var(--geek-danger)!important;background:var(--geek-danger)!important}.text-button{border:1px solid var(--geek-border-dark)!important;background:#fff!important;color:var(--geek-text-regular)!important}.text-button:hover{border-color:var(--geek-primary)!important;color:var(--geek-primary)!important}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-footer{margin:0}.modal-footer--spaced{margin-top:28px;padding-top:20px;border-top:1px solid var(--geek-border)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.form-grid__full{grid-column:1 / -1}.checkbox-section{margin-top:22px}.checkbox-section h3,.permission-group h4{margin:0 0 12px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--geek-border);border-radius:var(--geek-radius);background:#fafafa}.permission-groups{display:flex;flex-direction:column;gap:16px}.permission-group{padding:16px;border:1px solid var(--geek-border);border-radius:var(--geek-radius);background:#fff}.content-textarea{min-height:220px;resize:vertical}.json-preview{margin:0;padding:18px;overflow:auto;color:var(--geek-text);font-size:13px;line-height:1.6}.visual-blocks{display:flex;flex-direction:column;gap:14px;padding:18px}.visual-block-card{padding:16px;border:1px solid var(--geek-border);border-radius:var(--geek-radius);background:#fff}.visual-block-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.visual-block-header h3{margin:0}.visual-block-header p{margin:6px 0 0;color:var(--geek-text-secondary)}@media(max-width:1100px){.dashboard__grid,.dashboard-panels,.site-page-grid{grid-template-columns:1fr}}@media(max-width:820px){.admin-layout,.admin-layout--collapse{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;padding-bottom:12px}.admin-layout--collapse .admin-logo__text,.admin-layout--collapse .admin-nav__title,.admin-layout--collapse .admin-nav__label{display:initial}.admin-layout--collapse .admin-nav__item{justify-content:flex-start;padding:0 12px}.admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-topbar{position:relative;height:auto;flex-direction:column;align-items:stretch;padding:16px}.admin-topbar__left,.admin-topbar__right,.dashboard__header,.page-header,.page-actions,.toolbar-fields,.section-action-bar{flex-direction:column;align-items:stretch}.admin-content{padding:16px}.login-panel{grid-template-columns:1fr;gap:28px;padding:28px}.login-panel h1{font-size:32px}.form-grid,.checkbox-grid{grid-template-columns:1fr}}@media(max-width:560px){.admin-nav{grid-template-columns:1fr}.admin-user{align-items:flex-start}}
