.tli-root{--tli-bg:#faf5ec;--tli-surface:#fff;--tli-surface-2:#fffdf9;--tli-ink:#2a2724;--tli-ink-2:#6e6a63;--tli-line:#e7e1d6;--tli-brand:#33685a;--tli-brand-deep:#234a40;--tli-brand-weak:#eef4f1;--tli-accent:#c8744f;--tli-gold:#b89364;--tli-success:#3e8e5e;--tli-warning:#d89b3c;--tli-error:#c2503f;--tli-info:#4a7ca6;--tli-c-instock:#a8a299;--tli-c-client:#4a7ca6;--tli-c-await:#d89b3c;--tli-c-returned:#3e8e5e;--tli-c-lost:#c2503f;--tli-c-broken:#9a7b57;--tli-shadow-card:0 4px 16px #2a272414;--tli-shadow-soft:0 2px 10px #2a27240f;--tli-mono:"IBM Plex Mono", monospace;--tli-serif:"Noto Serif TC", serif;--tli-sans:"Noto Sans TC", sans-serif;font-family:var(--tli-sans);color:var(--tli-ink);-webkit-font-smoothing:antialiased;background:#e9e3d7;min-height:100vh}.tli-root *{box-sizing:border-box}.tli-root .tli-num{font-family:var(--tli-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.tli-root button{font-family:var(--tli-sans);cursor:pointer}@keyframes tli-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes tli-ping{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@keyframes tli-popin{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes tli-slidein{0%{opacity:.3;transform:translate(46px)}to{opacity:1;transform:none}}.tli-root .tli-desk{border:1px solid var(--tli-line);background:var(--tli-bg);border-radius:18px;width:100%;max-width:1320px;min-height:calc(100vh - 44px);display:flex;overflow:hidden;box-shadow:0 14px 40px #2a272424}.tli-root .tli-stage{justify-content:center;padding:22px 24px 80px;display:flex}.tli-root .tli-rail{background:var(--tli-surface);border-right:1px solid var(--tli-line);flex-direction:column;flex-shrink:0;align-items:stretch;gap:4px;width:212px;padding:16px 12px;display:flex}.tli-root .tli-rail .tli-logo{background:var(--tli-brand);color:#fff;width:38px;height:38px;font-family:var(--tli-serif);border-radius:12px;justify-content:center;align-self:flex-start;align-items:center;margin:2px 4px 12px;font-size:19px;font-weight:600;display:flex}.tli-root .tli-rail a{color:var(--tli-ink-2);border-radius:11px;align-items:center;gap:11px;padding:11px 13px;font-size:14px;text-decoration:none;display:flex}.tli-root .tli-rail a svg{flex-shrink:0}.tli-root .tli-rail a.tli-active{background:var(--tli-brand-weak);color:var(--tli-brand-deep);font-weight:600}.tli-root .tli-deskmain{flex-direction:column;flex:1;min-width:0;display:flex}.tli-root .tli-deskhead{background:var(--tli-surface);border-bottom:1px solid var(--tli-line);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.tli-root .tli-deskhead .tli-ttl{font-family:var(--tli-serif);font-size:18px;font-weight:600}.tli-root .tli-deskbody{flex:1;padding:22px 24px;overflow:auto}.tli-root .tli-card{background:var(--tli-surface);border:1px solid var(--tli-line);box-shadow:var(--tli-shadow-card);border-radius:16px}.tli-root .tli-muted{color:var(--tli-ink-2)}.tli-root .tli-b{font-weight:600}.tli-root .tli-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12.5px;display:inline-flex}.tli-root .tli-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.tli-root .tli-btn{border:1px solid var(--tli-line);background:var(--tli-surface);color:var(--tli-ink);border-radius:11px;align-items:center;gap:6px;padding:10px 16px;font-size:13.5px;display:inline-flex}.tli-root .tli-btn-primary{background:var(--tli-brand);color:#fff;border:none}.tli-root .tli-btn-gold{background:var(--tli-gold);color:#fff;border:none}.tli-root .tli-btn-danger{background:var(--tli-error);color:#fff;border:none}.tli-root .tli-btn-sm{border-radius:9px;padding:7px 13px;font-size:12.5px}.tli-root .tli-btn:disabled{opacity:.45;cursor:not-allowed}.tli-root .tli-st{border:1px solid #0000}.tli-root .tli-st-instock{background:color-mix(in srgb, var(--tli-c-instock) 12%, #fff)}.tli-root .tli-st-instock .tli-dot{background:var(--tli-c-instock)}.tli-root .tli-st-client{background:color-mix(in srgb, var(--tli-c-client) 12%, #fff)}.tli-root .tli-st-client .tli-dot{background:var(--tli-c-client)}.tli-root .tli-st-await{background:color-mix(in srgb, var(--tli-c-await) 13%, #fff)}.tli-root .tli-st-await .tli-dot{background:var(--tli-c-await)}.tli-root .tli-st-returned{background:color-mix(in srgb, var(--tli-c-returned) 12%, #fff)}.tli-root .tli-st-returned .tli-dot{background:var(--tli-c-returned)}.tli-root .tli-st-lost{background:color-mix(in srgb, var(--tli-c-lost) 12%, #fff)}.tli-root .tli-st-lost .tli-dot{background:var(--tli-c-lost)}.tli-root .tli-st-broken{background:color-mix(in srgb, var(--tli-c-broken) 13%, #fff)}.tli-root .tli-st-broken .tli-dot{background:var(--tli-c-broken)}.tli-root .tli-fb-ok{background:color-mix(in srgb, var(--tli-success) 11%, #fff);color:#2f6b46}.tli-root .tli-fb-ok .tli-dot{background:var(--tli-success)}.tli-root .tli-fb-edge{background:color-mix(in srgb, var(--tli-warning) 13%, #fff);color:#9a6e26}.tli-root .tli-fb-edge .tli-dot{background:var(--tli-warning)}.tli-root .tli-fb-over{background:color-mix(in srgb, var(--tli-error) 12%, #fff);color:#9e3e30}.tli-root .tli-fb-over .tli-dot{background:var(--tli-error)}.tli-root .tli-ot-ok{background:color-mix(in srgb, var(--tli-success) 12%, #fff);color:#2f6b46}.tli-root .tli-ot-risk{background:color-mix(in srgb, var(--tli-warning) 14%, #fff);color:#9a6e26}.tli-root .tli-ot-late{background:color-mix(in srgb, var(--tli-error) 13%, #fff);color:#9e3e30}.tli-root .tli-ty-deliver{background:color-mix(in srgb, var(--tli-brand) 12%, #fff);color:var(--tli-brand-deep)}.tli-root .tli-ty-deliver .tli-dot{background:var(--tli-brand)}.tli-root .tli-ty-collect{background:color-mix(in srgb, var(--tli-gold) 14%, #fff);color:#7a5e34}.tli-root .tli-ty-collect .tli-dot{background:var(--tli-gold)}.tli-root table.tli-dt{border-collapse:collapse;background:var(--tli-surface);width:100%;font-size:13.5px}.tli-root table.tli-dt th{background:var(--tli-surface-2);text-align:left;color:var(--tli-ink-2);-webkit-user-select:none;user-select:none;padding:12px 16px;font-weight:500;position:sticky;top:0}.tli-root table.tli-dt td{border-top:1px solid var(--tli-line);padding:12px 16px}.tli-root table.tli-dt tr:hover td{background:var(--tli-surface-2)}.tli-root .tli-tablewrap{border:1px solid var(--tli-line);border-radius:14px;overflow:hidden}.tli-root .tli-kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.tli-root .tli-kpi{padding:18px 20px}.tli-root .tli-kpi .tli-lab{color:var(--tli-ink-2);font-size:13px}.tli-root .tli-kpi .tli-val{margin:6px 0 3px;font-size:30px;font-weight:600}.tli-root .tli-kanban{gap:14px;display:flex}.tli-root .tli-kcol{border:1px solid var(--tli-line);background:var(--tli-surface);border-radius:16px;flex-direction:column;flex:1;display:flex;overflow:hidden}.tli-root .tli-kcol .tli-kh{border-bottom:1px solid var(--tli-line);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.tli-root .tli-kcol .tli-kb{flex-direction:column;gap:10px;padding:12px;display:flex}.tli-root .tli-tcard{background:var(--tli-surface-2);border:1px solid var(--tli-line);border-radius:12px;padding:12px 13px}.tli-root .tli-tl{padding-left:6px;position:relative}.tli-root .tli-tl .tli-line{background:var(--tli-line);width:2px;position:absolute;top:6px;bottom:8px;left:14px}.tli-root .tli-tl .tli-step{gap:16px;margin-bottom:16px;display:flex;position:relative}.tli-root .tli-tl .tli-step .tli-d{border:3px solid var(--tli-surface);width:18px;height:18px;box-shadow:0 0 0 1px var(--tli-line);z-index:1;border-radius:999px;flex-shrink:0;margin-top:1px}.tli-root .tli-map{border:1px solid var(--tli-line);background:linear-gradient(135deg,#eef2ec,#e8ede9);border-radius:16px;position:relative;overflow:hidden}.tli-root .tli-map .tli-grid{background-image:linear-gradient(#33685a0f 1px,#0000 1px),linear-gradient(90deg,#33685a0f 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0}.tli-root .tli-pin{transition:left .9s,top .9s;position:absolute;transform:translate(-50%,-50%)}.tli-root .tli-banner{border-radius:13px;align-items:center;gap:11px;padding:12px 16px;font-size:13.5px;display:flex}.tli-root .tli-banner-ok{background:color-mix(in srgb, var(--tli-success) 8%, #fff);border:1px solid color-mix(in srgb, var(--tli-success) 26%, #fff)}.tli-root .tli-banner-warn{background:color-mix(in srgb, var(--tli-warning) 11%, #fff);border:1px solid color-mix(in srgb, var(--tli-warning) 30%, #fff)}.tli-root .tli-banner-err{background:color-mix(in srgb, var(--tli-error) 9%, #fff);border:1px solid color-mix(in srgb, var(--tli-error) 30%, #fff)}.tli-root .tli-banner-info{background:var(--tli-brand-weak)}.tli-root .tli-drawer-bg{z-index:140;background:#2a272452;position:fixed;inset:0}.tli-root .tli-drawer{background:var(--tli-surface);z-index:141;flex-direction:column;width:392px;max-width:92vw;height:100%;animation:.24s tli-slidein;display:flex;position:fixed;top:0;right:0;box-shadow:-12px 0 40px #2a272433}.tli-root .tli-drawer .tli-dh{border-bottom:1px solid var(--tli-line);flex-shrink:0;padding:20px 22px}.tli-root .tli-lanes{flex-direction:column;gap:12px;display:flex}.tli-root .tli-lane{background:var(--tli-surface);border:1px solid var(--tli-line);border-radius:14px;align-items:stretch;gap:14px;padding:12px;display:flex}.tli-root .tli-lane-h{flex-direction:column;flex:none;justify-content:center;width:128px;display:flex}.tli-root .tli-lane-track{flex:1;gap:10px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.tli-root .tli-lanecard{border:1px solid var(--tli-line);background:var(--tli-surface-2);cursor:pointer;border-radius:11px;flex:none;min-width:152px;padding:10px 12px;transition:transform .12s,box-shadow .12s}.tli-root .tli-lanecard:hover{box-shadow:var(--tli-shadow-soft)}.tli-root .tli-lane-drop{outline:2px dashed var(--tli-brand);outline-offset:2px;background:var(--tli-brand-weak)}.tli-root .tli-field label{color:var(--tli-ink-2);font-size:12.5px;font-weight:500}.tli-root .tli-field input,.tli-root .tli-field select{border:1px solid var(--tli-line);width:100%;font-size:14px;font-family:var(--tli-sans);background:var(--tli-surface-2);color:var(--tli-ink);border-radius:11px;margin-top:6px;padding:10px 13px}
