:root{--paper: #f5f5f7;--card: #ffffff;--fill: #f2f2f7;--fill2: #e8e8ed;--hover: #f0f0f5;--side: #ececec;--scrim: rgba(0,0,0,.35);--ink: #1d1d1f;--ink2: #4d4d52;--ink-faint: #6e6e73;--ink3: #aeaeb2;--on-color: #ffffff;--line: rgba(0,0,0,.14);--line2: rgba(0,0,0,.26);--route: #0071e3;--route-strong: #0060c0;--route-soft: #e8f1fb;--route-line: #b7d4f4;--route-ink: #004a99;--go: #16a34a;--go-strong: #0f7a36;--go-soft: #e8f9ed;--go-line: #b9e6c6;--go-ink: #0b5a27;--vest: #ff9500;--vest-strong: #b45309;--vest-soft: #fff4e0;--vest-line: #fbd79a;--vest-ink: #7a4700;--stop: #ff3b30;--stop-strong: #dc2626;--stop-soft: #fff0ef;--stop-line: #f8c4c0;--stop-ink: #9a1f17;--violet: #7c3aed;--violet-soft: #f3ecfd;--violet-ink: #5b21b6;--teal: #0e7f86;--teal-soft: #e6f5f6;--teal-ink: #0b5d62;--rose: #be185d;--stone: #78716c;--line-green: #06c755;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "PingFang TC", "Segoe UI", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--mono: "SF Mono", ui-monospace, Menlo, Consolas, "Cascadia Mono", "Microsoft JhengHei", monospace;--plate: var(--font);--fs-meta: 13px;--fs-xs: 14px;--fs-sm: 15px;--fs-md: 17px;--fs-lg: 19px;--fs-title: 22px;--fs-num: 24px;--fs-num-xl: 32px;--fs-xl: var(--fs-num);--fs-2xl: var(--fs-num-xl);--fs-sym: 10px;--lh-body: 1.55;--lh-title: 1.25;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--r-sm: 6px;--r-ctl: 8px;--r-card: 10px;--r-panel: 12px;--r-pill: 999px;--tap: 32px;--ctl-sm: 32px;--ctl: 40px;--ctl-lg: 44px;--lift-1: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--lift-2: 0 6px 20px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.05);--lift-3: 0 12px 40px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.08);--ease: cubic-bezier(.23,1,.32,1)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:where(.plate):not(.dispatch-v2 *){font-family:var(--plate);font-variant-numeric:tabular-nums}:root{--bg: var(--paper);--bg-panel: var(--card);--bg-hover: var(--hover);--bg-active: var(--fill2);--sidebar: var(--side);--border: var(--line);--border-med: var(--line2);--shadow-sm: var(--lift-1);--shadow-md: var(--lift-2);--shadow-lg: var(--lift-3);--text: var(--ink);--text2: var(--ink2);--text3: var(--ink3);--blue: var(--route);--blue-light: var(--route-soft);--green-dark: var(--go);--green-light:var(--go-soft);--orange: var(--vest);--orange-light:var(--vest-soft);--red: var(--stop);--red-light: var(--stop-soft);--radius-sm: var(--r-sm);--radius: var(--r-card);--sp-sm: var(--s1);--sp-md: var(--s2);--sp-lg: var(--s3);--sp-xl: var(--s4);--sp-2xl: var(--s5)}:focus-visible{outline:2px solid var(--route);outline-offset:2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--fs-xs);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#00000040;background-clip:content-box}button{font-family:var(--font);cursor:pointer;border:none;outline:none;transition:all .15s ease}input,select,textarea{font-family:var(--font);outline:none;transition:border-color .15s}.mac-icon{display:inline-block;flex:0 0 auto;vertical-align:-2px}.mac-icon-label{display:inline-flex;align-items:center;justify-content:center;min-width:0;line-height:1;white-space:nowrap}.mac-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-meta);font-weight:600;letter-spacing:.01em}.badge-blue{background:var(--route-soft);color:var(--route-ink)}.badge-green{background:var(--go-soft);color:var(--go-ink)}.badge-orange{background:var(--vest-soft);color:var(--vest-ink)}.badge-red{background:var(--stop-soft);color:var(--stop-ink)}.badge-purple{background:var(--violet-soft);color:var(--violet-ink)}.badge-gray{background:var(--fill);color:var(--ink2)}.badge-teal{background:var(--teal-soft);color:var(--teal-ink)}:where(button,[role=tab],[role=button],select,input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file])):not(.dispatch-v2 *){min-height:var(--ctl-sm)}:where(a,button,[role=tab],[role=button]):not(.dispatch-v2 *){touch-action:manipulation}@media(hover:hover)and (pointer:fine){:where(button,[role=button]):not(.dispatch-v2 *):not(:disabled):not([aria-disabled=true]):hover{filter:brightness(.96)}:where(tbody tr):not(.dispatch-v2 *):hover>td{background-image:linear-gradient(var(--hover),var(--hover))}}:where(button,[role=button]):not(.dispatch-v2 *):not(:disabled):active{transform:scale(.98)}:where(button,input,select,textarea):not(.dispatch-v2 *):disabled,:where([aria-disabled=true]):not(.dispatch-v2 *){cursor:not-allowed;opacity:.5}:where([aria-busy=true]):not(.dispatch-v2 *){cursor:progress}:where(input,textarea,select):not(.dispatch-v2 *):hover:not(:disabled):not(:focus){box-shadow:0 0 0 1px var(--line2)}::placeholder{color:var(--ink-faint);opacity:1}:where(input[type=checkbox],input[type=radio]):not(.dispatch-v2 *){width:18px;height:18px;accent-color:var(--route);cursor:pointer}@media(prefers-reduced-motion:reduce){:where(button,[role=button]):not(.dispatch-v2 *):active{transform:none}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:var(--ctl-sm);padding:0 var(--s3);border-radius:var(--r-ctl);border:1px solid var(--line2);background:var(--card);color:var(--ink);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;transition:filter .15s var(--ease),transform .1s var(--ease)}.ui-btn.primary{background:var(--route);border-color:var(--route);color:var(--on-color)}.ui-btn.danger{background:var(--card);border-color:var(--stop-line);color:var(--stop-ink)}.ui-btn.danger-solid{background:var(--stop-strong);border-color:var(--stop-strong);color:var(--on-color)}.ui-btn.ghost{background:transparent;border-color:transparent;color:var(--ink2)}.ui-btn.lg{min-height:var(--ctl);padding:0 var(--s4);font-size:var(--fs-sm)}.ui-field{min-height:var(--ctl);padding:0 var(--s3);border-radius:var(--r-ctl);border:1px solid var(--line2);background:var(--card);color:var(--ink);font-size:var(--fs-sm)}.ui-field[aria-invalid=true]{border-color:var(--stop-strong)}.ui-menu{position:absolute;z-index:30;min-width:180px;padding:var(--s1);background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--lift-2)}.ui-menu>button{display:flex;width:100%;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);padding:0 var(--s3);border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:var(--fs-xs);text-align:left}.ui-menu>button.danger{color:var(--stop-ink)}.ui-menu>button:hover:not(:disabled),.ui-menu>button:focus-visible{background:var(--hover);filter:none}.ui-menu hr{border:0;border-top:1px solid var(--line);margin:var(--s1) 0}.ui-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:var(--r-ctl);background:var(--fill);width:fit-content;max-width:100%}.ui-seg>button{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--ctl-sm);padding:0 var(--s4);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink2);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;cursor:pointer}.ui-seg>button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:var(--lift-1)}.ui-tabs{display:flex;gap:0;overflow-x:auto}.ui-tabs>button{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--ctl);padding:0 var(--s4);border:0;border-bottom:2px solid transparent;background:none;color:var(--ink2);font-size:var(--fs-xs);font-weight:500;white-space:nowrap;cursor:pointer;border-radius:0}.ui-tabs>button[aria-selected=true]{color:var(--route);border-bottom-color:var(--route);font-weight:700}.ui-tabs>button .count{font-size:var(--fs-meta);font-weight:800;color:var(--on-color);background:var(--stop-strong);border-radius:var(--r-pill);padding:0 6px}.ui-tabs.sub>button{min-height:var(--ctl-sm);padding:0 var(--s3);margin-bottom:-1px}:where(th):not(.dispatch-v2 *){white-space:nowrap}.date-cell{white-space:nowrap;min-width:96px;font-variant-numeric:tabular-nums}
