@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap";.admin-page{font-family:var(--ce-font-body);padding:24px;max-width:1100px;margin:0 auto;display:grid;gap:28px;color:var(--ce-text-default)}.admin-header{display:grid;gap:10px}.admin-eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ce-accent-strong)}.admin-header h1,.admin-section h2{margin:0;font-family:var(--ce-font-heading);color:var(--ce-text-strong)}.admin-header p,.admin-muted{margin:0;color:var(--ce-text-muted);line-height:1.6}.admin-signal-row{display:flex;gap:10px;flex-wrap:wrap}.admin-signal-chip,.admin-summary-chip{display:inline-flex;align-items:center;border-radius:var(--ce-radius-pill);border:1px solid var(--ce-border-subtle);background:#ffffffc7;color:var(--ce-text-muted);padding:8px 12px;font-size:12px;font-weight:600;box-shadow:var(--ce-shadow-soft)}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:6px;border-radius:var(--ce-radius-lg);background:#ffffff8f;border:1px solid var(--ce-border-subtle);box-shadow:var(--ce-shadow-soft)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--ce-radius-lg);border:1px solid var(--ce-border-subtle);background:#ffffffd1;box-shadow:var(--ce-shadow-soft)}.admin-toolbar-meta{display:flex;gap:10px;flex-wrap:wrap}.admin-tab{border-radius:var(--ce-radius-pill);border:1px solid transparent;background:transparent;color:var(--ce-text-muted);padding:10px 14px;cursor:pointer;font-weight:600}.admin-tab-active{border-color:var(--ce-border-strong);background:linear-gradient(135deg,var(--ce-accent) 0%,var(--ce-accent-strong) 100%);color:#fff;box-shadow:0 12px 24px #1e40af2e}.admin-section{display:grid;gap:12px}.admin-summary-banner{display:grid;gap:6px;padding:16px;border-radius:var(--ce-radius-lg);border:1px solid var(--ce-border-subtle);background:linear-gradient(180deg,#fffffff5,#eef4faf5);box-shadow:var(--ce-shadow-soft)}.admin-summary-banner-title{color:var(--ce-text-strong);font-weight:700}.admin-summary-banner-text{color:var(--ce-text-muted);line-height:1.6}.admin-summary-strip{display:flex;gap:10px;flex-wrap:wrap}.admin-section-split{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.admin-subsection{display:grid;gap:12px}.admin-subsection h3{margin:0}.admin-card-grid{display:grid;gap:12px}.admin-card-grid-tight{margin-bottom:8px}.admin-card{border:1px solid var(--ce-border-subtle);border-radius:var(--ce-radius-md);padding:16px;display:grid;gap:4px;background:var(--ce-surface-raised);box-shadow:var(--ce-shadow-soft)}.admin-route-note{margin-top:6px;padding-top:8px;border-top:1px solid var(--ce-border-subtle);color:var(--ce-text-muted);line-height:1.5}.admin-signal-list{display:grid;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--ce-border-subtle)}.admin-signal-item{display:grid;gap:2px}.admin-signal-field{font-size:13px;color:var(--ce-text-strong);font-weight:600}.admin-overview-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-overview-card{border:1px solid var(--ce-border-subtle);border-radius:var(--ce-radius-md);padding:16px;display:grid;gap:6px;background:linear-gradient(180deg,#fffffffa,#f1f5f9fa);box-shadow:var(--ce-shadow-soft)}.admin-overview-label{font-size:13px;color:var(--ce-text-soft)}.admin-overview-value{font-size:28px;line-height:1;font-family:var(--ce-font-data);color:var(--ce-text-strong)}.admin-label{display:block;font-weight:600;margin-bottom:8px;color:var(--ce-text-strong)}.admin-editor-shell{display:grid;gap:12px;padding:16px;border-radius:var(--ce-radius-lg);border:1px solid var(--ce-border-subtle);background:#ffffffe0;box-shadow:var(--ce-shadow-soft)}.admin-editor-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.admin-editor-status-group{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-textarea{width:100%;min-height:320px;border-radius:var(--ce-radius-md);border:1px solid var(--ce-border-subtle);padding:16px;font-family:var(--ce-font-data);font-size:13px;background:#fffffff5;color:var(--ce-text-default);box-shadow:var(--ce-shadow-inset)}.admin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-primary-button{border-radius:var(--ce-radius-sm);border:1px solid var(--ce-accent-strong);background:linear-gradient(135deg,var(--ce-accent) 0%,var(--ce-accent-strong) 100%);color:#fff;padding:10px 16px;cursor:pointer;font-weight:600;box-shadow:0 12px 24px #1e40af2e}.admin-secondary-button{border-radius:var(--ce-radius-sm);border:1px solid var(--ce-border-subtle);background:var(--ce-surface-raised);color:var(--ce-text-default);padding:10px 16px;cursor:pointer;font-weight:600}.admin-primary-button:disabled,.admin-secondary-button:disabled{opacity:.6;cursor:not-allowed}.admin-banner{padding:12px 14px;border-radius:var(--ce-radius-md);background:var(--ce-surface-raised);border:1px solid var(--ce-border-subtle);box-shadow:var(--ce-shadow-soft)}.admin-banner-error{background:var(--ce-danger-soft);border-color:#b4231833;color:var(--ce-danger)}.admin-status{font-size:14px}.admin-status-pill{display:inline-flex;align-items:center;min-height:34px;border-radius:var(--ce-radius-pill);padding:6px 12px;font-size:12px;font-weight:600;border:1px solid transparent}.admin-status-success{color:var(--ce-success)}.admin-status-error{color:var(--ce-danger)}.admin-status-pill-success{background:var(--ce-success-soft);border-color:#1d7c582e;color:var(--ce-success)}.admin-status-pill-error{background:var(--ce-danger-soft);border-color:#b423182e;color:var(--ce-danger)}.admin-status-pill-warning{background:var(--ce-accent-warm-soft);border-color:#d977062e;color:#9a5a02}.admin-empty-card{color:var(--ce-text-muted)}.admin-tab:hover,.admin-primary-button:hover,.admin-secondary-button:hover{transform:translateY(-1px)}@media(max-width:640px){.admin-page{padding:16px}.admin-tab{width:100%}.admin-editor-header{flex-direction:column}.admin-toolbar{align-items:stretch}.admin-primary-button,.admin-secondary-button{width:100%}}:root{color-scheme:light;--ce-font-sans-default: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--ce-font-sans-admin: "Fira Sans", "Segoe UI", sans-serif;--ce-font-mono: "Fira Code", "SFMono-Regular", Consolas, monospace;--ce-font-heading: var(--ce-font-sans-default);--ce-font-body: var(--ce-font-sans-default);--ce-font-data: var(--ce-font-mono);--ce-space-1: 4px;--ce-space-2: 8px;--ce-space-3: 12px;--ce-space-4: 16px;--ce-space-5: 20px;--ce-space-6: 24px;--ce-space-7: 32px;--ce-space-8: 40px;--ce-radius-sm: 12px;--ce-radius-md: 16px;--ce-radius-lg: 20px;--ce-radius-pill: 999px;--ce-shadow-card: 0 16px 40px rgba(15, 23, 42, .08);--ce-shadow-soft: 0 8px 20px rgba(15, 23, 42, .06);--ce-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .7);--ce-motion-fast: .14s;--ce-motion-base: .22s;--ce-page-background: #f8fafc;--ce-surface-base: rgba(255, 255, 255, .92);--ce-surface-raised: rgba(255, 255, 255, .98);--ce-surface-muted: rgba(241, 245, 249, .88);--ce-surface-contrast: #10233f;--ce-border-subtle: rgba(148, 163, 184, .26);--ce-border-strong: rgba(37, 99, 235, .35);--ce-text-strong: #0f172a;--ce-text-default: #1e293b;--ce-text-muted: #526277;--ce-text-soft: #64748b;--ce-text-on-contrast: #f8fafc;--ce-accent: #2563eb;--ce-accent-strong: #1d4ed8;--ce-accent-soft: rgba(37, 99, 235, .12);--ce-accent-warm: #f59e0b;--ce-accent-warm-soft: rgba(245, 158, 11, .18);--ce-success: #0f9f6e;--ce-success-soft: rgba(15, 159, 110, .14);--ce-danger: #c2410c;--ce-danger-soft: rgba(194, 65, 12, .12);--ce-focus-ring: rgba(37, 99, 235, .28)}body.theme-web-user{--ce-font-heading: var(--ce-font-sans-default);--ce-font-body: var(--ce-font-sans-default);--ce-page-background: radial-gradient(circle at top left, rgba(59, 130, 246, .14), transparent 34%), radial-gradient(circle at top right, rgba(245, 158, 11, .14), transparent 28%), linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);--ce-surface-base: rgba(255, 255, 255, .76);--ce-surface-raised: rgba(255, 255, 255, .92);--ce-surface-muted: rgba(241, 245, 249, .78);--ce-surface-contrast: linear-gradient(180deg, #0f2340 0%, #102b4d 100%);--ce-border-subtle: rgba(96, 132, 173, .22);--ce-border-strong: rgba(37, 99, 235, .4);--ce-text-strong: #10233f;--ce-text-default: #22324a;--ce-text-muted: #526277;--ce-text-soft: #6b7b90;--ce-accent: #2563eb;--ce-accent-strong: #1d4ed8;--ce-accent-soft: rgba(37, 99, 235, .12);--ce-accent-warm: #f59e0b;--ce-accent-warm-soft: rgba(245, 158, 11, .15);--ce-success: #0f9f6e;--ce-danger: #c2410c;--ce-focus-ring: rgba(37, 99, 235, .28)}body.theme-web-admin{--ce-font-heading: var(--ce-font-sans-admin);--ce-font-body: var(--ce-font-sans-admin);--ce-page-background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);--ce-surface-base: rgba(255, 255, 255, .94);--ce-surface-raised: rgba(255, 255, 255, .99);--ce-surface-muted: rgba(238, 244, 250, .88);--ce-surface-contrast: linear-gradient(180deg, #10213d 0%, #17335f 100%);--ce-border-subtle: rgba(82, 101, 138, .18);--ce-border-strong: rgba(30, 64, 175, .34);--ce-text-strong: #10213d;--ce-text-default: #1f3250;--ce-text-muted: #58677c;--ce-text-soft: #728197;--ce-accent: #1e40af;--ce-accent-strong: #1d4ed8;--ce-accent-soft: rgba(30, 64, 175, .11);--ce-accent-warm: #d97706;--ce-accent-warm-soft: rgba(217, 119, 6, .14);--ce-success: #1d7c58;--ce-danger: #b42318;--ce-focus-ring: rgba(30, 64, 175, .22)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--ce-page-background);color:var(--ce-text-default);font-family:var(--ce-font-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,input,textarea,select,a{transition:border-color var(--ce-motion-fast) ease,background-color var(--ce-motion-fast) ease,color var(--ce-motion-fast) ease,box-shadow var(--ce-motion-fast) ease,transform var(--ce-motion-fast) ease}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--ce-focus-ring);outline-offset:2px}::selection{background:var(--ce-accent-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
