.icon[data-v-f36c16b9]{flex:none}.sidebar[data-v-f21835ea]{width:var(--sidebar-w);gap:var(--sp-6);padding:var(--sp-5) var(--sp-3);background:var(--surface);border-right:1px solid var(--border-subtle);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand[data-v-f21835ea]{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);min-height:40px;display:flex}.mark[data-v-f21835ea]{border-radius:var(--r-sm);background:var(--primary-50);width:28px;height:28px;color:var(--primary-500);flex:none;place-items:center;display:grid}.wordmark[data-v-f21835ea]{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap}.wordmark em[data-v-f21835ea]{margin-left:var(--sp-1);font-style:normal;font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--text-tertiary)}.nav[data-v-f21835ea]{gap:var(--sp-1);flex-direction:column;display:flex}.nav-item[data-v-f21835ea]{align-items:center;gap:var(--sp-2);height:var(--nav-item-h);padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--text-secondary);font-size:var(--fs-body);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);display:flex}.nav-item[data-v-f21835ea]:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.router-link-exact-active[data-v-f21835ea]{background:var(--primary-50);color:var(--primary-700);font-weight:var(--fw-medium)}.nav-item .icon[data-v-f21835ea]{color:inherit}@media (width<=1023px){.sidebar[data-v-f21835ea]{width:var(--sidebar-rail-w);padding:var(--sp-5) var(--sp-2);align-items:center}.brand[data-v-f21835ea]{justify-content:center;padding:0}.wordmark[data-v-f21835ea]{display:none}.nav-item[data-v-f21835ea]{width:var(--nav-item-h);justify-content:center;padding:0}.nav-label[data-v-f21835ea]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=767px){.sidebar[data-v-f21835ea]{display:none}}.topbar[data-v-78a4b780]{z-index:var(--z-sticky);align-items:center;gap:var(--sp-4);height:var(--topbar-h);padding:0 var(--page-px);background:var(--surface);border-bottom:1px solid var(--border-subtle);display:flex;position:sticky;top:0}.crumb[data-v-78a4b780]{font-size:var(--fs-table-head);color:var(--text-secondary);margin-right:auto}.brand-mini[data-v-78a4b780]{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary);margin-right:auto;display:none}.brand-mini em[data-v-78a4b780]{font-style:normal;font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--text-tertiary)}.tools[data-v-78a4b780]{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.who[data-v-78a4b780]{align-items:center;gap:var(--sp-2);padding-right:var(--sp-2);display:flex}.avatar[data-v-78a4b780]{border-radius:var(--r-pill);background:var(--primary-50);width:32px;height:32px;color:var(--primary-700);font-size:var(--fs-body);font-weight:var(--fw-medium);place-items:center;display:grid}.who-text[data-v-78a4b780]{flex-direction:column;line-height:1.2;display:flex}.who-name[data-v-78a4b780]{font-size:var(--fs-body);color:var(--text-primary)}.who-role[data-v-78a4b780]{font-size:var(--fs-caption);color:var(--text-secondary)}.sign-out .icon[data-v-78a4b780]{color:inherit}@media (width<=1023px){.who-text[data-v-78a4b780]{display:none}}@media (width<=767px){.topbar[data-v-78a4b780]{padding:0 var(--sp-4)}.crumb[data-v-78a4b780]{display:none}.brand-mini[data-v-78a4b780]{display:block}}.tabbar[data-v-ae6ee45e]{z-index:var(--z-tabbar);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border-subtle);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.tab[data-v-ae6ee45e]{color:var(--text-secondary);transition:color var(--dur-fast) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.tab .icon[data-v-ae6ee45e]{color:inherit}.tab-label[data-v-ae6ee45e]{font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;line-height:1.2}.tab.router-link-exact-active[data-v-ae6ee45e]{color:var(--primary-500)}@media (width>=768px){.tabbar[data-v-ae6ee45e]{display:none}}.toasts[data-v-3b5c9fa3]{inset:auto var(--sp-5) calc(var(--sp-5) + env(safe-area-inset-bottom)) auto;z-index:var(--z-toast);justify-items:end;gap:var(--sp-2);max-width:min(28rem, calc(100vw - var(--sp-8)));display:grid;position:fixed}.toast[data-v-3b5c9fa3]{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-pop);font-size:var(--fs-body);color:var(--text-primary);display:flex}.toast-success[data-v-3b5c9fa3]{border-color:#16a76552}.toast-success .icon[data-v-3b5c9fa3]:first-child{color:var(--success-fg)}.toast-info[data-v-3b5c9fa3]{border-color:#4f83e852}.toast-info .icon[data-v-3b5c9fa3]:first-child{color:var(--info-fg)}.toast-danger[data-v-3b5c9fa3]{border-color:#e65d615c}.toast-danger .icon[data-v-3b5c9fa3]:first-child{color:var(--danger-fg)}.toast-close[data-v-3b5c9fa3]{width:24px;height:24px;margin-left:var(--sp-1);border-radius:var(--r-sm);color:var(--text-secondary);background:0 0;border:none;place-items:center;padding:0;display:inline-grid}.toast-close[data-v-3b5c9fa3]:hover{background:var(--surface-hover);color:var(--text-primary)}.toast-enter-active[data-v-3b5c9fa3],.toast-leave-active[data-v-3b5c9fa3]{transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease)}.toast-enter-from[data-v-3b5c9fa3],.toast-leave-to[data-v-3b5c9fa3]{opacity:0;transform:translateY(6px)}@media (width<=767px){.toasts[data-v-3b5c9fa3]{inset:auto var(--sp-4) calc(var(--tabbar-h) + var(--sp-6) + env(safe-area-inset-bottom)) var(--sp-4);justify-items:stretch;max-width:none}}.shell[data-v-aacaf9d8]{min-height:100vh}.shell-col[data-v-aacaf9d8]{margin-left:var(--sidebar-w);flex-direction:column;min-height:100vh;display:flex}.shell-main[data-v-aacaf9d8]{width:100%;max-width:1600px;padding:var(--page-py) var(--page-px) var(--sp-12);flex:auto;margin-inline:auto}@media (width<=1023px){.shell-col[data-v-aacaf9d8]{margin-left:var(--sidebar-rail-w)}}@media (width<=767px){.shell-col[data-v-aacaf9d8]{margin-left:0}.shell-main[data-v-aacaf9d8]{padding:var(--sp-4) var(--sp-4) calc(var(--tabbar-h) + var(--sp-8) + env(safe-area-inset-bottom))}}.gate[data-v-e448b3d8]{min-height:100vh;padding:var(--sp-6);place-items:center;display:grid}.gate .card[data-v-e448b3d8]{gap:var(--sp-4);border-radius:var(--r-xl);justify-items:start;width:100%;max-width:30rem;display:grid}.gate-title[data-v-e448b3d8]{font-size:var(--fs-section-title)}.gate-note[data-v-e448b3d8]{padding:var(--sp-10);text-align:center;color:var(--text-secondary)}.ov[data-v-22d762e7]{z-index:var(--z-dialog);padding:var(--sp-5);background:#15171c52;place-items:center;display:grid;position:fixed;inset:0}.dialog[data-v-22d762e7]{gap:var(--sp-3);width:min(30rem,100%);padding:var(--sp-6);background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-pop);border-radius:16px;display:grid}.dialog-title[data-v-22d762e7]{font-size:var(--fs-section-title)}.dialog-desc[data-v-22d762e7]{color:var(--text-secondary);line-height:var(--lh-snug)}.dialog-actions[data-v-22d762e7]{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.ov-enter-active[data-v-22d762e7],.ov-leave-active[data-v-22d762e7]{transition:opacity var(--dur-pop) var(--ease)}.ov-enter-from[data-v-22d762e7],.ov-leave-to[data-v-22d762e7]{opacity:0}.ov-enter-active .dialog[data-v-22d762e7],.ov-leave-active .dialog[data-v-22d762e7]{transition:transform var(--dur-pop) var(--ease)}.ov-enter-from .dialog[data-v-22d762e7],.ov-leave-to .dialog[data-v-22d762e7]{transform:translateY(8px)}.empty[data-v-fe4a4bde]{padding:var(--sp-10) var(--sp-5)}.empty-icon[data-v-fe4a4bde]{color:var(--text-tertiary);margin-bottom:var(--sp-2)}.empty-desc[data-v-fe4a4bde]{max-width:34rem;font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-snug)}.empty[data-v-fe4a4bde] .btn{margin-top:var(--sp-3)}.loading[data-v-802166cd]{gap:var(--sp-3);padding:var(--sp-4);display:grid}.loading-inline[data-v-802166cd]{padding:var(--sp-3) 0;display:block}.loading-text[data-v-802166cd]{align-items:center;gap:var(--sp-2);font-size:var(--fs-caption);color:var(--text-secondary);display:inline-flex}.loading-rows[data-v-802166cd]{gap:var(--sp-2);display:grid}.fld-narrow[data-v-84743af2]{flex:0 160px}.fld-caption[data-v-84743af2]{align-items:center;gap:var(--sp-1);display:inline-flex}.fld-label[data-v-84743af2]{gap:var(--sp-2);flex-direction:column;display:flex}.ph[data-v-4d302354]{align-items:flex-start;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.ph-text[data-v-4d302354]{gap:var(--sp-1);min-width:0;margin-right:auto;display:grid}.ph-text .muted[data-v-4d302354]{line-height:var(--lh-snug)}.ph-actions[data-v-4d302354]{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}@media (width<=767px){.ph-actions[data-v-4d302354]{width:100%}}.cols[data-v-55ebe075]{gap:var(--gap-card);align-items:start;display:grid}.flow[data-v-55ebe075]{gap:var(--gap-card);min-width:0;display:grid}.step[data-v-55ebe075]{gap:var(--sp-4);display:grid}.picker[data-v-55ebe075]{align-items:flex-end;gap:var(--sp-3);display:flex}.fld-grow[data-v-55ebe075]{flex:14rem}.picker .btn[data-v-55ebe075]{flex:none}.picks[data-v-55ebe075]{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.pick[data-v-55ebe075]{justify-content:space-between;align-items:center;gap:var(--sp-4);text-align:left;width:100%;height:auto;min-height:var(--row-h);padding:var(--sp-2) var(--sp-4);background:var(--surface-subtle);border-color:var(--border-subtle);display:flex}.pick[data-v-55ebe075]:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-100)}.pick-name[data-v-55ebe075]{font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pick .card-note[data-v-55ebe075]{white-space:nowrap;flex:none}.chosen[data-v-55ebe075]{place-self:start;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--primary-50);border:1px solid var(--primary-100);color:var(--primary-700);font-size:var(--fs-caption);font-weight:var(--fw-medium);display:inline-flex}.chosen-clear[data-v-55ebe075]{border-radius:var(--r-pill);width:20px;height:20px;color:inherit;background:0 0;border:none;place-items:center;padding:0;display:inline-grid}.chosen-clear[data-v-55ebe075]:hover:not(:disabled){background:var(--primary-100)}.team-note[data-v-55ebe075]{padding:var(--sp-2) var(--sp-3);background:var(--surface-subtle);border-radius:var(--r-md)}.lineup[data-v-55ebe075]{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);display:grid}.submit[data-v-55ebe075]{justify-self:stretch}.unknown-actions[data-v-55ebe075]{align-items:center;gap:var(--sp-2);margin-left:var(--sp-3);vertical-align:middle;flex-wrap:wrap;display:inline-flex}.alert-link[data-v-55ebe075]{color:inherit;font-weight:var(--fw-medium);text-decoration:underline}.inline-retry[data-v-55ebe075]{margin-left:var(--sp-2);vertical-align:middle}.today[data-v-55ebe075]{gap:var(--gap-card);min-width:0;display:grid}.totals[data-v-55ebe075]{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.totals div[data-v-55ebe075]{gap:var(--sp-1);display:grid}.totals dt[data-v-55ebe075]{font-size:var(--fs-caption);color:var(--text-secondary)}.totals dd[data-v-55ebe075]{font-size:var(--fs-page-title);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:0;line-height:1.2}.totals-note[data-v-55ebe075]{margin-top:var(--sp-3)}.no-totals[data-v-55ebe075]{padding:0 var(--sp-1)}@media (width>=640px){.lineup[data-v-55ebe075]{grid-template-columns:1.1fr 1fr 1fr}}@media (width>=960px){.cols-split[data-v-55ebe075]{gap:var(--sp-6);grid-template-columns:minmax(0,1fr) 20rem}}.login[data-v-e5f7da7e]{min-height:100vh;padding:var(--sp-10) var(--sp-4);justify-content:center;align-items:center;display:flex}.panel[data-v-e5f7da7e]{width:100%;max-width:25rem;padding:var(--sp-10) var(--sp-8);border-radius:var(--r-2xl)}.brand[data-v-e5f7da7e]{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-8);display:flex}.mark[data-v-e5f7da7e]{border-radius:var(--r-sm);background:var(--primary-50);width:28px;height:28px;color:var(--primary-500);place-items:center;display:grid}.wordmark[data-v-e5f7da7e]{font-size:var(--fs-body-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.wordmark em[data-v-e5f7da7e]{font-style:normal;font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--text-secondary);margin-left:var(--sp-1);border-radius:var(--r-pill);background:var(--neutral-bg);padding:2px 6px}.panel-title[data-v-e5f7da7e]{font-size:var(--fs-page-title);margin-bottom:var(--sp-6)}.caveat[data-v-e5f7da7e]{margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-snug)}@media (width<=767px){.login[data-v-e5f7da7e]{padding:var(--sp-6) var(--sp-4);min-height:100dvh}.panel[data-v-e5f7da7e]{padding:var(--sp-8) var(--sp-6);border-radius:var(--r-xl)}}.filters-card[data-v-78f12447]{gap:var(--sp-3);padding:var(--sp-4);display:grid}.filters[data-v-78f12447]{align-items:flex-end}.filters-actions[data-v-78f12447]{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.filters .btn .icon[data-v-78f12447]{color:inherit}.btn-primary .icon[data-v-78f12447]{color:#fff}.chip button .icon[data-v-78f12447]{color:inherit}@media (width<=767px){.filters-actions[data-v-78f12447]{width:100%}.filters-actions .btn[data-v-78f12447]{flex:auto}}.pager[data-v-e9219ba9]{gap:var(--sp-2)}.pager-pos[data-v-e9219ba9]{text-align:center;min-width:4rem}.pager .btn-sm .icon[data-v-e9219ba9]{color:inherit}.create[data-v-dffafbee]{gap:var(--sp-4);display:grid}.fields[data-v-dffafbee]{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;display:grid}.fields .btn[data-v-dffafbee]{align-self:end}.fld-grow[data-v-dffafbee]{flex:14rem}@media (width<=1023px){.fields[data-v-dffafbee]{grid-template-columns:repeat(2,minmax(0,1fr))}.fields .btn[data-v-dffafbee]{grid-column:1/-1}}@media (width<=767px){.fields[data-v-dffafbee]{grid-template-columns:minmax(0,1fr)}}.ov[data-v-233a0a08]{z-index:var(--z-drawer);background:#15171c52;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer[data-v-233a0a08]{background:var(--surface);border-left:1px solid var(--border-subtle);width:min(30rem,100%);height:100%;box-shadow:var(--shadow-pop);outline:none;flex-direction:column;display:flex}.drawer-head[data-v-233a0a08]{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);display:flex}.drawer-titles[data-v-233a0a08]{gap:var(--sp-1);min-width:0;margin-right:auto;display:grid}.drawer-title[data-v-233a0a08]{font-size:var(--fs-section-title)}.drawer-sub[data-v-233a0a08]{font-size:var(--fs-caption);color:var(--text-secondary)}.drawer-body[data-v-233a0a08]{padding:var(--sp-5);gap:var(--sp-4);flex:auto;align-content:start;display:grid;overflow-y:auto}.drawer-foot[data-v-233a0a08]{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-subtle);background:var(--surface-subtle);display:flex}.ov-enter-active[data-v-233a0a08],.ov-leave-active[data-v-233a0a08]{transition:opacity var(--dur-pop) var(--ease)}.ov-enter-from[data-v-233a0a08],.ov-leave-to[data-v-233a0a08]{opacity:0}.ov-enter-active .drawer[data-v-233a0a08],.ov-leave-active .drawer[data-v-233a0a08]{transition:transform var(--dur-pop) var(--ease)}.ov-enter-from .drawer[data-v-233a0a08],.ov-leave-to .drawer[data-v-233a0a08]{transform:translate(24px)}@media (width<=767px){.drawer[data-v-233a0a08]{width:100%}.drawer-body[data-v-233a0a08]{padding:var(--sp-4)}.drawer-foot[data-v-233a0a08]{padding-bottom:max(var(--sp-4), env(safe-area-inset-bottom))}}.fld-grow[data-v-42395047]{flex:14rem}.inline-retry[data-v-42395047]{margin-left:var(--sp-2);vertical-align:middle}.facts[data-v-42395047]{gap:var(--sp-2);padding:var(--sp-4);background:var(--surface-subtle);border-radius:var(--r-md);margin:0;display:grid}.fact[data-v-42395047]{align-items:center;gap:var(--sp-3);font-size:var(--fs-body);display:flex}.fact dt[data-v-42395047]{color:var(--text-secondary);flex:0 0 7.5rem}.fact dd[data-v-42395047]{align-items:center;gap:var(--sp-2);word-break:break-word;min-width:0;margin:0;display:flex}.correct[data-v-42395047]{gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);display:grid}.correct-fields[data-v-42395047]{gap:var(--sp-4);border:none;min-width:0;margin:0;padding:0;display:grid}.pair[data-v-42395047]{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.history[data-v-42395047]{padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);gap:var(--sp-3);display:grid}.history ul[data-v-42395047]{gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid}.audit[data-v-42395047]{gap:var(--sp-2);display:grid}.audit-head[data-v-42395047]{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-body);flex-wrap:wrap;display:flex}.diffs[data-v-42395047]{gap:var(--sp-1);display:grid}.diff[data-v-42395047]{font-size:var(--fs-caption);color:var(--text-secondary);padding-left:var(--sp-3);border-left:2px solid var(--border-default)}.metric[data-v-d5f94aa3]{gap:var(--sp-1);padding:var(--card-px);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-card);align-content:start;display:grid}.metric-label[data-v-d5f94aa3]{font-size:var(--fs-caption);color:var(--text-secondary)}.metric-value[data-v-d5f94aa3]{font-size:var(--fs-display);font-weight:var(--fw-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.15}.metric-unit[data-v-d5f94aa3]{margin-left:var(--sp-1);font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--text-secondary)}.metric-hint[data-v-d5f94aa3]{font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-snug)}.metric-success .metric-value[data-v-d5f94aa3]{color:var(--success-fg)}.metric-warning .metric-value[data-v-d5f94aa3]{color:var(--warning-fg)}.metric-danger .metric-value[data-v-d5f94aa3]{color:var(--danger-fg)}.metric-info .metric-value[data-v-d5f94aa3]{color:var(--info-fg)}@media (width<=1023px){.metric-value[data-v-d5f94aa3]{font-size:26px}}.block[data-v-b97284f3]{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);display:grid}.note[data-v-b97284f3]{line-height:var(--lh-snug)}.cell-product[data-v-b97284f3]{white-space:nowrap}.fld-grow[data-v-b97284f3]{flex:12rem}.dim[data-v-b97284f3]{font-size:var(--fs-caption);color:var(--text-secondary)}.inline-retry[data-v-b97284f3]{margin-left:var(--sp-3);vertical-align:middle}.sum[data-v-b97284f3]{cursor:pointer;color:var(--primary-500);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-align:right;list-style:none}.sum[data-v-b97284f3]::-webkit-details-marker{display:none}.sum[data-v-b97284f3]:after{content:"›";margin-left:var(--sp-2);opacity:.6}details[open] .sum[data-v-b97284f3]:after{content:"⌄"}.items[data-v-b97284f3]{margin-top:var(--sp-2);gap:var(--sp-2);font-size:var(--fs-caption);color:var(--text-secondary);text-align:left;display:grid}.remark[data-v-b97284f3]{color:var(--text-tertiary);display:block}@media (width<=767px){.sum[data-v-b97284f3]{text-align:left}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-500:#4f3fff;--primary-600:#4030e8;--primary-700:#3425c8;--primary-100:#eae7ff;--primary-50:#f5f3ff;--canvas:#f1f3f8;--surface:#fff;--surface-subtle:#f7f8fb;--surface-hover:#f3f5f9;--border-subtle:#e9ecf2;--border-default:#dde2eb;--text-primary:#15171c;--text-secondary:#666d7a;--text-tertiary:#969dab;--text-disabled:#b6bbc5;--icon-default:#5e6572;--success:#16a765;--success-bg:#e7f8ef;--success-fg:#0f7a49;--warning:#d99212;--warning-bg:#fff4d6;--warning-fg:#8a5e07;--danger:#e65d61;--danger-bg:#fdebec;--danger-fg:#c04347;--info:#4f83e8;--info-bg:#eaf1ff;--info-fg:#2f62c4;--neutral:#737b89;--neutral-bg:#f0f2f6;--neutral-fg:#4e5663;--row-hover:#f7f8fc;--row-selected:#f0edff;--focus-ring:0 0 0 3px #4f3fff2e;--font:Inter, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Hiragino Sans GB", "Noto Sans CJK SC", sans-serif;--fs-display:32px;--fs-page-title:26px;--fs-section-title:18px;--fs-body-lg:16px;--fs-body:14px;--fs-caption:12px;--fs-micro:11px;--fw-regular:400;--fw-medium:550;--fw-semibold:600;--fw-bold:650;--lh-tight:1.25;--lh-snug:1.4;--lh-normal:1.55;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-pill:999px;--shadow-card:0 4px 16px #1c273c0d;--shadow-pop:0 12px 32px #1c273c1f;--sidebar-w:232px;--sidebar-rail-w:72px;--topbar-h:60px;--tabbar-h:56px;--page-px:28px;--page-py:24px;--card-px:20px;--gap-card:16px;--nav-item-h:44px;--nav-icon:18px;--control-h:40px;--row-h:48px;--head-h:40px;--badge-h:24px;--fs-table-head:13px;--z-sticky:20;--z-tabbar:30;--z-drawer:40;--z-dialog:50;--z-toast:60;--dur-fast:.14s;--dur-pop:.2s;--ease:cubic-bezier(.2, .6, .3, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--canvas);min-height:100vh;color:var(--text-primary);font:var(--fw-regular) var(--fs-body)/var(--lh-normal) var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4{color:var(--text-primary);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}h1,h2{font-size:var(--fs-page-title)}h3{font-size:var(--fs-section-title)}h4{font-size:var(--fs-body);font-weight:var(--fw-medium)}p{margin:0}a{color:var(--primary-500);text-decoration:none}a:hover{color:var(--primary-600)}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--primary-100);color:var(--text-primary)}:focus-visible{box-shadow:var(--focus-ring);outline:none}input,select,textarea{font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:0 var(--sp-3);height:var(--control-h);min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}textarea{padding:var(--sp-3);resize:vertical;height:auto;min-height:76px}@media (width<=767px){input,select,textarea{font-size:var(--fs-body-lg)}}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--neutral)}input:focus,select:focus,textarea:focus{border-color:var(--primary-500);box-shadow:var(--focus-ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-subtle);color:var(--text-disabled);border-color:var(--border-subtle);cursor:not-allowed}input[type=number],input[type=date]{font-variant-numeric:tabular-nums}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}select{appearance:none;padding-right:var(--sp-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235e6572' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center}button{font:inherit;font-weight:var(--fw-medium);color:var(--text-primary);background:var(--surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:0 var(--sp-4);height:var(--control-h);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}button:hover:not(:disabled){background:var(--surface-hover)}button:active:not(:disabled){background:var(--surface-subtle)}button:disabled{color:var(--text-secondary);background:var(--surface-subtle);border-color:var(--border-subtle);cursor:not-allowed}label{display:block}table{border-collapse:collapse;width:100%}caption{caption-side:top;text-align:left;padding-bottom:var(--sp-3);color:var(--text-secondary);font-size:var(--fs-caption)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-body);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;display:inline-flex}.btn-primary{background:var(--primary-500);color:#fff;border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--primary-600);color:#fff}.btn-primary:active:not(:disabled){background:var(--primary-700);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--neutral);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);padding:0 var(--sp-3);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:#0000}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-fg);color:#fff}.btn-primary:disabled{background:var(--primary-50);color:var(--primary-700);border-color:#0000}.btn-sm{height:32px;padding:0 var(--sp-3);font-size:var(--fs-caption);border-radius:var(--r-sm)}.btn-icon{width:var(--control-h);color:var(--icon-default);background:0 0;border-color:#0000;padding:0}.btn-icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}a.btn{text-decoration:none}.btn-primary .icon,.btn-danger .icon{color:#fff}.btn-ghost .icon,.btn-secondary .icon{color:var(--icon-default)}.btn-ghost:hover .icon,.btn-secondary:hover .icon{color:var(--text-primary)}.btn:disabled .icon{color:inherit}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--card-px)}.card-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.card-title{font-size:var(--fs-section-title);font-weight:var(--fw-semibold);color:var(--text-primary);margin-right:auto}.card-note{font-size:var(--fs-caption);color:var(--text-secondary)}.card-subtle{background:var(--surface-subtle);box-shadow:none;border-color:#0000}.card-flush{padding:0;overflow:hidden}.grid-metrics{gap:var(--gap-card);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));display:grid}.fld{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.fld-label{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-secondary)}.fld-label .req{margin-left:var(--sp-1);color:var(--danger-fg)}.fld-hint{font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-snug)}.fld-error{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--danger-fg)}.fld.is-error input,.fld.is-error select,.fld.is-error textarea{border-color:var(--danger)}.fld input,.fld select,.fld textarea{width:100%}@media (width<=767px){.fld input,.fld select,.fld textarea{font-size:var(--fs-body-lg)}}.badge{align-items:center;gap:var(--sp-1);height:var(--badge-h);padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap;display:inline-flex}.badge:before{content:"";border-radius:var(--r-pill);background:currentColor;width:6px;height:6px}.badge-success{background:var(--success-bg);color:var(--success-fg)}.badge-warning{background:var(--warning-bg);color:var(--warning-fg)}.badge-danger{background:var(--danger-bg);color:var(--danger-fg)}.badge-info{background:var(--info-bg);color:var(--info-fg)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-fg)}.dt-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.dt{font-size:var(--fs-body)}.dt th{height:var(--head-h);padding:0 var(--sp-3);text-align:left;white-space:nowrap;font-size:var(--fs-table-head);font-weight:var(--fw-medium);color:var(--text-secondary);background:var(--neutral-bg);border-bottom:1px solid var(--border-subtle)}.dt th:first-child{padding-left:var(--sp-4);border-top-left-radius:var(--r-md);border-bottom-left-radius:var(--r-md)}.dt th:last-child{padding-right:var(--sp-4);border-top-right-radius:var(--r-md);border-bottom-right-radius:var(--r-md)}.dt td{height:var(--row-h);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle;color:var(--text-primary)}.dt td:first-child{padding-left:var(--sp-4)}.dt td:last-child{padding-right:var(--sp-4)}.dt tbody tr:last-child td{border-bottom:none}.dt tbody tr{transition:background-color var(--dur-fast) var(--ease)}.dt tbody tr:hover{background:var(--row-hover)}.dt tbody tr.is-active{background:var(--row-selected)}.al-left{text-align:left}.al-right{text-align:right}.al-center{text-align:center}.dt .al-right,.dt .num{font-variant-numeric:tabular-nums}.dt-actions{justify-content:flex-end;align-items:center;gap:var(--sp-1);display:flex}.dt-frozen{z-index:var(--z-sticky);background:var(--surface);position:sticky;left:0}.dt thead .dt-frozen{z-index:calc(var(--z-sticky) + 1);background:var(--neutral-bg)}.dt tbody tr:hover .dt-frozen{background:var(--row-hover)}.dt-cards{gap:var(--sp-3);display:grid}.dt-card{gap:var(--sp-2);padding:var(--sp-4);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);display:grid}.dt-card-head{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.dt-card-title{font-weight:var(--fw-medium);color:var(--text-primary);margin-right:auto}.dt-card-grid{gap:var(--sp-2) var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dt-card-cell{align-items:baseline;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-caption);color:var(--text-secondary);grid-template-columns:max-content minmax(0,1fr);display:grid}.dt-card-cell b{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;justify-self:end;min-width:0}.filters{align-items:flex-end;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;display:flex}.filters .fld{flex:180px}.filters .fld-narrow{flex:none;width:auto}.chips{align-items:center;gap:var(--sp-2);font-size:var(--fs-caption);color:var(--text-secondary);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--sp-1);height:26px;padding:0 var(--sp-2) 0 var(--sp-3);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--r-pill);color:var(--primary-700);font-size:var(--fs-caption);display:inline-flex}.chip button{border-radius:var(--r-pill);width:18px;height:18px;color:inherit;background:0 0;border:none;place-items:center;padding:0;display:inline-grid}.chip button:hover{background:var(--primary-100)}.alert{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-body);line-height:var(--lh-snug);border:1px solid #0000;display:flex}.alert-error{background:var(--danger-bg);color:var(--danger-fg);border-color:#e65d6152}.alert-ok{background:var(--success-bg);color:var(--success-fg);border-color:#16a76547}.alert-info{background:var(--info-bg);color:var(--info-fg);border-color:#4f83e847}.alert-warning{background:var(--warning-bg);color:var(--warning-fg);border-color:#d9921252}.alert-neutral{background:var(--neutral-bg);border-color:var(--border-subtle);color:var(--text-secondary)}.empty{justify-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--text-secondary);display:grid}.empty-title{font-size:var(--fs-body-lg);font-weight:var(--fw-medium);color:var(--text-primary)}.skeleton{height:var(--row-h);border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-subtle) 20%, var(--surface-hover) 40%, var(--surface-subtle) 60%);background-size:200% 100%;animation:1.2s linear infinite slide}@keyframes slide{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-title{font-size:var(--fs-page-title);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text-primary)}.section-title{font-size:var(--fs-section-title);font-weight:var(--fw-semibold);color:var(--text-primary)}.muted{color:var(--text-secondary);font-size:var(--fs-body)}.dim{color:var(--text-tertiary);font-size:var(--fs-caption)}.strong{font-weight:var(--fw-medium)}.num{font-variant-numeric:tabular-nums}.short{color:var(--danger-fg);font-weight:var(--fw-medium)}.surplus{color:var(--success-fg);font-weight:var(--fw-medium)}.stack{gap:var(--gap-card);display:grid}.page{gap:var(--sp-5);grid-template-columns:minmax(0,1fr);align-content:start;display:grid}.row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pager{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) 0;font-size:var(--fs-caption);color:var(--text-secondary);display:flex}.pager-spacer{margin-right:auto}@media (width<=767px){.pager{flex-wrap:wrap}.pager-spacer{flex:100%;margin-right:0}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.is-locked{overflow:hidden}
