@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_9c633e15-module__v6TfTG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_9c633e15-module__v6TfTG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}

:root{--mocha-50:#faf9f7;--mocha-100:#f0ede7;--mocha-200:#e3ddd3;--mocha-300:#d1c7b8;--mocha-400:#b8a894;--mocha-500:#a47864;--mocha-600:#8f6b56;--mocha-700:#7a5a4a;--mocha-800:#654b40;--mocha-900:#533e35;--gray-0:#fff;--gray-50:#f7fafc;--gray-100:#edf2f7;--gray-200:#e2e8f0;--gray-300:#cbd5e0;--gray-400:#a0aec0;--gray-500:#718096;--gray-600:#4a5568;--gray-700:#2d3748;--gray-800:#1a202c;--gray-900:#171923;--gray-950:#0f1218;--restaurant-50:#fff7f0;--restaurant-100:#ffe5d9;--restaurant-200:#ffc5a8;--restaurant-300:#ffa574;--restaurant-400:#ff7e3f;--restaurant-500:#ff6b35;--restaurant-600:#e55a2b;--restaurant-700:#c44822;--restaurant-800:#a23b1e;--restaurant-900:#7d2e1b;--supplier-50:#e6f4f1;--supplier-100:#c2e5dc;--supplier-200:#9ad5c4;--supplier-300:#70c5ab;--supplier-400:#2bb89e;--supplier-500:#00a896;--supplier-600:#008e7f;--supplier-700:#028174;--supplier-800:#026152;--supplier-900:#014741;--platform-50:#eef0fe;--platform-100:#e0e2fd;--platform-200:#c4b5fd;--platform-300:#a5b4fc;--platform-400:#818cf8;--platform-500:#6366f1;--platform-600:#4f46e5;--platform-700:#4338ca;--platform-800:#3730a3;--platform-900:#312e81;--amber-500:#f59e0b;--amber-400:#fbbf24;--amber-600:#d97706;--amber-700:#b45309;--blue-500:#3b82f6;--blue-400:#60a5fa;--blue-600:#2563eb;--blue-700:#1d4ed8;--emerald-500:#10b981;--emerald-400:#34d399;--emerald-600:#059669;--emerald-700:#047857;--red-500:#ef4444;--red-400:#f87171;--red-600:#dc2626;--red-700:#b91c1c;--amber-950:#2a1e08;--blue-950:#0e1a33;--emerald-950:#07251b;--red-950:#2c1414;--platform-950:#171633;--supplier-950:#03241f;--restaurant-950:#2a1408;--surface-base:var(--gray-50);--surface-raised:#fff;--surface-sunken:var(--gray-100);--surface-overlay:#fff;--surface-hover:var(--gray-50);--surface-active:var(--gray-100);--surface-inverse:var(--gray-800);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-500);--text-disabled:var(--gray-400);--text-inverse:var(--gray-0);--text-on-accent:#fff;--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-strong:var(--gray-400);--action-primary:var(--mocha-500);--action-primary-hover:var(--mocha-600);--action-primary-active:var(--mocha-700);--action-primary-fg:#fff;--action-primary-soft:var(--mocha-100);--action-primary-softfg:var(--mocha-700);--accent-500:var(--mocha-500);--accent-600:var(--mocha-600);--accent-100:var(--mocha-100);--accent-50:var(--mocha-50);--accent-fg:var(--mocha-700);--focus-ring:var(--mocha-500);--focus-ring-offset:var(--surface-base);--status-pending-fg:var(--gray-500);--status-pending-bg:transparent;--status-pending-solid:var(--gray-400);--status-processing-fg:var(--amber-700);--status-processing-bg:#fef3e2;--status-processing-solid:var(--amber-500);--status-approved-fg:var(--blue-700);--status-approved-bg:#e7effe;--status-approved-solid:var(--blue-500);--status-disputed-fg:var(--red-700);--status-disputed-bg:#fdeaea;--status-disputed-solid:var(--red-500);--status-draft-fg:var(--gray-600);--status-draft-bg:var(--gray-100);--status-draft-solid:var(--gray-500);--feedback-success-fg:var(--emerald-700);--feedback-success-bg:#e3f6ee;--feedback-warning-fg:var(--amber-700);--feedback-warning-bg:#fef3e2;--feedback-error-fg:var(--red-700);--feedback-error-bg:#fdeaea;--feedback-info-fg:var(--blue-700);--feedback-info-bg:#e7effe;--money-positive:var(--emerald-600);--money-negative:var(--red-600);--money-neutral:var(--gray-900);--confidence-high:var(--emerald-500);--confidence-med:var(--amber-500);--confidence-low:var(--red-500);--confidence-track:var(--gray-200);--diff-match-bg:transparent;--diff-changed-bg:#fff8e8;--diff-added-bg:#e9f7f0;--diff-removed-bg:#fdeef0;--diff-changed-bar:var(--amber-500);--diff-removed-bar:var(--red-500);--diff-added-bar:var(--emerald-500)}.dark{--surface-base:var(--gray-950);--surface-raised:#161b24;--surface-sunken:#0c0f15;--surface-overlay:#1c222d;--surface-hover:#1c222d;--surface-active:#232a37;--surface-inverse:var(--gray-100);--text-primary:#f2f5f9;--text-secondary:#aeb9c7;--text-muted:#7e8b9c;--text-disabled:#545f6e;--text-inverse:var(--gray-900);--text-on-accent:#1a1410;--border-subtle:#242c38;--border-default:#323b49;--border-strong:#475160;--action-primary:#c89b86;--action-primary-hover:#d6ad9a;--action-primary-active:#b8896f;--action-primary-fg:#1a1410;--action-primary-soft:#2d2420;--action-primary-softfg:#d6ad9a;--accent-500:#c89b86;--accent-600:#d6ad9a;--accent-100:#2d2420;--accent-50:#211b18;--accent-fg:#d6ad9a;--focus-ring:#c89b86;--focus-ring-offset:var(--surface-base);--status-pending-fg:var(--text-muted);--status-pending-bg:transparent;--status-pending-solid:var(--gray-500);--status-processing-fg:#fcc869;--status-processing-bg:var(--amber-950);--status-processing-solid:var(--amber-500);--status-approved-fg:#8ab4fb;--status-approved-bg:var(--blue-950);--status-approved-solid:var(--blue-500);--status-disputed-fg:#f98a8a;--status-disputed-bg:var(--red-950);--status-disputed-solid:var(--red-500);--status-draft-fg:#9aa6b5;--status-draft-bg:#20262f;--status-draft-solid:var(--gray-500);--feedback-success-fg:#54d8a6;--feedback-success-bg:var(--emerald-950);--feedback-warning-fg:#fcc869;--feedback-warning-bg:var(--amber-950);--feedback-error-fg:#f98a8a;--feedback-error-bg:var(--red-950);--feedback-info-fg:#8ab4fb;--feedback-info-bg:var(--blue-950);--money-positive:#3ddb9b;--money-negative:#f87171;--money-neutral:#f2f5f9;--confidence-high:var(--emerald-400);--confidence-med:var(--amber-400);--confidence-low:var(--red-400);--confidence-track:#2a313d;--diff-match-bg:transparent;--diff-changed-bg:#2a2208;--diff-added-bg:#0c2a20;--diff-removed-bg:#2c1416;--diff-changed-bar:var(--amber-500);--diff-removed-bar:var(--red-500);--diff-added-bar:var(--emerald-500)}[data-module=restaurant]{--accent-500:var(--restaurant-500);--accent-600:var(--restaurant-600);--accent-100:var(--restaurant-100);--accent-50:var(--restaurant-50);--accent-fg:var(--restaurant-700)}[data-module=supplier]{--accent-500:var(--supplier-500);--accent-600:var(--supplier-600);--accent-100:var(--supplier-100);--accent-50:var(--supplier-50);--accent-fg:var(--supplier-700)}[data-module=platform]{--accent-500:var(--platform-500);--accent-600:var(--platform-600);--accent-100:var(--platform-100);--accent-50:var(--platform-50);--accent-fg:var(--platform-700)}.dark[data-module=restaurant],.dark [data-module=restaurant]{--accent-500:#ff8a5c;--accent-600:#ff7e3f;--accent-100:#2a1408;--accent-50:#1f1209;--accent-fg:#ffa574}.dark[data-module=supplier],.dark [data-module=supplier]{--accent-500:#2bc4ac;--accent-600:#00a896;--accent-100:#03241f;--accent-50:#061b18;--accent-fg:#4dd6bf}.dark[data-module=platform],.dark [data-module=platform]{--accent-500:#818cf8;--accent-600:#6366f1;--accent-100:#171633;--accent-50:#12122a;--accent-fg:#a5b4fc}@media (prefers-contrast:more){:root{--border-subtle:var(--gray-400);--border-default:var(--gray-500);--text-muted:var(--gray-600)}.dark{--border-subtle:#475160;--border-default:#5a6573;--text-muted:#9aa6b5}}
:root{--font-sans:"Inter", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Roboto Mono", Menlo, Monaco, "Cascadia Code", monospace;--text-display:2.5rem;--text-h1:2rem;--text-h2:1.5rem;--text-h3:1.25rem;--text-h4:1.125rem;--text-body-lg:1.125rem;--text-body:1rem;--text-sm:.875rem;--text-xs:.75rem;--text-2xs:.6875rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.6;--leading-table:1.45;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.05em;--tracking-caps:.1em}
:root{--space-0:0;--space-px:1px;--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;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:2px;--radius:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;--touch-min:44px;--sidebar-w:248px;--sidebar-w-collapsed:64px;--header-h:56px;--content-max:1440px;--z-base:0;--z-docked:10;--z-dropdown:1000;--z-sticky:1100;--z-banner:1200;--z-overlay:1300;--z-modal:1400;--z-popover:1500;--z-toast:1700;--z-tooltip:1800;--row-h:48px;--row-pad-x:16px;--row-pad-y:12px;--cell-text:var(--text-body);--field-pad-y:10px;--card-pad:20px;--stack-gap:16px}[data-density=compact]{--row-h:36px;--row-pad-x:12px;--row-pad-y:6px;--cell-text:var(--text-sm);--field-pad-y:6px;--card-pad:16px;--stack-gap:12px;--control-h-md:32px}
:root{--shadow-xs:0 0 0 1px #1018280a;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #1018280d;--shadow-md:0 2px 4px #1018280d, 0 4px 8px #10182812;--shadow-lg:0 4px 8px #1018280d, 0 12px 24px #1018281a;--shadow-xl:0 8px 16px #10182814, 0 24px 48px #10182824;--shadow-inner:inset 0 1px 2px #1018280f;--shadow-brand:0 4px 12px #a4786429;--shadow-focus:0 0 0 3px #a4786452}.dark{--shadow-xs:0 0 0 1px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 2px 6px #00000073, 0 4px 12px #00000059;--shadow-lg:0 8px 24px #00000080;--shadow-xl:0 16px 48px #0009;--shadow-inner:inset 0 1px 2px #0006;--shadow-brand:0 4px 16px #00000080;--shadow-focus:0 0 0 3px #c89b8661}:root{--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--duration-scan:1.4s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1.05)}@keyframes orderly-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes orderly-toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes orderly-row-expand{0%{opacity:0}to{opacity:1}}@keyframes orderly-scan{0%{opacity:0;transform:translate(-100%)}40%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes orderly-confidence-fill{0%{width:0}}@keyframes orderly-sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes orderly-spin{to{transform:rotate(360deg)}}@keyframes orderly-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv01", "cv03", "ss01";margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary);margin:0}p{text-wrap:pretty;margin:0}a{color:var(--accent-fg);text-underline-offset:2px}:where(button,a,input,select,textarea,[tabindex],[role=button]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.o-money{font-family:var(--font-mono);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-wide);font-feature-settings:"tnum" 1, "zero" 1}.o-money--pos{color:var(--money-positive)}.o-money--neg{color:var(--money-negative)}.o-money--neutral{color:var(--money-neutral)}.o-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.o-status{border-radius:var(--radius-full);height:22px;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;line-height:1;display:inline-flex}.o-status:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.o-status--pending{color:var(--status-pending-fg);background:var(--status-pending-bg);box-shadow:inset 0 0 0 1px var(--border-default)}.o-status--pending:before{background:0 0;box-shadow:inset 0 0 0 1.5px}.o-status--processing{color:var(--status-processing-fg);background:var(--status-processing-bg)}.o-status--approved{color:var(--status-approved-fg);background:var(--status-approved-bg)}.o-status--disputed{color:var(--status-disputed-fg);background:var(--status-disputed-bg)}.o-status--draft{color:var(--status-draft-fg);background:var(--status-draft-bg)}.o-skeleton{background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--surface-hover) 50%, var(--surface-sunken) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s ease-in-out infinite orderly-skeleton}.o-scroll-thin{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.o-scroll-thin::-webkit-scrollbar{width:8px;height:8px}.o-scroll-thin::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}.o-scroll-thin::-webkit-scrollbar-track{background:0 0}.o-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.o-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.o-btn{font-family:var(--font-sans);font-weight:var(--weight-medium);border-radius:var(--radius);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;display:inline-flex}.o-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.o-btn[disabled],.o-btn[aria-disabled=true]{opacity:.45;pointer-events:none}.o-btn svg{flex:none;width:1em;height:1em}.o-btn--sm{height:32px;min-height:32px;font-size:var(--text-sm);padding:0 12px}.o-btn--md{height:40px;min-height:40px;font-size:var(--text-sm);padding:0 16px}.o-btn--lg{height:48px;min-height:48px;font-size:var(--text-body);padding:0 22px}.o-btn--icon{width:40px;min-width:44px;min-height:44px;padding:0}.o-btn--icon.o-btn--sm{width:32px;min-width:36px;min-height:36px}.o-btn--block{width:100%}.o-btn--outline{border-color:var(--border-default);background:0 0}.o-btn--ghost{background:0 0}.o-btn--link{background:0 0;border:0;height:auto;min-height:0;padding:0}.o-btn--outline:hover,.o-btn--ghost:hover{background:var(--surface-hover)}.o-btn--outline:active,.o-btn--ghost:active{background:var(--surface-active)}.o-btn--link:hover{text-underline-offset:3px;text-decoration:underline}.o-btn--link:focus-visible{box-shadow:none;outline:2px solid var(--focus-ring);outline-offset:2px}.o-btn--solid{background:var(--action-primary);color:var(--action-primary-fg)}.o-btn--solid:hover{background:var(--action-primary-hover)}.o-btn--solid:active{background:var(--action-primary-active)}.o-btn--outline,.o-btn--ghost,.o-btn--link{color:var(--action-primary)}.o-btn--outline:hover{border-color:var(--action-primary)}.o-btn--accent.o-btn--solid{background:var(--accent-500);color:var(--text-on-accent)}.o-btn--accent.o-btn--solid:hover,.o-btn--accent.o-btn--solid:active{background:var(--accent-600)}.o-btn--accent.o-btn--outline,.o-btn--accent.o-btn--ghost,.o-btn--accent.o-btn--link{color:var(--accent-fg)}.o-btn--accent.o-btn--outline:hover{border-color:var(--accent-500)}.o-btn--neutral.o-btn--solid{background:var(--gray-700);color:#fff}.o-btn--neutral.o-btn--solid:hover{background:var(--gray-800)}.o-btn--neutral.o-btn--solid:active{background:var(--gray-900)}.o-btn--neutral.o-btn--outline,.o-btn--neutral.o-btn--ghost,.o-btn--neutral.o-btn--link{color:var(--text-secondary)}.o-btn--neutral.o-btn--outline:hover{border-color:var(--border-strong)}.o-btn--danger.o-btn--solid{background:var(--status-disputed-solid);color:#fff}.o-btn--danger.o-btn--solid:hover{background:var(--red-600)}.o-btn--danger.o-btn--solid:active{background:var(--red-700)}.o-btn--danger.o-btn--outline,.o-btn--danger.o-btn--ghost,.o-btn--danger.o-btn--link{color:var(--status-disputed-fg)}.o-btn--danger.o-btn--outline:hover{border-color:var(--status-disputed-solid)}.o-spin{animation:.7s linear infinite orderly-spin}.o-badge{border-radius:var(--radius-sm);height:20px;font:var(--weight-semibold) var(--text-xs)/1 var(--font-sans);border:1px solid #0000;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.o-badge--solid{background:var(--accent-500);color:var(--text-on-accent)}.o-badge--subtle{background:var(--accent-100);color:var(--accent-fg)}.o-badge--outline{color:var(--text-secondary);border-color:var(--border-default)}.o-badge--count{border-radius:var(--radius-full);background:var(--status-disputed-solid);color:#fff;min-width:18px;height:18px;font-size:var(--text-2xs);justify-content:center;padding:0 5px}.o-tag{border-radius:var(--radius);background:var(--surface-sunken);height:24px;color:var(--text-secondary);font:var(--weight-medium) var(--text-xs)/1 var(--font-sans);border:1px solid var(--border-subtle);align-items:center;gap:6px;padding:0 8px;display:inline-flex}.o-tag button{all:unset;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);display:inline-flex}.o-tag button:hover{color:var(--text-primary)}.o-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.o-card--flat{box-shadow:none}.o-card--pad{padding:var(--card-pad)}.o-card--interactive{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.o-card--interactive:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.o-field{flex-direction:column;gap:6px;display:flex}.o-label{font:var(--weight-medium) var(--text-sm)/1.3 var(--font-sans);color:var(--text-primary)}.o-label .o-req{color:var(--status-disputed-fg);margin-left:2px}.o-input{width:100%;height:var(--control-h-md);min-height:var(--control-h-md);padding:var(--field-pad-y) 12px;font:var(--text-sm)/1.4 var(--font-sans);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.o-input::placeholder{color:var(--text-muted)}.o-input:hover{border-color:var(--border-strong)}.o-input:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-500) 22%, transparent);outline:none}.o-input:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.o-input--invalid{border-color:var(--status-disputed-solid)}.o-input--invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--status-disputed-solid) 22%, transparent)}textarea.o-input{resize:vertical;height:auto;min-height:76px;padding:8px 12px}.o-hint{font:var(--text-xs)/1.4 var(--font-sans);color:var(--text-muted)}.o-hint--error{color:var(--status-disputed-fg)}.o-input-wrap{align-items:center;display:flex;position:relative}.o-input-wrap .o-input-icon{color:var(--text-muted);pointer-events:none;display:inline-flex;position:absolute;left:11px}.o-input-wrap .o-input-icon~.o-input{padding-left:34px}.o-input-affix{font:var(--text-sm) var(--font-mono);color:var(--text-muted);position:absolute;right:11px}.o-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.o-check{cursor:pointer;font:var(--text-sm) var(--font-sans);color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;min-height:24px;display:inline-flex}.o-check input{opacity:0;width:0;height:0;position:absolute}.o-check .o-box{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface-raised);width:18px;height:18px;transition:all var(--duration-fast) var(--ease-standard);flex:none;place-items:center;display:grid}.o-check .o-box svg{color:#fff;opacity:0;width:12px;height:12px;transition:all var(--duration-fast) var(--ease-standard);transform:scale(.6)}.o-check input:checked+.o-box{background:var(--accent-500);border-color:var(--accent-500)}.o-check input:checked+.o-box svg{opacity:1;transform:scale(1)}.o-check input:focus-visible+.o-box{box-shadow:var(--shadow-focus)}.o-check--radio .o-box{border-radius:var(--radius-full)}.o-check--radio input:checked+.o-box{background:var(--surface-raised);border-color:var(--accent-500)}.o-check--radio input:checked+.o-box:after{content:"";background:var(--accent-500);border-radius:50%;width:9px;height:9px}.o-check input:disabled+.o-box{background:var(--surface-sunken);border-color:var(--border-default)}.o-switch{cursor:pointer;align-items:center;gap:10px;min-height:24px;display:inline-flex}.o-switch input{opacity:0;width:0;height:0;position:absolute}.o-switch .o-track{border-radius:var(--radius-full);background:var(--border-strong);width:38px;height:22px;transition:background var(--duration-base) var(--ease-standard);flex:none;position:relative}.o-switch .o-thumb{width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.o-switch input:checked+.o-track{background:var(--accent-500)}.o-switch input:checked+.o-track .o-thumb{transform:translate(16px)}.o-switch input:focus-visible+.o-track{box-shadow:var(--shadow-focus)}.o-switch input:disabled+.o-track{opacity:.5}.o-alert{border-radius:var(--radius-lg);font-size:var(--text-sm);border:1px solid #0000;gap:12px;padding:12px 14px;display:flex}.o-alert .o-alert-icon{flex:none;margin-top:1px}.o-alert .o-alert-title{font-weight:var(--weight-semibold);color:var(--text-primary)}.o-alert .o-alert-body{color:var(--text-secondary);margin-top:2px;line-height:1.5}.o-alert--info{background:var(--feedback-info-bg);border-color:color-mix(in srgb, var(--feedback-info-fg) 22%, transparent)}.o-alert--info .o-alert-icon{color:var(--feedback-info-fg)}.o-alert--success{background:var(--feedback-success-bg);border-color:color-mix(in srgb, var(--feedback-success-fg) 22%, transparent)}.o-alert--success .o-alert-icon{color:var(--feedback-success-fg)}.o-alert--warning{background:var(--feedback-warning-bg);border-color:color-mix(in srgb, var(--feedback-warning-fg) 22%, transparent)}.o-alert--warning .o-alert-icon{color:var(--feedback-warning-fg)}.o-alert--error{background:var(--feedback-error-bg);border-color:color-mix(in srgb, var(--feedback-error-fg) 22%, transparent)}.o-alert--error .o-alert-icon{color:var(--feedback-error-fg)}.o-progress{border-radius:var(--radius-full);background:var(--confidence-track);width:100%;height:8px;overflow:hidden}.o-progress .o-progress-fill{border-radius:var(--radius-full);background:var(--accent-500);height:100%;transition:width var(--duration-slow) var(--ease-out)}.o-tooltip{display:inline-flex;position:relative}.o-tooltip .o-tip{background:var(--surface-inverse);color:var(--text-inverse);font:var(--weight-medium) var(--text-xs)/1.4 var(--font-sans);border-radius:var(--radius);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);box-shadow:var(--shadow-md);z-index:var(--z-tooltip);padding:6px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.o-tooltip:hover .o-tip,.o-tooltip:focus-within .o-tip{opacity:1;transform:translate(-50%)translateY(0)}.o-tabs{border-bottom:1px solid var(--border-subtle);gap:4px;display:flex}.o-tab{appearance:none;cursor:pointer;font:var(--weight-medium) var(--text-sm) var(--font-sans);color:var(--text-secondary);border-radius:var(--radius) var(--radius) 0 0;transition:color var(--duration-fast) var(--ease-standard);background:0 0;border:0;align-items:center;gap:7px;padding:10px 12px;display:inline-flex;position:relative}.o-tab:hover{color:var(--text-primary);background:var(--surface-hover)}.o-tab[aria-selected=true]{color:var(--accent-fg)}.o-tab[aria-selected=true]:after{content:"";background:var(--accent-500);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.o-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.o-avatar{border-radius:var(--radius-full);background:var(--accent-100);color:var(--accent-fg);font:var(--weight-semibold) var(--text-sm) var(--font-sans);flex:none;place-items:center;display:inline-grid;overflow:hidden}.o-avatar img{object-fit:cover;width:100%;height:100%}.o-avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.o-avatar--md{width:36px;height:36px}.o-avatar--lg{width:44px;height:44px;font-size:var(--text-body)}.o-table{border-collapse:collapse;width:100%;font-size:var(--cell-text)}.o-table th{text-align:left;font:var(--weight-semibold) var(--text-xs)/1 var(--font-sans);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:10px var(--row-pad-x);background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);white-space:nowrap;position:sticky;top:0}.o-table td{padding:var(--row-pad-y) var(--row-pad-x);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);height:var(--row-h)}.o-table tbody tr{transition:background var(--duration-fast) var(--ease-standard)}.o-table tbody tr:hover{background:var(--surface-hover)}.o-table tbody tr[data-selected=true]{background:var(--accent-50)}.o-table .o-td-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.site-nav-link{border-radius:var(--radius);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none}.site-nav-link:hover{color:var(--text-primary);background:var(--surface-hover)}.site-nav-link[aria-current=page]{color:var(--text-primary);background:var(--surface-active)}.site-footer-link{color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-standard);padding:5px 0;font-size:14px;text-decoration:none}.site-footer-link:hover{color:var(--text-primary)}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:center right}.hero-bg-scrim{pointer-events:none;background:linear-gradient(90deg,#f7fafcf7 0%,#f7fafce6 42%,#f7fafca8 100%);position:absolute;inset:0}.dark .hero-bg-scrim{background:linear-gradient(90deg,#0f1218f7 0%,#0f1218e6 42%,#0f1218a8 100%)}
:root{--font-sans:var(--font-inter), var(--font-noto-tc), -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono:var(--font-jetbrains), "SF Mono", "Roboto Mono", Menlo, Monaco, "Cascadia Code", monospace}html{scroll-behavior:smooth}::selection{background:var(--mocha-200)}a{color:var(--accent-fg)}a:hover{color:var(--mocha-600)}summary::-webkit-details-marker{display:none}
