.admin-filter-bar[data-v-517b080a]{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;display:flex;box-shadow:0 2px 8px #00000005}.filter-left[data-v-517b080a]{flex-wrap:wrap;flex:1;align-items:center;gap:20px;display:flex}.filter-right[data-v-517b080a]{align-items:center;display:flex}.filter-group[data-v-517b080a]{align-items:center;gap:12px;display:flex}.filter-label[data-v-517b080a]{color:var(--text-subtle);white-space:nowrap;font-size:13px;font-weight:500}.search-input-wrapper[data-v-517b080a]{align-items:center;width:320px;transition:all .3s;display:flex;position:relative}.search-icon[data-v-517b080a]{color:var(--text-subtle);pointer-events:none;opacity:.7;position:absolute;left:12px}.search-input[data-v-517b080a]{width:100%;height:36px;color:var(--text-main);background-color:#f8fafc;border:1px solid #dcdfe6;border-radius:6px;outline:none;padding:0 32px;font-size:13px;transition:all .25s cubic-bezier(.4,0,.2,1)}.search-input[data-v-517b080a]:hover{border-color:#c0c4cc}.search-input[data-v-517b080a]:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px #409eff29}.clear-button[data-v-517b080a]{color:#fff;cursor:pointer;background:#c0c4cc;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;transition:all .2s;display:flex;position:absolute;right:10px}.clear-button[data-v-517b080a]:hover{background:#909399}.filter-actions[data-v-517b080a]{align-items:center;gap:10px;display:flex}.btn[data-v-517b080a]{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-517b080a]{transition:transform .3s}.btn-primary[data-v-517b080a]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary[data-v-517b080a]:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-reset[data-v-517b080a]{color:var(--text-main);background:#fff;border-color:#dcdfe6}.btn-reset[data-v-517b080a]:hover{color:var(--accent);background-color:#ecf5ff;border-color:#c6e2ff}.btn-reset:hover .btn-icon[data-v-517b080a]{transform:rotate(-90deg)}.btn-create[data-v-517b080a]{color:#fff;background:#2870ea;border-color:#2870ea;box-shadow:0 2px 6px #2870ea26}.btn-create[data-v-517b080a]:hover{background:#1a5ac6;border-color:#1a5ac6}.pagination-bar[data-v-517b080a]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-517b080a]{color:var(--text-subtle);font-size:13px}.total-count[data-v-517b080a]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-517b080a]{align-items:center;gap:6px;display:flex}.page-btn[data-v-517b080a]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-517b080a]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-517b080a]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-517b080a]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-517b080a]{color:var(--text-subtle)}@media (width<=900px){.admin-filter-bar[data-v-517b080a]{flex-direction:column;align-items:stretch;gap:16px}.filter-right[data-v-517b080a]{justify-content:flex-end}}@media (width<=760px){.filter-left[data-v-517b080a]{flex-direction:column;align-items:stretch;gap:12px}.filter-group[data-v-517b080a]{width:100%}.search-input-wrapper[data-v-517b080a]{flex:1;width:100%}.filter-actions[data-v-517b080a]{justify-content:flex-end}}.toolbar[data-v-cf7d7b72]{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:flex-end;align-items:center;padding:14px 20px;display:flex}.head-title-group[data-v-cf7d7b72]{align-items:center;gap:16px;display:flex}.status-btn[data-v-cf7d7b72]{color:#67c23a;cursor:pointer;background:#67c23a1a;border:1px solid #67c23a;border-radius:4px;min-width:58px;height:28px}.status-btn.disabled[data-v-cf7d7b72]{color:#909399;background:#f4f4f5;border-color:#dcdfe6}.role-modal[data-v-cf7d7b72]{width:720px}.perm-panel[data-v-cf7d7b72]{background:#fafbfc;border:1px solid #d8dee8;border-radius:7px;flex-direction:column;gap:14px;padding:16px;display:flex}.perm-group[data-v-cf7d7b72]{flex-direction:column;gap:10px;display:flex}.perm-top[data-v-cf7d7b72]{font-weight:600}.perm-children[data-v-cf7d7b72]{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px 16px;padding-left:24px;display:grid}.perm-item[data-v-cf7d7b72]{color:#475569;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-width:0;min-height:24px;font-size:13px;line-height:20px;display:inline-flex}.perm-item input[type=checkbox][data-v-cf7d7b72]{width:14px;height:14px;min-height:14px;box-shadow:none;accent-color:var(--accent);cursor:pointer;background:#fff;border:1px solid #b8c2d4;border-radius:2px;flex:0 0 14px;margin:0;padding:0}.perm-item input[type=checkbox][data-v-cf7d7b72]:focus{box-shadow:none;border-color:#b8c2d4}.perm-item input[type=checkbox][data-v-cf7d7b72]:focus-visible{outline-offset:2px;outline:2px solid #2563eb38}.perm-item span[data-v-cf7d7b72]{min-width:0;line-height:20px}.pagination-bar[data-v-cf7d7b72]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-cf7d7b72]{color:var(--text-subtle);font-size:13px}.total-count[data-v-cf7d7b72]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-cf7d7b72]{align-items:center;gap:6px;display:flex}.page-btn[data-v-cf7d7b72]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-cf7d7b72]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-cf7d7b72]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-cf7d7b72]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-cf7d7b72]{color:var(--text-subtle)}.switch-custom[data-v-cf7d7b72]{vertical-align:middle;cursor:pointer;width:40px;height:20px;display:inline-block;position:relative}.slider-custom[data-v-cf7d7b72]{background-color:#dcdfe6;border-radius:20px;transition:all .25s;position:absolute;inset:0}.slider-custom[data-v-cf7d7b72]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.switch-custom.active .slider-custom[data-v-cf7d7b72]{background-color:var(--success)}.switch-custom.active .slider-custom[data-v-cf7d7b72]:before{transform:translate(20px)}.toast-custom[data-v-cf7d7b72]{z-index:9999;border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:500;animation:.3s cubic-bezier(.18,.89,.32,1.28) slideDown-custom-cf7d7b72;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00152914}.toast-custom.success[data-v-cf7d7b72]{color:#67c23a;background:#f0f9eb;border:1px solid #c2e7b0}.toast-custom.error[data-v-cf7d7b72]{color:#f56c6c;background:#fef0f0;border:1px solid #fde2e2}.toast-icon[data-v-cf7d7b72]{font-size:14px;font-weight:700}@keyframes slideDown-custom-cf7d7b72{0%{opacity:0;top:-60px}to{opacity:1;top:24px}}.head-title-group[data-v-ee667920]{align-items:center;gap:16px;display:flex}.status-btn[data-v-ee667920]{color:#67c23a;cursor:pointer;background:#67c23a1a;border:1px solid #67c23a;border-radius:4px;min-width:58px;height:28px}.status-btn.disabled[data-v-ee667920]{color:#909399;background:#f4f4f5;border-color:#dcdfe6}.role-panel[data-v-ee667920]{background:#fafbfc;border:1px solid #d8dee8;border-radius:7px;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-items:start;gap:12px 16px;min-height:96px;padding:16px;display:grid}.role-item[data-v-ee667920]{color:#475569;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-width:0;min-height:24px;font-size:13px;line-height:20px;display:inline-flex}.role-item input[type=checkbox][data-v-ee667920]{width:14px;height:14px;min-height:14px;box-shadow:none;accent-color:var(--accent);cursor:pointer;background:#fff;border:1px solid #b8c2d4;border-radius:2px;flex:0 0 14px;margin:0;padding:0}.role-item input[type=checkbox][data-v-ee667920]:focus{box-shadow:none;border-color:#b8c2d4}.role-item input[type=checkbox][data-v-ee667920]:focus-visible{outline-offset:2px;outline:2px solid #2563eb38}.role-item span[data-v-ee667920]{min-width:0;line-height:20px}.pagination-bar[data-v-ee667920]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-ee667920]{color:var(--text-subtle);font-size:13px}.total-count[data-v-ee667920]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-ee667920]{align-items:center;gap:6px;display:flex}.page-btn[data-v-ee667920]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-ee667920]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-ee667920]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-ee667920]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-ee667920]{color:var(--text-subtle)}.switch-custom[data-v-ee667920]{vertical-align:middle;cursor:pointer;width:40px;height:20px;display:inline-block;position:relative}.slider-custom[data-v-ee667920]{background-color:#dcdfe6;border-radius:20px;transition:all .25s;position:absolute;inset:0}.slider-custom[data-v-ee667920]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.switch-custom.active .slider-custom[data-v-ee667920]{background-color:var(--success)}.switch-custom.active .slider-custom[data-v-ee667920]:before{transform:translate(20px)}.toast-custom[data-v-ee667920]{z-index:9999;border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:500;animation:.3s cubic-bezier(.18,.89,.32,1.28) slideDown-custom-ee667920;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00152914}.toast-custom.success[data-v-ee667920]{color:#67c23a;background:#f0f9eb;border:1px solid #c2e7b0}.toast-custom.error[data-v-ee667920]{color:#f56c6c;background:#fef0f0;border:1px solid #fde2e2}.toast-icon[data-v-ee667920]{font-size:14px;font-weight:700}@keyframes slideDown-custom-ee667920{0%{opacity:0;top:-60px}to{opacity:1;top:24px}}.mini-profile-table[data-v-a5473857]{margin-top:0}.mini-profile-logo[data-v-a5473857],.preview-image[data-v-a5473857]{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:100px;height:100px;margin-top:10px}.mini-profile-logo[data-v-a5473857]{width:60px;height:60px;margin-top:0}.mini-profile-dialog[data-v-a5473857]{width:min(100%,760px)}.mini-profile-form[data-v-a5473857]{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-profile-form .form-error[data-v-a5473857],.mini-profile-form .field[data-v-a5473857]:nth-of-type(2),.mini-profile-form .field[data-v-a5473857]:last-child{grid-column:1/-1}.thumb-image[data-v-4bf9184b]{object-fit:cover;border-radius:4px;width:80px;height:60px}.pagination-bar[data-v-4bf9184b]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-4bf9184b]{color:var(--text-subtle);font-size:13px}.total-count[data-v-4bf9184b]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-4bf9184b]{align-items:center;gap:6px;display:flex}.page-btn[data-v-4bf9184b]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-4bf9184b]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-4bf9184b]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-4bf9184b]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-4bf9184b]{color:var(--text-subtle)}.switch-custom[data-v-4bf9184b]{vertical-align:middle;cursor:pointer;width:40px;height:20px;display:inline-block;position:relative}.slider-custom[data-v-4bf9184b]{background-color:#dcdfe6;border-radius:20px;transition:all .25s;position:absolute;inset:0}.slider-custom[data-v-4bf9184b]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.switch-custom.active .slider-custom[data-v-4bf9184b]{background-color:var(--success)}.switch-custom.active .slider-custom[data-v-4bf9184b]:before{transform:translate(20px)}.thumb-image[data-v-1f7056c7]{object-fit:cover;border-radius:4px;width:60px;height:60px}.pagination-bar[data-v-1f7056c7]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-1f7056c7]{color:var(--text-subtle);font-size:13px}.total-count[data-v-1f7056c7]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-1f7056c7]{align-items:center;gap:6px;display:flex}.page-btn[data-v-1f7056c7]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-1f7056c7]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-1f7056c7]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-1f7056c7]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-1f7056c7]{color:var(--text-subtle)}.switch-custom[data-v-1f7056c7]{vertical-align:middle;cursor:pointer;width:40px;height:20px;display:inline-block;position:relative}.slider-custom[data-v-1f7056c7]{background-color:#dcdfe6;border-radius:20px;transition:all .25s;position:absolute;inset:0}.slider-custom[data-v-1f7056c7]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.switch-custom.active .slider-custom[data-v-1f7056c7]{background-color:var(--success)}.switch-custom.active .slider-custom[data-v-1f7056c7]:before{transform:translate(20px)}.rich-editor[data-v-586aef8b]{background-color:#fff;border:1px solid #dcdfe6;border-radius:4px;flex-direction:column;width:100%;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.rich-editor.is-focused[data-v-586aef8b]{border-color:var(--accent);box-shadow:0 0 0 2px #409eff1f}.editor-toolbar[data-v-586aef8b]{-webkit-user-select:none;user-select:none;background-color:#fafafa;border-bottom:1px solid #ebeef5;flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.tb-btn[data-v-586aef8b]{color:#555;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 4px;font-size:13px;transition:all .2s;display:inline-flex}.tb-btn[data-v-586aef8b]:hover{color:#111;background-color:#f0f2f5;border-color:#e4e7ed}.tb-btn-text[data-v-586aef8b]{margin-right:2px;font-size:12px;font-weight:500}.tb-dropdown-btn[data-v-586aef8b]{gap:2px;padding:0 6px}.tb-divider[data-v-586aef8b]{background-color:#e4e7ed;width:1px;height:16px;margin:0 4px;display:inline-block}.tb-dropdown-container[data-v-586aef8b]{display:inline-block;position:relative}.tb-dropdown-menu[data-v-586aef8b]{z-index:100;background-color:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001a}.font-menu[data-v-586aef8b]{min-width:120px}.size-menu[data-v-586aef8b]{min-width:70px}.tb-dropdown-item[data-v-586aef8b]{text-align:left;color:#333;cursor:pointer;background:0 0;border:0;width:100%;padding:6px 12px;font-size:13px;display:block}.tb-dropdown-item[data-v-586aef8b]:hover{background-color:#f5f7fa}.color-indicator-text[data-v-586aef8b]{font-size:14px;font-weight:700;line-height:1}.bg-indicator[data-v-586aef8b]{background-color:#f5f7fa;border-radius:2px;padding:0 2px}.color-underline[data-v-586aef8b]{border-radius:1px;width:16px;height:3px;margin-top:1px}.color-menu[data-v-586aef8b]{width:164px;padding:8px}.color-palette[data-v-586aef8b]{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.color-cell[data-v-586aef8b]{cursor:pointer;border:1px solid #dcdfe6;border-radius:3px;width:24px;height:24px;padding:0}.color-cell[data-v-586aef8b]:hover{transform:scale(1.1);box-shadow:0 0 4px #0003}.text-bold[data-v-586aef8b]{font-family:initial;font-weight:700}.text-italic[data-v-586aef8b]{font-family:initial;font-style:italic}.text-underline[data-v-586aef8b]{font-family:initial;text-decoration:underline}.editor-content[data-v-586aef8b]{color:#333;outline:none;flex:1;min-height:200px;max-height:480px;padding:12px;font-size:14px;line-height:1.6;overflow-y:auto}.editor-content[data-v-586aef8b] p{margin:0 0 8px}.editor-content[data-v-586aef8b] img{border-radius:4px;max-width:100%;height:auto;margin:8px 0}.editor-content[data-v-586aef8b] ul,.editor-content[data-v-586aef8b] ol{margin:0 0 8px;padding-left:20px}.thumb-image[data-v-39791b71]{object-fit:cover;border-radius:4px;width:60px;height:60px}.article-modal[data-v-39791b71]{flex-direction:column;width:760px;max-height:90vh;display:flex}.article-modal .modal-body[data-v-39791b71]{overflow-y:auto}.editor-field[data-v-39791b71]{flex-direction:column;align-items:stretch;display:flex!important}.scene-button[data-v-39791b71]{color:#606266;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;min-width:78px;height:30px;padding:0 10px;font-size:13px;display:inline-flex}.scene-button.active[data-v-39791b71]{color:#059669;background:#ecfdf5;border-color:#10b981}.pagination-bar[data-v-39791b71]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-39791b71]{color:var(--text-subtle);font-size:13px}.total-count[data-v-39791b71]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-39791b71]{align-items:center;gap:6px;display:flex}.page-btn[data-v-39791b71]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-39791b71]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-39791b71]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-39791b71]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-39791b71]{color:var(--text-subtle)}.switch-custom[data-v-39791b71]{vertical-align:middle;cursor:pointer;width:40px;height:20px;display:inline-block;position:relative}.slider-custom[data-v-39791b71]{background-color:#dcdfe6;border-radius:20px;transition:all .25s;position:absolute;inset:0}.slider-custom[data-v-39791b71]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.switch-custom.active .slider-custom[data-v-39791b71]{background-color:var(--success)}.switch-custom.active .slider-custom[data-v-39791b71]:before{transform:translate(20px)}.thumb-image[data-v-778cbc99]{object-fit:cover;border-radius:4px;width:48px;height:48px}.detail-grid[data-v-778cbc99]{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid span[data-v-778cbc99]{color:var(--text-subtle);margin-bottom:4px;display:block}.detail-grid strong[data-v-778cbc99]{word-break:break-all;font-weight:500}.detail-avatar[data-v-778cbc99]{object-fit:cover;border-radius:4px;width:72px;height:72px}.pagination-bar[data-v-778cbc99]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-778cbc99]{color:var(--text-subtle);font-size:13px}.total-count[data-v-778cbc99]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-778cbc99]{align-items:center;gap:6px;display:flex}.page-btn[data-v-778cbc99]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-778cbc99]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-778cbc99]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-778cbc99]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-778cbc99]{color:var(--text-subtle)}.thumb-image[data-v-b1ae6a67]{object-fit:cover;border-radius:4px;width:72px;height:54px}.wide-dialog[data-v-b1ae6a67]{width:min(100%,820px)}.form-grid-two[data-v-b1ae6a67]{grid-template-columns:repeat(2,minmax(0,1fr))}.full-line[data-v-b1ae6a67]{grid-column:1/-1}textarea[data-v-b1ae6a67]{resize:vertical;border:1px solid #dcdfe6;border-radius:4px;width:100%;padding:8px 12px}.image-field[data-v-b1ae6a67]{align-items:flex-start}.upload-row[data-v-b1ae6a67]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field-hint[data-v-b1ae6a67]{color:var(--text-subtle);font-size:13px}.coordinate-hint a[data-v-b1ae6a67]{color:#1f74ff;margin-left:8px;text-decoration:none}.coordinate-hint a[data-v-b1ae6a67]:hover{text-decoration:underline}.hidden-input[data-v-b1ae6a67]{display:none}.image-preview-row[data-v-b1ae6a67]{align-items:center;gap:12px;margin-top:10px;display:flex}.preview-image[data-v-b1ae6a67]{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:120px;height:90px}.store-image-grid[data-v-b1ae6a67]{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;max-width:620px;margin-top:10px;display:grid}.store-image-item[data-v-b1ae6a67]{border:1px solid var(--line);background:#f8fafc;border-radius:4px;width:112px;height:84px;position:relative;overflow:hidden}.store-preview-image[data-v-b1ae6a67]{object-fit:cover;width:100%;height:100%}.image-remove[data-v-b1ae6a67]{color:#fff;cursor:pointer;background:#0f172ab8;border:0;border-radius:50%;width:22px;height:22px;position:absolute;top:4px;right:4px}.editor-field[data-v-b1ae6a67]{align-items:stretch}.pagination-bar[data-v-b1ae6a67]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-b1ae6a67]{color:var(--text-subtle);font-size:13px}.total-count[data-v-b1ae6a67]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-b1ae6a67]{align-items:center;gap:6px;display:flex}.page-btn[data-v-b1ae6a67]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-b1ae6a67]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-b1ae6a67]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-b1ae6a67]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-b1ae6a67]{color:var(--text-subtle)}.switch-custom[data-v-b1ae6a67]{vertical-align:middle;cursor:pointer;width:40px;height:20px;display:inline-block;position:relative}.slider-custom[data-v-b1ae6a67]{background-color:#dcdfe6;border-radius:20px;transition:all .25s;position:absolute;inset:0}.slider-custom[data-v-b1ae6a67]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.switch-custom.active .slider-custom[data-v-b1ae6a67]{background-color:var(--success)}.switch-custom.active .slider-custom[data-v-b1ae6a67]:before{transform:translate(20px)}.pagination-bar[data-v-850208cb]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-850208cb]{color:var(--text-subtle);font-size:13px}.total-count[data-v-850208cb]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-850208cb]{align-items:center;gap:6px;display:flex}.page-btn[data-v-850208cb]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-850208cb]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-850208cb]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-850208cb]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-850208cb]{color:var(--text-subtle)}.thumb-image[data-v-c70c830e]{object-fit:cover;border-radius:4px;width:52px;height:52px}.image-field[data-v-c70c830e]{align-items:flex-start}.upload-row[data-v-c70c830e]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field-hint[data-v-c70c830e]{color:var(--text-subtle);font-size:13px}.hidden-input[data-v-c70c830e]{display:none}.image-preview-row[data-v-c70c830e]{align-items:center;gap:12px;margin-top:10px;display:flex}.preview-image[data-v-c70c830e]{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:100px;height:100px}.pagination-bar[data-v-c70c830e]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-c70c830e]{color:var(--text-subtle);font-size:13px}.total-count[data-v-c70c830e]{color:var(--accent);margin:0 2px;font-weight:600}.pagination-actions[data-v-c70c830e]{align-items:center;gap:6px;display:flex}.page-btn[data-v-c70c830e]{min-width:32px;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-btn[data-v-c70c830e]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:#ecf5ff}.page-btn.active[data-v-c70c830e]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-btn[data-v-c70c830e]:disabled{cursor:not-allowed;opacity:.45;background-color:#f5f7fa;border-color:#e4e7ed}.arrow-btn[data-v-c70c830e]{color:var(--text-subtle)}.thumb-image[data-v-0858c013]{object-fit:cover;border-radius:4px;width:52px;height:52px}.wide-dialog[data-v-0858c013]{flex-direction:column;width:min(100%,920px);max-height:90vh;display:flex}.wide-dialog .modal-body[data-v-0858c013]{overflow-y:auto}.nanny-form[data-v-0858c013]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.sync-dialog[data-v-0858c013]{width:min(100%,520px)}.sync-form[data-v-0858c013]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.sync-result[data-v-0858c013]{flex-wrap:wrap;gap:8px;display:flex}.sync-result span[data-v-0858c013]{border:1px solid var(--line);color:var(--text-main);background:#f8fafc;border-radius:4px;padding:4px 8px;font-size:13px}.full-line[data-v-0858c013]{grid-column:1/-1}.required-field>span[data-v-0858c013]:before{content:"*";color:#dc2626;margin-right:4px}textarea[data-v-0858c013]{resize:vertical;border:1px solid #dcdfe6;border-radius:4px;width:100%;padding:8px 12px}.radio-row[data-v-0858c013]{align-items:center;gap:22px;min-height:38px;display:flex}.radio-row label[data-v-0858c013]{color:var(--text-main);align-items:center;gap:6px;font-size:14px;display:inline-flex}.image-field[data-v-0858c013]{align-items:flex-start}.upload-row[data-v-0858c013]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field-hint[data-v-0858c013]{color:var(--text-subtle);font-size:13px}.hidden-input[data-v-0858c013]{display:none}.image-preview-row[data-v-0858c013]{align-items:center;gap:12px;margin-top:10px;display:flex}.preview-image[data-v-0858c013]{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:100px;height:100px}.certificate-grid[data-v-0858c013]{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;max-width:520px;margin-top:10px;display:grid}.certificate-item[data-v-0858c013]{border:1px solid var(--line);background:#f8fafc;border-radius:4px;width:92px;height:92px;position:relative;overflow:hidden}.certificate-preview-button[data-v-0858c013]{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.certificate-image[data-v-0858c013]{object-fit:cover;width:100%;height:100%}.image-remove[data-v-0858c013]{color:#fff;cursor:pointer;background:#0f172ab8;border:0;border-radius:50%;width:22px;height:22px;position:absolute;top:4px;right:4px}.image-preview-mask[data-v-0858c013]{z-index:1200}.image-preview-panel[data-v-0858c013]{justify-content:center;align-items:center;width:min(92vw,920px);max-height:88vh;display:flex;position:relative}.image-preview-close[data-v-0858c013]{color:#fff;border-color:#ffffff5c;position:absolute;top:-42px;right:0}.image-preview-large[data-v-0858c013]{object-fit:contain;background:#fff;border-radius:6px;max-width:100%;max-height:88vh;box-shadow:0 18px 44px #0f172a47}.pagination-bar[data-v-0858c013]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-0858c013]{color:var(--text-subtle);font-size:13px}.total-count[data-v-0858c013]{color:var(--accent);font-weight:600}.pagination-actions[data-v-0858c013]{gap:6px;display:flex}.page-btn[data-v-0858c013]{background:#fff;border:1px solid #dcdfe6;border-radius:4px;min-width:32px;height:32px}.page-btn.active[data-v-0858c013]{background:var(--accent);border-color:var(--accent);color:#fff}.footer-error[data-v-0858c013]{max-width:420px;margin:0 auto 0 0}.resume-modal[data-v-0858c013]{flex-direction:column;width:min(100%,720px);max-height:90vh;display:flex}.resume-container[data-v-0858c013]{flex-direction:column;gap:18px;display:flex;overflow-y:auto;padding:20px!important}.resume-header[data-v-0858c013]{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding-bottom:18px;display:flex}.resume-avatar-large[data-v-0858c013],.resume-avatar-placeholder[data-v-0858c013]{border-radius:8px;flex-shrink:0;width:90px;height:90px}.resume-avatar-large[data-v-0858c013]{object-fit:cover;border:1px solid var(--line)}.resume-avatar-placeholder[data-v-0858c013]{color:var(--text-subtle);background:#f8fafc;border:1px dashed #dcdfe6;place-items:center;font-size:13px;display:grid}.resume-title-section[data-v-0858c013]{flex-direction:column;gap:8px;min-width:0;display:flex}.resume-name-row[data-v-0858c013]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.resume-name[data-v-0858c013]{color:var(--text-main);font-size:22px;font-weight:600}.resume-level-tag[data-v-0858c013],.resume-store-tag[data-v-0858c013]{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.resume-level-tag[data-v-0858c013]{color:#2f54eb;background:#f0f5ff;border:1px solid #adc6ff}.resume-store-tag[data-v-0858c013]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.resume-meta-row[data-v-0858c013]{color:var(--text-subtle);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.resume-stats[data-v-0858c013]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.resume-stats>div[data-v-0858c013],.resume-grid>div[data-v-0858c013]{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.resume-stats span[data-v-0858c013],.resume-grid span[data-v-0858c013]{color:var(--text-subtle);font-size:13px}.resume-stats strong[data-v-0858c013],.resume-grid strong[data-v-0858c013]{color:var(--text-main);word-break:break-word;font-weight:600}.resume-grid[data-v-0858c013]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.resume-notes[data-v-0858c013]{color:var(--text-main);white-space:pre-wrap;margin:0;line-height:1.7}@media (width<=720px){.nanny-form[data-v-0858c013],.resume-stats[data-v-0858c013],.resume-grid[data-v-0858c013]{grid-template-columns:1fr}.resume-header[data-v-0858c013]{align-items:flex-start}}.cell-stack[data-v-f963a0f7]{flex-direction:column;gap:4px;line-height:1.45;display:flex}.cell-pre[data-v-f963a0f7]{white-space:pre-line;line-height:1.55}.tag-blue[data-v-f963a0f7]{color:#409eff;background:#ecf5ff;border-radius:4px;width:max-content;padding:2px 6px;display:inline-block}.state-ok[data-v-f963a0f7]{color:#16a34a}.state-warn[data-v-f963a0f7]{color:#dc2626}.pagination-bar[data-v-f963a0f7]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-f963a0f7]{color:var(--text-subtle);font-size:13px}.total-count[data-v-f963a0f7]{color:var(--accent);font-weight:600}.pagination-actions[data-v-f963a0f7]{gap:6px;display:flex}.page-btn[data-v-f963a0f7]{background:#fff;border:1px solid #dcdfe6;border-radius:4px;min-width:32px;height:32px}.page-btn.active[data-v-f963a0f7]{background:var(--accent);border-color:var(--accent);color:#fff}.pay-tags[data-v-c95d5ce1]{flex-wrap:wrap;gap:6px;display:flex}.tag-green[data-v-c95d5ce1],.tag-blue[data-v-c95d5ce1]{border-radius:4px;padding:2px 6px}.tag-green[data-v-c95d5ce1]{color:#16a34a;background:#ecfdf3}.tag-blue[data-v-c95d5ce1]{color:#409eff;background:#ecf5ff}.pagination-bar[data-v-c95d5ce1]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-c95d5ce1]{color:var(--text-subtle);font-size:13px}.total-count[data-v-c95d5ce1]{color:var(--accent);font-weight:600}.pagination-actions[data-v-c95d5ce1]{gap:6px;display:flex}.page-btn[data-v-c95d5ce1]{background:#fff;border:1px solid #dcdfe6;border-radius:4px;min-width:32px;height:32px}.page-btn.active[data-v-c95d5ce1]{background:var(--accent);border-color:var(--accent);color:#fff}.pagination-bar[data-v-5e7dcbd0]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-5e7dcbd0]{color:var(--text-subtle);font-size:13px}.total-count[data-v-5e7dcbd0]{color:var(--accent);font-weight:600}.pagination-actions[data-v-5e7dcbd0]{gap:6px;display:flex}.page-btn[data-v-5e7dcbd0]{background:#fff;border:1px solid #dcdfe6;border-radius:4px;min-width:32px;height:32px}.page-btn.active[data-v-5e7dcbd0]{background:var(--accent);border-color:var(--accent);color:#fff}.cell-stack[data-v-cdadcd04]{flex-direction:column;gap:4px;display:flex}.form-success[data-v-cdadcd04]{color:#15803d;background:#ecfdf3;border-radius:4px;padding:8px 10px}.pagination-bar[data-v-cdadcd04]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-cdadcd04]{color:var(--text-subtle);font-size:13px}.total-count[data-v-cdadcd04]{color:var(--accent);font-weight:600}.pagination-actions[data-v-cdadcd04]{gap:6px;display:flex}.page-btn[data-v-cdadcd04]{background:#fff;border:1px solid #dcdfe6;border-radius:4px;min-width:32px;height:32px}.page-btn.active[data-v-cdadcd04]{background:var(--accent);border-color:var(--accent);color:#fff}.wide-dialog[data-v-5fbab066]{width:min(100%,820px)}.form-grid-two[data-v-5fbab066]{grid-template-columns:repeat(2,minmax(0,1fr))}.full-line[data-v-5fbab066]{grid-column:1/-1}.pagination-bar[data-v-5fbab066]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;display:flex}.pagination-summary[data-v-5fbab066]{color:var(--text-subtle);font-size:13px}.total-count[data-v-5fbab066]{color:var(--accent);font-weight:600}.pagination-actions[data-v-5fbab066]{gap:6px;display:flex}.page-btn[data-v-5fbab066]{background:#fff;border:1px solid #dcdfe6;border-radius:4px;min-width:32px;height:32px}.page-btn.active[data-v-5fbab066]{background:var(--accent);border-color:var(--accent);color:#fff}:root{color:#303133;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sidebar-bg:#304156;--sidebar-bg-deep:#263445;--sidebar-border:#ffffff14;--surface:#fff;--surface-strong:#fff;--text-main:#303133;--text-subtle:#909399;--line:#ebeef5;--accent:#409eff;--accent-deep:#337ecc;--success:#67c23a;--warning:#e6a23c;--danger:#f56c6c;--shadow:0 1px 4px #00152914;--sidebar-width:220px;background:#f5f7f9;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#app{height:100%;min-height:100%}body{background:#f5f7f9;margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.admin-shell{grid-template-columns:220px minmax(900px,1fr);min-height:100vh;display:grid;overflow-x:auto}.sidebar{background:var(--sidebar-bg);color:#eef3fb;border-right:1px solid var(--sidebar-border);flex-direction:column;gap:0;padding:0;display:flex}.sidebar-brand{background:var(--sidebar-bg-deep);align-items:center;gap:14px;min-height:56px;padding:0 18px;display:flex}.sidebar-mark{background:var(--accent);border-radius:6px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.sidebar-title{font-size:15px;font-weight:700}.topbar-role,.topbar-label,.section-tag,.kpi-label,.alert-detail,.plain-list,.field span,.sidebar-role{color:var(--text-subtle)}.field.required>span:before{content:"*";color:var(--danger);margin-right:3px}.sidebar-nav{gap:0;padding:0 0 4px;display:grid}.sidebar-scroll{gap:0;padding:8px 0;display:grid;overflow:auto}.sidebar-group{margin:0;display:block}.sidebar-group-toggle{color:#eef3fbeb;background:0 0;border-top:0;border-bottom:1px solid #ffffff08;border-left:3px solid #0000;border-right:0;border-radius:0;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:0 18px 0 16px;transition:background-color .16s,border-left-color .16s;display:flex}.sidebar-group-toggle[data-active=true]{background:#00000014}.sidebar-group-toggle[data-expanded=true]{background:#409eff29;border-left-color:#409eff}.sidebar-group-title{color:#eef3fbeb;letter-spacing:0;font-size:14px;font-weight:500}.sidebar-group-arrow{color:#eef3fb99;font-size:16px;line-height:1;transition:transform .16s,color .16s}.sidebar-group-toggle[data-expanded=true] .sidebar-group-title{color:#fff;font-weight:600}.sidebar-link{color:#bfcbd9;border:1px solid #0000;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;min-height:40px;margin-left:0;padding:0 18px 0 30px;font-size:13px;transition:all .18s;display:flex}.sidebar-sub-icon{color:#bfcbd9e6;flex:0 0 12px;width:12px;font-size:14px;line-height:1}.sidebar-link.router-link-active{background:var(--accent);color:#fff}.sidebar-nav{border-left:3px solid #409eff14}.sidebar-badge{background:#ffffff24;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:18px;padding:0 8px;font-size:11px;display:inline-flex}.sidebar-footer{background:0 0;border-top:1px solid #ffffff14;border-radius:0;margin-top:auto;padding:14px 18px 18px}.sidebar-role{color:#eef3fb;margin-bottom:8px;font-weight:600}.admin-main{min-width:0;padding:0}.admin-tabbar{border-bottom:1px solid var(--line);background:#fff;align-items:stretch;height:44px;display:flex;overflow-x:auto}.admin-tab{border-right:1px solid var(--line);color:#111;white-space:nowrap;background:#fff;justify-content:center;align-items:center;min-width:112px;padding:0 18px;font-size:14px;display:inline-flex}.admin-tab.is-active{background:#f7f7f7;font-weight:600}.admin-breadcrumb{color:#909399;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;height:44px;padding:0 16px;font-size:14px;display:flex}.admin-breadcrumb strong{color:#606266;font-weight:500}.topbar{border-bottom:1px solid var(--line);min-height:56px;box-shadow:var(--shadow);background:#fff;border-radius:0;justify-content:flex-end;align-items:center;gap:20px;padding:0 20px;display:flex}.topbar-main{min-width:0}.topbar-title,.section-title{color:var(--text-main);margin:2px 0 0;font-size:20px;line-height:1.2}.section-copy{max-width:760px;color:var(--text-subtle);margin:6px 0 0;font-size:13px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.topbar-user-menu{position:relative}.topbar-user-trigger{color:inherit;background:0 0;border:0;padding:0}.topbar-pill{min-height:30px;color:var(--accent-deep);background:#ecf5ff;border-radius:4px;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-arrow{color:var(--text-subtle);font-size:12px}.topbar-avatar{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.topbar-name,.panel-title,.alert-title{color:var(--text-main);font-weight:700}.topbar-dropdown{border:1px solid var(--line);z-index:30;background:#fff;min-width:136px;padding:6px 0;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 20px #0015291f}.topbar-dropdown-item{text-align:left;width:100%;min-height:38px;color:var(--text-main);background:0 0;border:0;padding:0 14px}.topbar-dropdown-item:hover{background:#f5f7fa}.admin-content{padding:16px}.page{gap:20px;display:grid}.dashboard-page{gap:18px;display:grid}.desktop-strip{border:1px solid var(--line);min-height:48px;color:var(--text-main);background:#fff;align-items:center;gap:10px;padding:0 18px;font-size:16px;display:flex}.desktop-home{justify-content:center;width:22px;font-size:20px;display:inline-flex}.dashboard-quote{color:#111;background:#f5f5f5;border-left:10px solid #18a689;align-items:center;min-height:104px;padding:0 26px;font-size:22px;display:flex}.dashboard-quote-name{color:red;margin:0 8px}.dashboard-fieldset{border:1px solid var(--line);background:#fff;padding:46px 22px 22px;position:relative}.dashboard-legend{color:#303133;background:#f5f7f9;padding:0 18px;font-size:24px;position:absolute;top:-18px;left:18px}.dashboard-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.dashboard-stat-card{color:#fff;border-radius:4px;flex-direction:column;justify-content:space-between;min-height:168px;padding:28px 28px 20px;display:flex}.dashboard-stat-card[data-tone=cyan]{background:linear-gradient(-125deg,#57bdbf,#2f9de2)}.dashboard-stat-card[data-tone=pink]{background:linear-gradient(-125deg,#ff7d7d,#fb2c95)}.dashboard-stat-card[data-tone=purple]{background:linear-gradient(-113deg,#c543d8,#925cc3)}.dashboard-stat-card[data-tone=gold]{background:linear-gradient(-141deg,#ecca1b,#f39526)}.dashboard-stat-title{font-size:16px;font-weight:600}.dashboard-stat-value{font-size:46px;font-weight:300;line-height:1}.dashboard-stat-prefix{margin-right:4px;font-size:32px}.section-head,.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.section-actions,.row-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card,.panel,.table-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px}.kpi-card{padding:16px}.kpi-value{color:var(--text-main);margin-top:10px;font-size:32px;font-weight:700}.kpi-trend{margin-top:12px;font-size:14px}.kpi-card[data-tone=warm] .kpi-trend{color:var(--accent-deep)}.kpi-card[data-tone=cool] .kpi-trend{color:#1f74ff}.kpi-card[data-tone=neutral] .kpi-trend{color:var(--success)}.split-grid{grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.panel,.table-panel{padding:16px}.alert-list{gap:12px;margin-top:14px;display:grid}.alert-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:4px;padding:14px 16px}.alert-title{margin-bottom:6px}.plain-list{margin:14px 0 0;padding-left:18px}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:4px;padding:16px}.field{gap:8px;min-width:220px;display:grid}.field.compact{min-width:180px}.field input:not([type=checkbox]):not([type=radio]),.field select{height:34px;color:var(--text-main);background:#fff;border:1px solid #dcdfe6;border-radius:4px;outline:none;padding:0 14px}.field-hint{color:var(--text-subtle);font-size:12px}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #409eff1f}.primary-button,.ghost-button{border:1px solid #0000;border-radius:4px;min-height:34px;padding:0 16px;font-size:13px}.primary-button{background:var(--accent);color:#fff}.ghost-button{color:var(--text-main);background:#fff;border-color:#dcdfe6}.danger-link{color:var(--danger)}.table-tip{color:var(--text-subtle);margin:0;font-size:13px}.modal-mask{z-index:50;background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);background:#fff;width:min(100%,440px);box-shadow:0 16px 40px #0015292e}.modal-header,.modal-footer{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-header{border-bottom:1px solid var(--line)}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px}.modal-title{color:var(--text-main);margin:0;font-size:18px}.modal-close{width:32px;height:32px;color:var(--text-subtle);background:0 0;border:0;font-size:24px;line-height:1}.modal-body{gap:14px;padding:18px;display:grid}.password-dialog .field input{width:100%}.link-button{color:#1f74ff;background:0 0;border:0;padding:0}.table-wrap{overflow-x:auto}.table-toolbar{color:#111;background:#f2f2f2;justify-content:flex-end;align-items:center;min-height:40px;margin-bottom:12px;padding:0 8px;font-size:14px;display:flex}.table-empty{text-align:center;color:var(--text-subtle)}.data-table{border-collapse:collapse;width:100%;min-width:880px;margin-top:12px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #ebeef5;padding:12px 10px;font-size:13px}.data-table th{color:#606266;background:#fafafa;font-weight:600}.status-chip{background:#19202c0f;border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:12px;display:inline-flex}.status-chip[data-status=正常],.status-chip[data-status=已支付],.status-chip[data-status=已上线]{color:var(--success);background:#00875a1a}.status-chip[data-status=禁用],.status-chip[data-status=退款中]{color:var(--danger);background:#d645451a}.status-chip[data-status=待审核],.status-chip[data-status=待核销],.status-chip[data-status=草稿]{color:var(--warning);background:#c778001f}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);width:min(100%,460px);box-shadow:var(--shadow);background:#fff;border-radius:4px;padding:34px}.login-brand{color:var(--accent-deep);font-size:13px;font-weight:700}.login-title{margin:10px 0 8px;font-size:32px;line-height:1.1}.login-copy{color:var(--text-subtle);margin:0 0 22px}.login-form{gap:14px;display:grid}.captcha-row{grid-template-columns:minmax(0,1fr) 126px;align-items:center;gap:10px;display:grid}.captcha-image-button{cursor:pointer;background:#f8fafc;border:1px solid #d8dee8;border-radius:7px;height:36px;padding:0;overflow:hidden}.captcha-image{object-fit:cover;width:100%;height:100%;display:block}.captcha-placeholder{color:var(--text-muted);font-size:12px}.form-error{color:#cf1322;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;margin:0;padding:10px 12px;font-size:13px}.settings-form{gap:16px;max-width:720px;display:grid}.switch-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}@media (width<=1100px){.admin-shell{grid-template-columns:220px minmax(0,1fr)}.dashboard-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.admin-shell{grid-template-columns:220px minmax(900px,1fr)}.sidebar{gap:0}.kpi-grid,.split-grid{grid-template-columns:1fr 1fr}.sidebar-scroll{max-height:42vh}.dashboard-card-grid{grid-template-columns:1fr}}@media (width<=760px){.admin-main{padding:0}.topbar,.filter-bar,.panel,.table-panel,.login-panel{padding:16px}.topbar,.section-head,.filter-bar,.topbar-actions{align-items:flex-start}.kpi-grid,.split-grid{grid-template-columns:1fr}.topbar-title,.section-title,.login-title{font-size:24px}.field,.field.compact{min-width:100%}}.head-title-group{align-items:center;gap:16px;display:flex}.btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon{transition:transform .3s}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-reset{color:var(--text-main);background:#fff;border-color:#dcdfe6}.btn-reset:hover{color:var(--accent);background-color:#ecf5ff;border-color:#c6e2ff}.btn-reset:hover .btn-icon{transform:rotate(-90deg)}.btn-create{color:#fff;background:#2870ea;border-color:#2870ea;box-shadow:0 2px 6px #2870ea26}.btn-create:hover{background:#1a5ac6;border-color:#1a5ac6}.search-input{height:36px;color:var(--text-main);background-color:#f8fafc;border:1px solid #dcdfe6;border-radius:6px;outline:none;padding:0 12px;font-size:13px;transition:all .25s cubic-bezier(.4,0,.2,1)}.search-input:hover{border-color:#c0c4cc}.search-input:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px #409eff29}.search-input-wrapper .search-input{padding:0 32px}.select-wrapper{width:100%;min-width:0;display:block;position:relative}.select-input{width:100%;min-width:0;height:36px;color:var(--text-main);cursor:pointer;appearance:none;background-color:#f8fafc;border:1px solid #dcdfe6;border-radius:6px;outline:none;padding:0 30px 0 12px;font-size:13px;transition:all .25s}.select-wrapper:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid var(--text-subtle);pointer-events:none;opacity:.8;width:0;height:0;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.select-input:hover{border-color:#c0c4cc}.select-input:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px #409eff29}:root{--app-bg:#f3f5f8;--sidebar-bg:#1f2a3a;--sidebar-bg-deep:#172231;--sidebar-border:#ffffff14;--surface:#fff;--surface-soft:#f8fafc;--text-main:#1f2937;--text-muted:#667085;--text-subtle:#8a94a6;--line:#e5e9f0;--accent:#2563eb;--accent-deep:#1d4ed8;--accent-soft:#eff6ff;--success:#10a66a;--warning:#d78b10;--danger:#e04f5f;--shadow:0 10px 28px #1118270f;--shadow-soft:0 4px 16px #1118270d;--sidebar-width:248px}html{background:var(--app-bg)}body{background:radial-gradient(circle at top right, #2563eb14, transparent 30vw), var(--app-bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #2563eb2e}button:disabled{cursor:not-allowed;opacity:.58}.admin-shell{height:100vh;min-height:0;padding-left:var(--sidebar-width);background:0 0;display:block;overflow:hidden}.sidebar{width:var(--sidebar-width);z-index:20;height:100vh;min-height:0;position:fixed;inset:0 auto 0 0;box-shadow:inset 1px 0 #ffffff0a}.sidebar-brand{background:linear-gradient(135deg,#172231,#243247);min-height:68px;padding:0 20px}.sidebar-mark{background:linear-gradient(135deg,#2f7cf6,#18a689);border-radius:8px;width:38px;height:38px;box-shadow:0 10px 22px #2563eb47}.sidebar-title{letter-spacing:0;font-size:16px}.sidebar-brand .sidebar-role{color:#eef3fb99;margin:3px 0 0;font-size:12px;font-weight:400}.sidebar-scroll{flex:1;gap:4px;min-height:0;padding:10px 10px 18px;overflow:hidden auto}.sidebar-group{border-radius:8px}.sidebar-group-toggle{color:#eef3fbd1;border-left:0;border-radius:8px;min-height:42px;padding:0 12px}.sidebar-group-toggle:hover{background:#ffffff0f}.sidebar-group-toggle[data-active=true],.sidebar-group-toggle[data-expanded=true]{background:#2563eb2e}.sidebar-group-arrow{color:#eef3fb94;border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transform:rotate(-45deg)}.sidebar-group-toggle[data-expanded=true] .sidebar-group-arrow{color:#fff;transform:rotate(45deg)}.sidebar-nav{border-left:0;gap:2px;margin:4px 0 8px;padding:2px 0 4px}.sidebar-link{color:#dbe4f2c7;border-radius:7px;min-height:38px;margin:0;padding:0 12px 0 26px}.sidebar-link:hover{color:#fff;background:#ffffff0f}.sidebar-link.router-link-active{color:#1f2a3a;background:#fff;box-shadow:0 10px 22px #00000029}.sidebar-sub-icon{opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px}.admin-main{flex-direction:column;min-width:0;height:100vh;min-height:0;display:flex;overflow:hidden}.topbar{z-index:15;min-height:68px;box-shadow:0 1px 0 var(--line);flex:none;justify-content:space-between;gap:18px;padding:0 24px;position:sticky;top:0}.topbar-main{align-items:center;gap:14px;display:flex}.topbar-label{margin:0 0 3px;font-size:12px}.topbar-title{margin:0;font-size:18px;font-weight:700}.topbar-menu-button{border:1px solid var(--line);min-height:36px;color:var(--text-main);background:#fff;border-radius:7px;padding:0 12px;display:none}.topbar-pill{color:#08744f;background:#eefdf7;border-radius:999px;min-height:28px;font-weight:600}.topbar-user-trigger{border-radius:8px}.topbar-user-trigger:hover .topbar-user{background:var(--surface-soft)}.topbar-user{border-radius:8px;min-height:44px;padding:5px 8px 5px 6px}.topbar-avatar{background:linear-gradient(135deg,#2563eb,#18a689)}.topbar-role{margin-top:1px;font-size:12px}.topbar-arrow{width:8px;height:8px;color:var(--text-subtle);border-bottom:2px solid;border-right:2px solid;transition:transform .16s;transform:rotate(45deg)}.topbar-arrow.is-open{transform:rotate(225deg)}.topbar-dropdown{border-radius:8px;overflow:hidden;box-shadow:0 18px 45px #11182729}.topbar-dropdown-item:hover{background:var(--accent-soft);color:var(--accent-deep)}.admin-tabbar,.admin-breadcrumb{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;flex:none}.admin-tabbar{height:42px;padding-left:12px}.admin-tab{min-width:auto;color:var(--text-muted);border-bottom:2px solid #0000;border-right:0;padding:0 14px}.admin-tab.is-active,.admin-tab.router-link-active{border-bottom-color:var(--accent);color:var(--accent-deep);background:0 0}.admin-breadcrumb{height:38px;padding:0 24px;font-size:13px}.admin-content{scrollbar-gutter:stable;flex:auto;min-height:0;padding:22px 24px 28px;overflow:hidden auto}.page,.dashboard-page{gap:18px}.section-head{min-height:40px;padding:0 2px}.section-title{margin:0;font-size:20px;font-weight:700}.section-copy{color:var(--text-muted);font-size:13px}.filter-bar,.panel,.table-panel,.kpi-card{border-color:var(--line);box-shadow:var(--shadow-soft);border-radius:8px}.filter-bar{padding:14px}.filter-left{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.filter-group{gap:7px;min-width:180px;display:grid}.filter-label,.field span{color:var(--text-muted);font-size:12px;font-weight:600}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.search-input,.select-input{background:#fff;border-color:#d8dee8;border-radius:7px;min-height:36px;transition:border-color .16s,box-shadow .16s,background-color .16s}.field textarea{resize:vertical;color:var(--text-main);padding:9px 12px}.field input:not([type=checkbox]):not([type=radio]):hover,.field select:hover,.field textarea:hover,.search-input:hover,.select-input:hover{border-color:#b8c2d4}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus,.search-input:focus,.select-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb24}.primary-button,.ghost-button,.btn{border-radius:7px;min-height:36px;transition:transform .12s,box-shadow .16s,border-color .16s,background-color .16s}.primary-button:hover,.btn-primary:hover,.btn-create:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb2e}.primary-button,.btn-primary,.btn-create{background:var(--accent);border-color:var(--accent)}.ghost-button,.btn-reset{background:#fff;border-color:#d8dee8}.ghost-button:hover,.btn-reset:hover{background:var(--accent-soft);color:var(--accent-deep);border-color:#b8ccff}.link-button{border-radius:5px;min-height:28px;padding:0 2px}.link-button:hover{color:var(--accent-deep)}.table-panel{padding:0;overflow:hidden}.table-panel>.form-error,.table-panel>.table-tip{margin:16px}.table-wrap{width:100%}.data-table{border-collapse:separate;border-spacing:0;min-width:900px;margin-top:0}.data-table th,.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px}.data-table th{z-index:1;color:#4b5565;white-space:nowrap;background:#f8fafc;font-size:12px;position:sticky;top:0}.data-table tbody tr{transition:background-color .14s}.data-table tbody tr:hover{background:#f8fbff}.data-table tbody tr:last-child td{border-bottom:0}.table-empty{height:132px;color:var(--text-subtle);background:#fbfcfe;font-size:14px}.table-tip{color:var(--text-subtle)}.status-chip{border-radius:999px;font-weight:600}.pagination-bar{border-top:1px solid var(--line);background:#fbfcfe;margin:0;padding:14px 16px}.page-btn{border-radius:7px}.page-btn:hover:not(:disabled){transform:translateY(-1px)}.modal-mask{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b}.modal-panel{border-radius:8px;width:min(100%,520px);max-height:calc(100vh - 48px);overflow:hidden;box-shadow:0 24px 70px #0f172a47}.modal-header,.modal-footer{padding:16px 20px}.modal-title{font-size:18px}.modal-close{border-radius:7px}.modal-close:hover{color:var(--text-main);background:#f1f4f8}.modal-body{max-height:calc(100vh - 180px);padding:18px 20px;overflow:auto}.form-error{border-radius:7px}.login-page{background:linear-gradient(135deg, #2563eb1f, transparent 36%), linear-gradient(315deg, #18a68921, transparent 30%), var(--app-bg)}.login-panel{border-radius:8px;box-shadow:0 24px 70px #1118271f}.dashboard-quote,.desktop-strip,.dashboard-fieldset{box-shadow:var(--shadow-soft);border-radius:8px}.dashboard-quote{min-height:88px;color:var(--text-main);background:#fff;border-left-width:6px;font-size:20px}.dashboard-legend{background:var(--app-bg);border-radius:999px;padding:2px 16px;font-size:18px;font-weight:700;top:-15px}.dashboard-stat-card{border-radius:8px;box-shadow:0 16px 32px #1118271f}.kpi-value{font-size:30px}@media (width<=1100px){:root{--sidebar-width:232px}.admin-shell{padding-left:var(--sidebar-width)}}@media (width<=860px){.admin-shell{padding-left:0;display:block;overflow-x:hidden}.sidebar{width:min(82vw,280px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.admin-shell.is-sidebar-open .sidebar{transform:translate(0)}.sidebar-scroll{max-height:none}.sidebar-scrim{z-index:19;background:#0f172a6b;border:0;position:fixed;inset:0}.topbar-menu-button{align-items:center;display:inline-flex}.topbar{padding:0 16px}.topbar-pill{display:none}.admin-content{padding:18px 16px 24px}.admin-breadcrumb{padding:0 16px}}@media (width<=760px){.topbar{align-items:center}.topbar-main{min-width:0}.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:38vw;font-size:16px;overflow:hidden}.topbar-role{display:none}.filter-left,.filter-group,.section-actions,.row-actions,.form-actions,.filter-left>*,.section-actions>*,.form-actions>*,.primary-button,.ghost-button,.btn{width:100%}.pagination-bar{align-items:flex-start}.pagination-actions{width:100%;padding-bottom:2px;overflow-x:auto}.modal-mask{place-items:end center;padding:12px}.modal-panel{width:100%;max-height:calc(100vh - 24px)}}
