:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f8fa;--foreground:#1e293b;--card:#fff;--card-foreground:#1e293b;--popover:#fff;--popover-foreground:#1e293b;--primary:#4f46e5;--primary-foreground:#fff;--secondary:#f1f5f9;--secondary-foreground:#1e293b;--muted:#f8fafc;--muted-foreground:#94a3b8;--accent:#6366f1;--accent-foreground:#fff;--destructive:#ef4444;--destructive-foreground:#fff;--border:#e2e8f0;--input:#e2e8f0;--ring:#4f46e5;--chart-1:#4f46e5;--chart-2:#10b981;--chart-3:#f59e0b;--chart-4:#ec4899;--chart-5:#06b6d4;--border-strong:#cbd5e1;--border-subtle:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-bright:#0f172a;--text-inverse:#fff;--state-success:#10b981;--state-success-bg:#d1fae5;--state-warning:#f59e0b;--state-warning-bg:#fef3c7;--state-error:#ef4444;--state-error-bg:#fee2e2;--state-info:#3b82f6;--state-info-bg:#dbeafe;--success:var(--state-success);--success-bg:var(--state-success-bg);--warning:var(--state-warning);--warning-bg:var(--state-warning-bg);--error:var(--state-error);--error-bg:var(--state-error-bg);--info:var(--state-info);--info-bg:var(--state-info-bg);--surface:#fff;--surface-hover:#f8fafc;--surface-active:#f1f5f9;--shadow-xs:0 1px 2px 0px #00000008;--shadow-sm:0 1px 3px 0px #0000000d, 0 1px 2px -1px #00000008;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000f;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--font-sans:"Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", monospace;--topnav-height:56px;--content-max-width:1200px;--site-footer-height:72px;--primary-hover:#4338ca;--platform-steam-bg:#dbeafe;--platform-steam-fg:#2563eb;--platform-steam-border:#bfdbfe;--platform-epic-bg:#f3f4f6;--platform-epic-fg:#374151;--platform-epic-border:#e5e7eb;--kpi-icon-indigo-bg:#eef2ff;--kpi-icon-indigo-fg:#4f46e5;--kpi-icon-emerald-bg:#d1fae5;--kpi-icon-emerald-fg:#10b981;--kpi-icon-amber-bg:#fef3c7;--kpi-icon-amber-fg:#f59e0b;--kpi-icon-rose-bg:#fee2e2;--kpi-icon-rose-fg:#ef4444;--ring-glow:#4f46e51a;--primary-bg:#eef2ff;--bg-glow-1:#6366f11a;--bg-glow-2:#4f46e514;--bg-glow-3:#10b9810f;--bg-glow-4:#ec48990d;--topnav-bg:var(--card);--topnav-border:var(--border)}html[data-theme=emerald]{--primary:#059669;--primary-hover:#047857;--accent:#10b981;--ring:#059669;--chart-1:#059669;--kpi-icon-indigo-bg:#d1fae5;--kpi-icon-indigo-fg:#059669;--ring-glow:#0596691f;--primary-bg:#ecfdf5;--bg-glow-1:#10b98117;--bg-glow-2:#0596690f;--bg-glow-3:#6366f10d}html[data-theme=ocean]{--primary:#0284c7;--primary-hover:#0369a1;--accent:#06b6d4;--ring:#0284c7;--chart-1:#0284c7;--kpi-icon-indigo-bg:#e0f2fe;--kpi-icon-indigo-fg:#0284c7;--ring-glow:#0284c71f;--primary-bg:#f0f9ff;--bg-glow-1:#06b6d41a;--bg-glow-2:#0284c70f;--bg-glow-3:#3b82f60d;--topnav-bg:linear-gradient(90deg, #0c4a6e, #0369a1);--topnav-border:transparent}html[data-theme=rose]{--primary:#e11d48;--primary-hover:#be123c;--accent:#f43f5e;--ring:#e11d48;--chart-1:#e11d48;--kpi-icon-indigo-bg:#ffe4e6;--kpi-icon-indigo-fg:#e11d48;--ring-glow:#e11d481f;--primary-bg:#fff1f2;--bg-glow-1:#f43f5e17;--bg-glow-2:#e11d480f;--bg-glow-3:#f472b60d}html[data-theme=glory]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0b1020;--foreground:#e8ecf5;--card:#ffffff0f;--card-foreground:#e8ecf5;--popover:#11162ce6;--popover-foreground:#e8ecf5;--primary:#f0b429;--primary-foreground:#161000;--primary-hover:#e0a525;--secondary:#ffffff14;--secondary-foreground:#e8ecf5;--muted:#ffffff0d;--muted-foreground:#8a93ad;--accent:#34d3eb;--accent-foreground:#08201f;--destructive:#f87171;--destructive-foreground:#fff;--border:#ffffff1a;--input:#ffffff24;--ring:#f0b429;--chart-1:#f0b429;--chart-2:#34d3eb;--chart-3:#a78bfa;--chart-4:#fb7185;--chart-5:#34d399;--border-strong:#fff3;--border-subtle:#ffffff0f;--text-primary:#eef2ffeb;--text-secondary:#c7d0e8b8;--text-muted:#9ba5c399;--text-bright:#fff;--text-inverse:#0f1424;--state-success:#34d399;--state-success-bg:#10b98126;--state-warning:#fbbf24;--state-warning-bg:#f59e0b26;--state-error:#f87171;--state-error-bg:#ef444426;--state-info:#60a5fa;--state-info-bg:#3b82f626;--surface:#ffffff0a;--surface-hover:#ffffff17;--surface-active:#ffffff21;--ring-glow:#f0b4292e;--primary-bg:#f0b4291f;--bg-glow-1:#f0b42921;--bg-glow-2:#8b5cf621;--bg-glow-3:#34d3eb1a;--bg-glow-4:#ec489917;--topnav-bg:#090d1a8c;--topnav-border:#ffffff14;--platform-steam-bg:#3884ff2e;--platform-steam-fg:#7db4ff;--platform-steam-border:#3884ff59;--platform-epic-bg:#ffffff14;--platform-epic-fg:#cfd6e4;--platform-epic-border:#ffffff24;--kpi-icon-indigo-bg:#f0b4292e;--kpi-icon-indigo-fg:#ffd970;--kpi-icon-emerald-bg:#10b9812e;--kpi-icon-emerald-fg:#6ee7b7;--kpi-icon-amber-bg:#f59e0b2e;--kpi-icon-amber-fg:#fcd34d;--kpi-icon-rose-bg:#f43f5e2e;--kpi-icon-rose-fg:#fda4af;--shadow-xs:0 1px 2px 0px #00000059;--shadow-sm:0 1px 3px 0px #0006, 0 1px 2px -1px #0000004d;--shadow-md:0 4px 6px -1px #00000073, 0 2px 4px -2px #00000059;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #0006;--shadow-xl:0 20px 25px -5px #0000008c, 0 8px 10px -6px #0006}.site-footer{z-index:40;border-top:1px solid var(--border);background:var(--card);padding:var(--space-5) var(--space-6);text-align:center;bottom:0;left:0;right:0}.site-footer-inner{max-width:var(--content-max-width);align-items:center;gap:var(--space-2);color:var(--text-muted);text-align:center;flex-direction:column;margin-inline:auto;font-size:.75rem;display:flex}.site-footer-links{justify-content:center;gap:var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.site-footer-beian{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.site-footer-links-label{color:var(--text-secondary);font-weight:600}.site-footer-link{color:var(--text-secondary);transition:color .15s}.site-footer-link:hover{color:var(--primary)}@media (width<=767px){:root{--site-footer-height:96px}.site-footer{padding:var(--space-3)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);white-space:nowrap;background:0 0;border:1px solid #0000;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-sm)}.btn-ghost{background:var(--card);color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.75rem}.btn-danger{background:var(--card);color:var(--state-error);border-color:var(--border)}.btn-danger:hover{background:var(--state-error-bg);border-color:var(--state-error)}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);transition:box-shadow .2s,border-color .2s}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card-head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-title{color:var(--text-bright);align-items:center;gap:var(--space-2);font-size:.9375rem;font-weight:600;display:flex}.card-title .dot-mark{background:var(--primary);border-radius:2px;width:4px;height:16px}.card-actions{gap:var(--space-2);align-items:center;display:flex}.input-field{background:var(--card);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);outline:none;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring-glow)}.input-field::placeholder{color:var(--text-muted)}.input-field.error{border-color:var(--state-error)}.input-field.error:focus{box-shadow:0 0 0 3px #ef44441a}textarea.input-field{resize:vertical;line-height:1.6}select.input-field{cursor:pointer}.filter-select{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);color:var(--text-primary);outline:none;font-size:.8125rem}.search-select input.filter-select{transition:border-color .15s,box-shadow .15s}.search-select input.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring-glow)}.search-select{min-width:120px;display:inline-block;position:relative}.search-select input{cursor:pointer;padding-right:30px}.search-select input:read-only{pointer-events:auto}.search-select:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);pointer-events:none;width:7px;height:7px;transition:transform .15s,border-color .15s;position:absolute;top:50%;right:12px;transform:translateY(-65%)rotate(45deg)}.search-select.open:after{border-color:var(--primary);transform:translateY(-35%)rotate(225deg)}.search-select.disabled input{cursor:not-allowed;opacity:.6;background:var(--surface-hover)}.search-select.disabled:after{opacity:.4}.search-select-panel{z-index:250;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(18px)saturate(150%);max-height:264px;padding:4px;animation:.12s popIn;position:fixed;overflow-y:auto}.search-select-option{text-align:left;border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:7px 10px;font-size:.8125rem;font-weight:500;transition:background .12s;display:block;overflow:hidden}.search-select-option:hover,.search-select-option.active{background:var(--surface-active);color:var(--text-bright)}.search-select-option.empty{color:var(--text-muted);cursor:default;font-weight:400}.search-select-option.empty:hover{color:var(--text-muted);background:0 0}.search-select.has-value input{padding-right:50px}.search-select-clear{background:var(--surface-hover);width:18px;height:18px;color:var(--text-muted);cursor:pointer;z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.search-select-clear:hover{background:var(--state-error);color:#fff}.search-select-clear svg{display:block}.search-select.multi{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-wrap:nowrap;align-items:center;gap:4px;padding:4px 6px;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.search-select.multi:hover{border-color:var(--primary)}.search-select.multi:after{display:none}.search-select.multi input.filter-select{width:auto;min-width:60px;box-shadow:none;background:0 0;border:none;flex:1;padding:2px 4px}.search-select-measurer{visibility:hidden;pointer-events:none;white-space:nowrap;align-items:center;gap:4px;display:inline-flex;position:absolute;top:0;left:-9999px}.search-select-more{color:var(--text-muted);letter-spacing:1px;white-space:nowrap;flex:none;padding:0 6px;font-size:12px;font-weight:600}.search-select-tag{background:var(--surface-active);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 6px 2px 10px;font-size:12px;font-weight:500;display:inline-flex}.search-select-tag button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;padding:0 2px;font-size:14px;line-height:1;transition:color .15s,background .15s}.search-select-tag button:hover{color:var(--text-bright);background:var(--surface-hover)}.search-select-check{width:16px;color:var(--primary);font-weight:700;display:inline-flex}.segment{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex;overflow-x:auto}.segment button{color:var(--text-secondary);padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius-md) - 2px);white-space:nowrap;background:0 0;border:none;font-size:.75rem;font-weight:600;transition:all .15s}.segment button.active{background:var(--card);color:var(--text-primary);box-shadow:var(--shadow-xs)}.alert-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);background:var(--state-warning-bg);border-radius:var(--radius-lg);border:1px solid #fde68a;display:flex}.alert-bar-icon{border-radius:var(--radius-full);background:var(--state-warning);color:#fff;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.875rem;font-weight:700;display:grid}.alert-bar-text{color:#92400e;flex:1;font-size:.8125rem}.alert-bar-text b{font-weight:700}.modal-mask{z-index:210;padding:var(--space-4);background:#0f172a73;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:560px;max-height:85vh;animation:.2s popIn;display:flex}.modal-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--text-bright);font-size:1rem;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.25rem;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex}.drawer-mask{z-index:100;background:#0f172a73;animation:.15s fadeIn;position:fixed;inset:0}.drawer{background:var(--card);width:480px;max-width:92vw;height:100%;box-shadow:var(--shadow-xl);z-index:101;flex-direction:column;animation:.25s slideIn;display:flex;position:fixed;top:0;right:0}.drawer-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.drawer-title{color:var(--text-bright);font-size:1rem;font-weight:600}.drawer-body{padding:var(--space-5);flex:1;overflow-y:auto}.drawer-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex}.empty-state{padding:var(--space-10) var(--space-4);color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.empty-icon{border-radius:var(--radius-full);background:var(--surface-active);place-items:center;width:48px;height:48px;font-size:1.375rem;display:grid}.empty-title{color:var(--text-secondary);font-size:.875rem;font-weight:600}.empty-desc{color:var(--text-muted);font-size:.75rem}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-wrap{z-index:300;gap:var(--space-2);flex-direction:column;align-items:center;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.toast{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:420px;font-size:.8125rem;font-weight:500;animation:.2s popIn}.toast-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.toast-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.toast-info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.toast-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.divider{background:var(--border);height:1px;margin:var(--space-4) 0;border:none}.progress-ring{place-items:center;display:inline-grid;position:relative}.progress-ring-value{font-size:.75rem;font-family:var(--font-mono);color:var(--text-bright);font-weight:700;position:absolute}.data-table{border-collapse:collapse;width:100%;font-size:.8125rem}.data-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;font-size:.75rem;font-weight:600}.data-table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table .num{font-family:var(--font-mono);text-align:right}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.text-right{text-align:right}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.flex-center{align-items:center;gap:var(--space-2);display:flex}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-4{margin-bottom:var(--space-4)}.w-full{width:100%}.wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.tag{padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--surface-active);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;font-size:.6875rem;font-weight:600;line-height:1.6;display:inline-flex}.tag .tag-close{cursor:pointer;opacity:.7;margin-left:2px}.tag .tag-close:hover{opacity:1}.tag-default{background:var(--surface-active);color:var(--text-secondary);border-color:var(--border)}.tag-success{background:var(--state-success-bg);color:var(--state-success);border-color:#0000}.tag-processing{background:var(--state-info-bg);color:var(--state-info);border-color:#0000}.tag-error{background:var(--state-error-bg);color:var(--state-error);border-color:#0000}.tag-warning{background:var(--state-warning-bg);color:#92400e;border-color:#0000}.tag-muted{background:var(--surface-active);color:var(--text-muted);border-color:#0000}.switch{border-radius:var(--radius-full);background:var(--border-strong);cursor:pointer;border:none;flex-shrink:0;align-items:center;width:44px;height:24px;padding:0;transition:background .2s;display:inline-flex;position:relative}.switch .switch-handle{background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;transition:transform .2s;display:grid;transform:translate(3px);box-shadow:0 1px 3px #0003}.switch.checked{background:var(--primary)}.switch.checked .switch-handle{transform:translate(23px)}.switch.disabled{opacity:.5;cursor:not-allowed}.switch .switch-loading-icon{border:2px solid #00000040;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}.ui-check,.ui-radio{align-items:center;gap:var(--space-2);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8125rem;display:inline-flex}.ui-check.disabled,.ui-radio.disabled{opacity:.55;cursor:not-allowed}.ui-check input[type=checkbox],.ui-radio input[type=radio]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.progress-line{align-items:center;gap:var(--space-2);display:flex}.progress-line-track{border-radius:var(--radius-full);background:var(--surface-active);flex:1;height:8px;overflow:hidden}.progress-line-fill{border-radius:var(--radius-full);background:var(--primary);height:100%;transition:width .3s}.progress-line-fill.success{background:var(--state-success)}.progress-line-fill.error{background:var(--state-error)}.progress-line-fill.warning{background:var(--state-warning)}.progress-text{color:var(--text-secondary);font-size:.75rem;font-family:var(--font-mono);flex-shrink:0}.tabs-nav{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);display:flex;overflow-x:auto}.tabs-tab{padding:var(--space-2) var(--space-3);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:.8125rem;font-weight:600;transition:color .15s,border-color .15s}.tabs-tab:hover{color:var(--text-primary)}.tabs-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.steps{align-items:flex-start;gap:0;display:flex}.steps-item{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.steps-item:not(:last-child):after{content:"";background:var(--border-subtle);height:2px;position:absolute;top:14px;left:calc(50% + 18px);right:calc(18px - 50%)}.steps-item.done:not(:last-child):after{background:var(--primary)}.steps-dot{background:var(--surface-active);width:28px;height:28px;color:var(--text-muted);border:1px solid var(--border);z-index:1;margin-bottom:var(--space-2);border-radius:50%;place-items:center;font-size:.75rem;font-weight:600;display:grid}.steps-item.active .steps-dot{background:var(--primary);color:#fff;border-color:var(--primary)}.steps-item.done .steps-dot{background:var(--state-success);color:#fff;border-color:var(--state-success)}.steps-label{color:var(--text-secondary);font-size:.75rem}.steps-item.active .steps-label{color:var(--text-primary);font-weight:600}.ui-form .form-item{margin-bottom:var(--space-4)}.ui-form .form-label{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:.75rem;font-weight:600;display:block}.ui-form .form-required:before{content:"*";color:var(--state-error);margin-right:4px}.form-item-horizontal{align-items:flex-start;gap:var(--space-3);display:flex}.ui-form .form-error{color:var(--state-error);margin-top:var(--space-1);font-size:.6875rem}.tip-wrap{display:inline-flex;position:relative}.tip-bubble{z-index:400;color:#fff;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);background:#141414e6;padding:4px 8px;font-size:.6875rem;position:absolute}.tip-bubble.top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-bubble.bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-bubble.left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.tip-bubble.right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.popconfirm-wrap{display:inline-flex;position:relative}.popconfirm{z-index:400;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);padding:var(--space-3);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.popconfirm-title{color:var(--text-primary);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);font-size:.8125rem;display:flex}.popconfirm-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.dropdown{display:inline-flex;position:relative}.dropdown-menu{z-index:400;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-lg);padding:var(--space-1);max-height:300px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.dropdown-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;width:100%;font-size:.75rem;display:flex}.dropdown-item:hover{background:var(--surface-hover);color:var(--text-primary)}.dropdown-item.danger{color:var(--state-error)}.dropdown-item.danger:hover{background:var(--state-error-bg)}.upload-area{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);border:2px dashed var(--border-strong);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:var(--bg-subtle,#8080800a);text-align:center;flex-direction:column;font-size:.8125rem;transition:border-color .15s,background .15s;display:flex}.upload-area:hover{border-color:var(--primary);background:var(--primary-bg,#6366f10d)}.upload-area.disabled{opacity:.6;cursor:not-allowed}.upload-area-icon{color:var(--text-muted);font-size:1.75rem}.descriptions{width:100%}.descriptions table{border-collapse:collapse;width:100%}.descriptions-label{padding:var(--space-2) var(--space-3);color:var(--text-muted);text-align:left;white-space:nowrap;vertical-align:top;font-size:.8125rem;font-weight:600}.descriptions-content{padding:var(--space-2) var(--space-3);color:var(--text-primary);font-size:.875rem}.descriptions-bordered{border:1px solid var(--border);border-radius:var(--radius)}.descriptions-bordered .descriptions-label,.descriptions-bordered .descriptions-content{border-bottom:1px solid var(--border-subtle)}.descriptions-small .descriptions-label,.descriptions-small .descriptions-content{padding:var(--space-1) var(--space-2);font-size:.75rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-2);flex-direction:column;transition:box-shadow .2s,border-color .2s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stat-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.stat-card-icon{border-radius:var(--radius-md);background:var(--surface-active);width:40px;height:40px;color:var(--text-secondary);flex-shrink:0;place-items:center;font-size:1.25rem;display:grid}.stat-card-icon.indigo{background:var(--primary-bg);color:var(--primary)}.stat-card-icon.emerald{background:var(--state-success-bg);color:var(--state-success)}.stat-card-icon.amber{background:var(--state-warning-bg);color:var(--state-warning)}.stat-card-icon.rose{background:var(--state-error-bg);color:var(--state-error)}.stat-card-label{color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.4}.stat-card-value{font-family:var(--font-mono);color:var(--text-bright);font-size:1.625rem;font-weight:700;line-height:1.1}.stat-card-value .unit{color:var(--text-muted);margin-left:2px;font-size:.75rem;font-weight:600}.stat-card-trend{color:var(--text-muted);font-size:.6875rem}.stat-card-trend.warn{color:var(--text-muted)}.stat-card-footer{border-top:1px dashed var(--border-subtle);margin-top:var(--space-2);padding-top:var(--space-2);color:var(--text-secondary);font-size:.75rem}.unit{color:var(--text-muted);margin-left:2px;font-size:.75rem;font-weight:600}.kpi-card-h{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .2s;display:flex}.kpi-card-h:hover{box-shadow:var(--shadow-md)}.kpi-icon-sm{border-radius:var(--radius-md);background:var(--surface-active);width:36px;height:36px;color:var(--text-secondary);flex-shrink:0;place-items:center;font-size:1.125rem;display:grid}.kpi-icon-sm.indigo{background:var(--primary-bg);color:var(--primary)}.kpi-icon-sm.emerald{background:var(--state-success-bg);color:var(--state-success)}.kpi-icon-sm.amber{background:var(--state-warning-bg);color:var(--state-warning)}.kpi-icon-sm.rose{background:var(--state-error-bg);color:var(--state-error)}.kpi-card-h-body{flex:1;min-width:0}.kpi-value{font-family:var(--font-mono);color:var(--text-bright);font-weight:700;line-height:1.1}.kpi-value-sm{font-size:1.25rem}.kpi-label{align-items:baseline;gap:var(--space-2);color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.4;display:flex}.kpi-label-hint{color:var(--text-muted);font-size:.6875rem;font-weight:400}.timeline{gap:var(--space-4);padding:var(--space-2) 0 var(--space-2) var(--space-6);flex-direction:column;display:flex;position:relative}.timeline:before{content:"";background:var(--border-subtle);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:4px}.timeline-item{position:relative}.timeline-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px;position:absolute;top:4px;left:-24px}.timeline-dot.success{background:var(--state-success)}.timeline-dot.primary{background:var(--primary)}.timeline-dot.error{background:var(--state-error)}.timeline-dot.muted{background:var(--text-muted)}.timeline-dot.warning{background:var(--state-warning)}.spin-overlay{z-index:20;background:var(--muted);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spin-full{border-radius:inherit}.btn-spin{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}.alert{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);align-items:flex-start;font-size:.8125rem;line-height:1.5;display:flex}.alert-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.alert-info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.alert-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.alert-banner{border-left:none;border-right:none;border-radius:0}.alert-icon{flex-shrink:0;margin-top:2px;display:inline-flex}.input{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;padding:var(--space-1) var(--space-2);box-sizing:border-box;align-items:center;gap:6px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring-glow)}.input.disabled{opacity:.6;cursor:not-allowed}.input>input,.input>textarea{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:.8125rem}.input>input::placeholder,.input>textarea::placeholder{color:var(--text-muted)}.input-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.input-clear:hover{color:var(--text-bright);background:var(--surface-hover)}.input-number{background:var(--card);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);box-sizing:border-box;outline:none;width:100%;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.input-number:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring-glow)}.input-number:disabled{opacity:.55;cursor:not-allowed}.month-picker{align-items:center;gap:var(--space-2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;padding:var(--space-2) var(--space-3);color:var(--text-primary);cursor:pointer;box-sizing:border-box;font-size:.8125rem;transition:border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.month-picker:hover{border-color:var(--primary)}.month-picker.disabled{opacity:.6;cursor:not-allowed}.month-picker-display{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.month-picker-icon{color:var(--text-muted);pointer-events:none;flex-shrink:0}.month-picker input[type=month]{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;height:100%;position:absolute;inset:0}.tabs-content{padding-top:var(--space-3)}.ui-card-body,.ui-card-body-sm{min-width:0}.card-sm{padding:var(--space-2)}.card-borderless{border:none}.card-head-sm{margin-bottom:var(--space-2)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-active) 25%, var(--surface-hover) 37%, var(--surface-active) 63%);background-size:400% 100%;animation:1.4s infinite skeletonShimmer}@keyframes skeletonShimmer{0%{background-position:100%}to{background-position:0}}.ui-row{flex-wrap:wrap;display:flex}.ui-col{flex:1;min-width:0}.switch-inner{color:var(--text-inverse,#fff);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:.625rem;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.switch-inner:not(.on){text-align:right;left:26px;right:4px}.switch-inner.on{text-align:left;left:4px;right:26px}.date-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text-primary);font-size:.6875rem}.badge{border-radius:var(--radius-full);background:var(--state-error);color:#fff;box-sizing:border-box;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.badge-info{background:var(--state-info)}.badge-success{background:var(--state-success)}.badge-error{background:var(--state-error)}.badge-warning{background:var(--state-warning)}.badge-muted{background:var(--text-muted)}.ui-tooltip-wrap{display:inline-flex;position:relative}.ui-desc-grid,.ui-descriptions.bordered .ui-desc-grid{gap:0}.filter-bar{align-items:center;gap:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.upload-trigger{cursor:pointer;display:inline-flex}
