.side-nav__group[data-v-3a07f04b]{display:grid;gap:8px}.side-nav__title[data-v-3a07f04b]{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.side-nav__link[data-v-3a07f04b]{display:block;padding-block:10px;padding-inline-end:12px;border-radius:0;color:var(--text-secondary);transition:background-color .18s ease,color .18s ease}.side-nav__link[data-v-3a07f04b]:hover,.side-nav__link--active[data-v-3a07f04b]{background:#409eff1a;color:var(--primary)}.auth-shell[data-v-4a2110d3]{min-height:100dvh}.admin-shell[data-v-4a2110d3]{display:flex;min-height:100dvh;background:var(--app-bg)}.admin-shell__sidebar[data-v-4a2110d3]{position:sticky;top:0;width:248px;height:100dvh;flex:0 0 248px;display:grid;align-content:start;gap:20px;padding:20px 16px;border-right:1px solid var(--border-light);background:#fff;overflow-y:auto}.brand--sidebar[data-v-4a2110d3]{padding:4px 8px}.admin-shell__main[data-v-4a2110d3]{min-width:0;flex:1;display:grid;grid-template-rows:auto 1fr;min-height:100dvh}.admin-topbar[data-v-4a2110d3]{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(220px,280px) minmax(420px,680px) auto;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border-light);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-topbar__intro[data-v-4a2110d3]{min-width:0}.admin-topbar__eyebrow[data-v-4a2110d3]{font-size:12px;color:var(--primary);letter-spacing:.08em;text-transform:uppercase}.admin-topbar__title[data-v-4a2110d3]{margin-top:4px;font-size:22px;font-weight:600}.admin-topbar__breadcrumb[data-v-4a2110d3]{margin-top:6px;font-size:13px;color:var(--muted)}.topbar-notice[data-v-4a2110d3]{min-width:0;max-width:680px;justify-self:center;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta dots" "title dots" "content dots";align-items:start;gap:4px 12px;padding:10px 16px;border:1px solid rgba(20,54,42,.12);background:linear-gradient(135deg,#fffffffa,#f7fbfffa);color:inherit;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.topbar-notice[data-v-4a2110d3]:hover{border-color:#409eff3d;box-shadow:0 8px 18px #1f3f7814;transform:translateY(-1px)}.topbar-notice__meta[data-v-4a2110d3]{grid-area:meta;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-notice__label[data-v-4a2110d3]{color:var(--primary);font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.topbar-notice__belt[data-v-4a2110d3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topbar-notice__pin[data-v-4a2110d3],.topbar-notice__date[data-v-4a2110d3]{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;font-size:12px;white-space:nowrap}.topbar-notice__pin[data-v-4a2110d3]{background:#c245391a;color:#b64235}.topbar-notice__date[data-v-4a2110d3]{background:#2e705214;color:var(--primary)}.topbar-notice__title[data-v-4a2110d3],.topbar-notice__content[data-v-4a2110d3]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar-notice__title[data-v-4a2110d3]{grid-area:title;font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.topbar-notice__content[data-v-4a2110d3]{grid-area:content;color:#30313399;font-size:13px;line-height:1.5}.topbar-notice__dots[data-v-4a2110d3]{grid-area:dots;display:flex;align-items:center;gap:6px;align-self:center}.topbar-notice__dot[data-v-4a2110d3]{width:6px;height:6px;border-radius:999px;background:#14362a2e}.topbar-notice__dot--active[data-v-4a2110d3]{background:var(--primary)}.admin-topbar__actions[data-v-4a2110d3]{grid-column:3;display:flex;align-items:center;gap:12px;justify-self:end}.admin-topbar__user[data-v-4a2110d3]{color:var(--text-secondary);font-size:14px;white-space:nowrap}.topbar__logout[data-v-4a2110d3]{border:0;background:#2e70521a;color:var(--primary);padding:10px 16px;cursor:pointer;white-space:nowrap}.side-nav[data-v-4a2110d3]{display:grid;gap:16px}.page-wrap--admin[data-v-4a2110d3]{width:100%;max-width:none;padding:20px 24px 32px}@media(max-width:1480px){.admin-topbar[data-v-4a2110d3]{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start}.admin-topbar__actions[data-v-4a2110d3]{grid-column:1/-1;justify-self:start}.topbar-notice[data-v-4a2110d3]{max-width:none;grid-template-columns:1fr;grid-template-areas:"meta" "title" "content" "dots"}.topbar-notice__meta[data-v-4a2110d3]{align-items:start;flex-direction:column}.topbar-notice__belt[data-v-4a2110d3]{justify-content:flex-start}}@media(max-width:960px){.admin-shell[data-v-4a2110d3]{display:block}.admin-shell__sidebar[data-v-4a2110d3]{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border-light);overflow:visible}.admin-topbar[data-v-4a2110d3]{grid-template-columns:1fr}.admin-topbar__actions[data-v-4a2110d3]{grid-column:auto}.page-wrap--admin[data-v-4a2110d3]{width:100%;padding:12px 8px 20px}}:root{color-scheme:light;--app-bg: #f0f2f5;--surface: #ffffff;--surface-soft: #fafafa;--surface-muted: #f5f7fa;--border: #dcdfe6;--border-light: #ebeef5;--text: #303133;--text-secondary: #606266;--muted: #909399;--primary: #409eff;--primary-dark: #337ecc;--success: #67c23a;--warning: #e6a23c;--danger: #f56c6c;--shadow: 0 1px 4px rgba(0, 21, 41, .08);--el-border-radius-base: 6px;--el-border-radius-small: 4px;--el-border-radius-round: 20px;--el-border-radius-circle: 50%}*{box-sizing:border-box}html,body,#__nuxt{min-height:100%}body{margin:0;color:var(--text);font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:var(--app-bg)}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow)}.brand{display:flex;flex-direction:column;gap:2px}.brand strong,.section-title{font-weight:600}.brand__eyebrow{font-size:12px;letter-spacing:.08em;color:var(--primary);text-transform:uppercase}.topbar__nav{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--text-secondary)}.topbar__nav .router-link-exact-active{color:var(--primary);font-weight:600}.topbar__user{padding-left:8px;color:var(--muted)}.topbar__logout{appearance:none;border:0;background:transparent;color:var(--primary);cursor:pointer;font:inherit}.page-wrap{width:min(1440px,100vw - 32px);margin:0 auto;padding:20px 0 32px}.glass-card{background:var(--surface);border:1px solid var(--border-light);border-radius:0;box-shadow:var(--shadow)}:where(.admin-page__header,.module-page__hero,.header-card,.page-header,.upload-header,.edit-header,.detail-header,.hero-card){position:relative;overflow:hidden;min-height:136px;border-color:#409eff24;background:radial-gradient(circle at top left,rgba(64,158,255,.15),transparent 34%),linear-gradient(135deg,#fffffffa,#f5f9fffa);box-shadow:0 16px 36px #11234f12}:where(.admin-page__header,.module-page__hero,.header-card,.page-header,.upload-header,.edit-header,.detail-header,.hero-card) :is(.page-eyebrow,.module-page__eyebrow,.hero-eyebrow){margin:0 0 10px;color:var(--primary);font-size:12px;letter-spacing:.12em;text-transform:uppercase}:where(.admin-page__header,.module-page__hero,.header-card,.page-header,.upload-header,.edit-header,.detail-header) .section-title{font-size:clamp(28px,3vw,34px);line-height:1.12;letter-spacing:-.02em}:where(.admin-page__header,.module-page__hero,.header-card,.page-header,.upload-header,.edit-header,.detail-header) .section-subtitle{max-width:780px;margin-top:10px;color:var(--text-secondary);line-height:1.7}.section-title{margin:0;font-size:clamp(22px,3vw,28px);line-height:1.3;color:var(--text)}.section-subtitle{margin:8px 0 0;color:var(--text-secondary);line-height:1.7}.muted{color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-card{padding:18px 20px;background:var(--surface);border:1px solid var(--border-light);border-radius:0}.metric-card strong{display:block;margin-top:8px;font-size:28px;line-height:1;color:var(--text)}.metric-card span{font-size:13px;color:var(--muted)}.el-button--primary{--el-button-bg-color: var(--primary);--el-button-border-color: var(--primary);--el-button-hover-bg-color: var(--primary-dark);--el-button-hover-border-color: var(--primary-dark);--el-button-active-bg-color: var(--primary-dark);--el-button-active-border-color: var(--primary-dark)}.el-card{--el-card-border-color: var(--border-light);--el-card-padding: 0;border-radius:0;box-shadow:none}.el-tag,.el-check-tag{border-radius:0}.el-button,.el-input__wrapper,.el-select__wrapper,.el-textarea__inner,.el-dialog,.el-message,.el-dropdown-menu,.el-pager li,.el-pagination .btn-prev,.el-pagination .btn-next,.el-upload-dragger{border-radius:0!important}.el-switch__core,.el-switch__action{border-radius:var(--el-border-radius-round)!important}.el-form-item{margin-bottom:18px}.el-form-item,.el-form-item__content{min-width:0}.el-form-item__content>.el-input,.el-form-item__content>.el-textarea,.el-form-item__content>.el-select,.el-form-item__content>.el-date-editor.el-input,.el-form-item__content>.el-input-number,.el-form-item__content>.el-cascader,.el-form-item__content>[data-testid],.el-form-item .el-select,.el-form-item .el-date-editor.el-input,.el-form-item .el-input-number,.el-form-item .el-cascader{width:100%}.el-form-item__content>[data-testid],.el-form-item [data-testid]>.el-input,.el-form-item [data-testid]>.el-select,.el-form-item [data-testid]>.el-date-editor,.el-form-item [data-testid]>.el-cascader{width:100%}.fade-up-enter-active,.fade-up-leave-active{transition:opacity .2s ease,transform .2s ease;will-change:opacity,transform}.fade-up-enter-from,.fade-up-leave-to{opacity:0;transform:translateY(8px)}.page-enter-active,.page-leave-active{transition:opacity .18s ease,transform .18s ease;will-change:opacity,transform}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(4px)}@media(prefers-reduced-motion:reduce){.fade-up-enter-active,.fade-up-leave-active,.page-enter-active,.page-leave-active{transition:none}}@media(max-width:960px){.topbar{padding:0 16px}.topbar__nav{gap:16px}.page-wrap{width:min(100vw - 16px,1440px);padding-top:16px}.metric-grid{grid-template-columns:1fr}}
