.global-loading-bar[data-v-8f7be8f5]{position:fixed;top:0;left:0;right:0;height:3px;z-index:2000;pointer-events:none;opacity:0;transition:opacity .22s ease}.global-loading-bar.show[data-v-8f7be8f5]{opacity:1}.bar[data-v-8f7be8f5]{height:100%;width:40%;background:linear-gradient(90deg,var(--primary),var(--primary-strong));border-radius:0 2px 2px 0;animation:global-loading-slide-8f7be8f5 1.1s ease-in-out infinite;transform-origin:left}@keyframes global-loading-slide-8f7be8f5{0%{margin-left:-40%}50%{margin-left:55%}to{margin-left:105%}}@media(prefers-reduced-motion:reduce){.bar[data-v-8f7be8f5]{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;line-height:1.4;transition:color .16s,background .16s,border-color .16s,box-shadow .16s;white-space:nowrap;border:1px solid transparent}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 3px #a519151a}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-primary:active:not(:disabled){box-shadow:none}.btn-outline{background:var(--surface);border-color:var(--line);color:var(--ink-secondary)}.btn-outline:hover:not(:disabled){border-color:#d0d4db;background:var(--bg);color:var(--ink)}.btn-ghost{color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--line-light);color:var(--ink)}.btn-sm{min-height:30px;padding:5px 10px;font-size:12px}.btn-icon{width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.page-action-meta{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:767px){.page-actions{gap:6px}.page-actions .btn-label,.page-actions .page-action-meta{display:none}}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.card-hover{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.card-hover:hover{border-color:#d4d8df;box-shadow:var(--shadow-md)}.input,.textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);outline:none;font-size:13px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.input{min-height:36px}.input:hover:not(:disabled),.textarea:hover:not(:disabled),.select:hover:not(:disabled){border-color:#ccd1d9}.input:focus,.textarea:focus,.select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.input:disabled,.textarea:disabled{background:var(--bg);color:var(--muted)}.textarea{resize:vertical;min-height:88px;line-height:1.75}.select{min-height:36px;padding:7px 30px 7px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737985' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;outline:none;font-size:13px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.tag{display:inline-flex;align-items:center;padding:2px 8px;background:var(--line-light);border-radius:5px;font-size:11px;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:5px;font-size:11px;font-weight:500;line-height:1.4;gap:4px;white-space:nowrap}.badge-ok{background:var(--ok-light);color:var(--ok)}.badge-warn{background:var(--warn-light);color:var(--warn)}.badge-primary,.badge-accent{background:var(--primary-light);color:var(--primary-strong)}.badge-muted{background:var(--line-light);color:var(--muted)}.admin-id{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 6px;border-radius:4px;background:var(--line-light);color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.5;white-space:nowrap;-webkit-user-select:all;user-select:all}.admin-id-cell{color:var(--muted);font-family:var(--font-mono);font-size:12px;white-space:nowrap;-webkit-user-select:all;user-select:all}.admin-id-column{width:88px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:var(--muted);gap:10px;font-size:13px;text-align:center}.tab-bar{display:flex;flex-shrink:0;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto}.tab{padding:14px 2px;font-size:13px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;transition:color .16s,border-color .16s;background:transparent;white-space:nowrap}.tab:hover{color:var(--ink)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}:root{--bg: #F6F7F9;--surface: #FFFFFF;--ink: #202124;--ink-secondary: #4C515B;--muted: #737985;--muted-light: #9197A1;--line: #E7E9ED;--line-light: #F1F2F5;--primary: #D4221C;--primary-strong: #B51B16;--primary-light: #FCEDEC;--accent: var(--primary);--accent-light: var(--primary-light);--ok: #238363;--ok-light: #EAF6F0;--warn: #A36B16;--warn-light: #FFF5E2;--danger: #C83232;--danger-light: #FDEEEE;--chart-1: #D4221C;--chart-2: #506581;--chart-3: #4C9487;--chart-4: #C0954F;--chart-5: #9182A6;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 6px rgba(25, 32, 46, .025);--shadow-md: 0 8px 28px rgba(25, 32, 46, .07);--shadow-lg: 0 20px 64px rgba(25, 32, 46, .14);--focus-ring: 0 0 0 3px rgba(212, 34, 28, .1);--nav-w: 232px;--topbar-h: 64px;--font-body: "PingFang SC", "Microsoft YaHei", -apple-system, "Helvetica Neue", sans-serif;--font-display: var(--font-body);--font-mono: "SF Mono", "Menlo", "Consolas", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d8dbe1;border:1px solid transparent;border-radius:6px;background-clip:padding-box}::selection{background:var(--primary-light);color:var(--primary-strong)}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button svg{flex-shrink:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;accent-color:var(--primary)}input::placeholder,textarea::placeholder{color:var(--muted-light)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.fade-in{animation:fadeIn .24s ease-out}body.picker-body-lock{overflow:hidden}.streaming-cursor:after{content:"▊";color:var(--primary);animation:pulse 1s ease-in-out infinite}.skel{position:relative;overflow:hidden;background:var(--line-light);border-radius:6px}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgb(255 255 255 / 60%),transparent);animation:skel-sweep 1.5s ease-in-out infinite}.skel-cover{aspect-ratio:3 / 4}.skel-line{height:12px;border-radius:4px}.skel-btn{height:36px;border-radius:8px}.skel-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}@keyframes skel-sweep{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
