:root{--brand: #F26A45;--brand-hover: #E35C37;--brand-active: #C74C2B;--brand-lite: #FF8F6B;--brand-soft: #FDEBE4;--on-brand: #FFFFFF;--neutral-strong: #3F3B47;--neutral-soft: #EFEDEE;--success: #3F3B47;--warning: #F0A32E;--danger: #EF4B4E;--bg: #FDF8F4;--surface: #FFFFFF;--surface-warm: #FFF3EC;--ink: #1F1D29;--ink-2: #55515F;--muted: #8B8695;--meta: #B4AEBE;--border: #F2E6DE;--border-soft: #F8F0EA;--sidebar: #1F1D29;--sidebar-fg: #C3BDCE;--sidebar-active: #F26A45;--font-display: "Noto Sans SC", sans-serif;--font-playful: "Baloo 2", "Sora", sans-serif;--font-body: "Noto Sans SC", sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, monospace;--ease-bounce: cubic-bezier(.34,1.56,.64,1);--color-primitive-brand-50: #FDEBE4;--color-primitive-brand-100: #FBDDD1;--color-primitive-brand-300: #FF8F6B;--color-primitive-brand-500: #F26A45;--color-primitive-brand-600: #E35C37;--color-primitive-brand-700: #C74C2B;--color-primitive-neutralStrong-50: #EFEDEE;--color-primitive-neutralStrong-500: #3F3B47;--color-primitive-deprecated-mint: #17B79A;--color-primitive-deprecated-deepPine: #2E6B5A;--color-primitive-neutral-bg: #FDF8F4;--color-primitive-neutral-surface: #FFFFFF;--color-primitive-neutral-surface-warm: #FFF3EC;--color-primitive-neutral-ink: #1F1D29;--color-primitive-neutral-ink-2: #55515F;--color-primitive-neutral-muted: #8B8695;--color-primitive-neutral-meta: #B4AEBE;--color-primitive-neutral-border: #F2E6DE;--color-primitive-neutral-border-soft: #F8F0EA;--color-primitive-semantic-success: #3F3B47;--color-primitive-semantic-warning: #F0A32E;--color-primitive-semantic-danger: #EF4B4E;--color-semantic-B-primary: #F26A45;--color-semantic-B-primary-hover: #E35C37;--color-semantic-B-primary-active: #C74C2B;--color-semantic-B-on-primary: #FFFFFF;--color-semantic-B-neutral-strong: #3F3B47;--color-semantic-B-neutral-soft: #EFEDEE;--color-semantic-B-sidebar: #1F1D29;--color-semantic-B-sidebar-fg: #C3BDCE;--color-semantic-B-sidebar-active: #F26A45;--color-semantic-C-primary: #F26A45;--color-semantic-C-primary-hover: #E35C37;--color-semantic-C-primary-active: #C74C2B;--color-semantic-C-on-primary: #FFFFFF;--color-semantic-C-neutral-strong: #3F3B47;--color-semantic-C-neutral-soft: #EFEDEE;--color-shared-surface-bg: #FDF8F4;--color-shared-surface-surface: #FFFFFF;--color-shared-surface-surface-warm: #FFF3EC;--color-shared-surface-ink: #1F1D29;--color-shared-surface-ink-2: #55515F;--color-shared-surface-muted: #8B8695;--color-shared-surface-meta: #B4AEBE;--color-shared-surface-border: #F2E6DE;--color-shared-surface-border-soft: #F8F0EA;--color-shared-surface-success: #3F3B47;--color-shared-surface-warning: #F0A32E;--color-shared-surface-danger: #EF4B4E;--color-shared-surface-neutral-strong: #3F3B47;--color-shared-surface-neutral-soft: #EFEDEE;--font-family-display: "Noto Sans SC", sans-serif;--font-family-display-playful: "Baloo 2", "Sora", sans-serif;--font-family-body: "Noto Sans SC", sans-serif;--font-family-mono: "Spline Sans Mono", ui-monospace, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 26px;--font-size-3xl: 34px;--font-size-4xl: 44px;--font-weight-read: 400;--font-weight-emphasize: 600;--font-weight-announce: 800;--font-tracking-body: 0;--font-tracking-caps: .12em;--font-tracking-display: -.01em;--font-tracking-eyebrow: .16em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--layout-device-phoneMaxWidth: 352px;--layout-device-phoneAspect: 352/730;--layout-device-minGridColumn: 352px;--layout-container-maxWidth: 1320px;--layout-container-padding: clamp(14px,2.2vw,30px) clamp(12px,2vw,20px) 80px;--layout-equalColumnRule: repeat(n, minmax(0,1fr));--layout-kpiScale-containerType: inline-size;--layout-kpiScale-fontSize: clamp(16px,24cqw,26px);--layout-breakpoints-sm: 560px;--layout-breakpoints-md: 900px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-full: 9999px;--shadow-flat: none;--shadow-ring: 0 0 0 1px #F2E6DE;--shadow-soft: 0 2px 8px rgba(31,29,41,.06);--shadow-raised: 0 8px 24px rgba(31,29,41,.08);--shadow-brand: 0 10px 26px rgba(242,106,69,.2);--glass-bg: rgba(255,255,255,.66);--glass-border: rgba(255,255,255,.7);--glass-blur: 16px;--motion-fast: .14s;--motion-base: .2s;--motion-enter: .32s;--motion-ease: cubic-bezier(.34,1.56,.64,1);--icon-library: "Lucide (MIT)";--icon-component: '<AppIcon name="lucide:xxx" />';--icon-sizes-sm: 16px;--icon-sizes-md: 20px;--icon-sizes-lg: 24px;--icon-stroke: "1.5-2px";--icon-color: currentColor;--icon-render-web: "lucide-vue-next 内联 SVG";--icon-render-miniprogram: "自托管 iconfont (monochrome, currentColor)";--wechat-spec-nav-bar-height: 44px;--wechat-spec-tabbar-min: 2;--wechat-spec-tabbar-max: 5;--wechat-spec-tabbar-icon: 24px;--wechat-spec-tabbar-label: 10px;--wechat-spec-safe-area-bottom: 34px (env(safe-area-inset-bottom));--wechat-spec-touch-target: ">=44x44px"}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg)}.admin-shell{display:flex;height:100%}.admin-side{width:224px;flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#ffffff0d,#fff0 42%),var(--sidebar);color:var(--sidebar-fg);padding:20px 12px}.admin-side__brand{display:flex;align-items:center;gap:10px;padding:6px 12px 20px;color:#fff;font-weight:800;letter-spacing:var(--font-tracking-display);font-size:17px}.admin-side__brand .logo-dot{width:28px;height:28px;border-radius:9px;background:var(--brand);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.admin-menu{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.admin-menu__item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;color:var(--sidebar-fg);cursor:pointer;font-size:14px;border-left:3px solid transparent;white-space:nowrap;overflow:hidden}.admin-menu__item:hover{color:#fff}.admin-menu__item.is-active{background:#f26a4529;color:#fff;border-left-color:var(--sidebar-active);font-weight:600}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-topbar{height:56px;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border)}.admin-topbar__title{font-weight:800;font-size:16px;letter-spacing:var(--font-tracking-display)}.admin-content{flex:1;overflow-y:auto;padding:20px 24px 48px;max-width:var(--layout-container-maxWidth, 1320px);width:100%}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;margin-bottom:16px}.panel__title{font-weight:800;font-size:15px;margin-bottom:12px;color:var(--ink)}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;min-width:0}.kpi-card .l{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card .v{font-family:var(--font-playful);font-weight:800;font-size:26px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.kpi-card .v.is-brand{color:var(--brand)}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:9999px;font-size:12px;font-weight:600;white-space:nowrap}.pill--ok{background:var(--neutral-soft);color:var(--neutral-strong)}.pill--brand{background:var(--brand-soft);color:var(--brand)}.pill--amber{background:var(--surface-warm);color:var(--warning)}.pill--red{background:var(--surface-warm);color:var(--danger)}.pill--plain{border:1px solid var(--border);color:var(--ink-2);background:transparent}.num-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.notice{display:flex;gap:8px;align-items:flex-start;background:var(--surface-warm);border-radius:var(--radius-md);padding:14px 16px;font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:16px}.notice b{color:var(--ink)}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(600px 360px at 80% 10%,rgba(242,106,69,.2),transparent),var(--bg)}.login-card{width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:36px 32px}.login-card__title{font-size:22px;font-weight:800;letter-spacing:var(--font-tracking-display);margin-bottom:4px}.login-card__sub{font-size:13px;color:var(--muted);margin-bottom:24px}.muted{color:var(--muted);font-size:13px}
