.app-crash{background:var(--bg,#f4f6fa);min-height:100vh;color:var(--text,#1f2a3d);place-items:center;padding:24px 16px;display:grid}.app-crash-card{background:#fff;border-radius:14px;width:min(520px,100%);padding:22px 20px;box-shadow:0 20px 50px #0f172a1f}.app-crash-card h1{margin:0 0 10px;font-size:18px;font-weight:700}.app-crash-card p{color:var(--text-2,#4a5568);margin:0 0 12px;font-size:14px;line-height:1.6}.app-crash-detail{background:var(--bg,#f4f6fa);white-space:pre-wrap;word-break:break-all;max-height:120px;color:var(--text-3,#64748b);border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.app-crash-actions{flex-wrap:wrap;gap:10px;display:flex}.app-crash-actions button{border:1px solid var(--line,#d7dee9);min-height:40px;color:var(--text,#1f2a3d);cursor:pointer;background:#fff;border-radius:10px;padding:0 16px;font-size:14px;font-weight:600}.app-crash-actions button.is-primary{background:var(--brand,#2f6fed);color:#fff;border-color:#0000}@media (max-width:760px){.app-crash-card{padding:18px 16px}.app-crash-card p,.app-crash-actions button{font-size:14px}.app-crash-detail{font-size:13px}.app-crash-actions button{flex:140px}}:root .count-badge[data-tone]{--count-bg:#eaf1ff;--count-text:#2459a6;--count-line:#d5e3fa;background:var(--count-bg);width:auto;min-width:22px;height:22px;color:var(--count-text);box-shadow:inset 0 0 0 1px var(--count-line);letter-spacing:normal;font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle;border:0;border-radius:11px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-style:normal;font-weight:800;line-height:1;display:inline-flex;position:static}:root .count-badge[data-tone=info]{--count-bg:#2563eb;--count-text:#fff;--count-line:#2563eb}:root .count-badge[data-tone=warning]{--count-bg:#ea580c;--count-text:#fff;--count-line:#ea580c}:root .count-badge[data-tone=danger]{--count-bg:#e11d2e;--count-text:#fff;--count-line:#e11d2e}:root .count-badge[data-tone=success]{--count-bg:#16a34a;--count-text:#fff;--count-line:#16a34a}:root .count-badge[data-tone=neutral]{--count-bg:#f1f4f8;--count-text:#536276;--count-line:#e0e6ee}@media (max-width:760px){:root .count-badge[data-tone]{font-size:13px}}.daily-todo-badge{flex:none;align-items:center;display:inline-flex}:root .sidebar .daily-todo-badge .count-badge[data-tone=danger]{--count-bg:#ff3b3b;--count-line:#fff;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;box-shadow:0 0 0 1.5px #ffffffe6,0 0 6px #ff3b3b73}.sidebar .nav-item>.daily-todo-badge{margin-left:auto}.dc-header h2{flex-wrap:wrap}.dc-header h2>svg{color:#dc2626}.progress-track{--pt-color:#9aa5b5;--pt-soft:var(--line-soft);--pt-fill:0%;gap:6px;min-width:0;display:grid}.progress-track.is-started{--pt-color:#e9822a;--pt-soft:var(--warn-tint)}.progress-track.is-doing{--pt-color:var(--brand);--pt-soft:var(--brand-tint)}.progress-track.is-finishing{--pt-color:#7c4dff;--pt-soft:#f1ecff}.progress-track.is-done{--pt-color:#13a06b;--pt-soft:var(--ok-tint)}.progress-track-head{color:var(--text);align-items:baseline;gap:8px;font-size:12px;font-weight:600;display:flex}.progress-track-head strong{color:var(--pt-color);font-variant-numeric:tabular-nums;font-size:15px;font-weight:760}.progress-track-head em{background:var(--pt-soft);color:var(--pt-color);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-style:normal;font-weight:700}.progress-track input[type=range]{width:100%;height:22px;box-shadow:none;cursor:grab;-webkit-appearance:none;appearance:none;touch-action:none;background:0 0;border:0;margin:0;padding:0}.progress-track input[type=range]:active{cursor:grabbing}.progress-track input[type=range]:disabled{cursor:not-allowed}.progress-track input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--pt-color) 0,var(--pt-color) var(--pt-fill),#e3e8ef var(--pt-fill),#e3e8ef 100%);border-radius:999px;height:10px}.progress-track input[type=range]::-moz-range-track{background:#e3e8ef;border-radius:999px;height:10px}.progress-track input[type=range]::-moz-range-progress{background:var(--pt-color);border-radius:999px;height:10px}.progress-track input[type=range]::-webkit-slider-thumb{background:var(--pt-color);-webkit-appearance:none;appearance:none;border:3px solid #fff;border-radius:50%;width:22px;height:22px;margin-top:-6px;transition:transform .12s;box-shadow:0 1px 5px #1428504d}.progress-track input[type=range]::-moz-range-thumb{background:var(--pt-color);border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 5px #1428504d}.progress-track input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.progress-track input[type=range]:focus-visible{outline:none}.progress-track input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--pt-soft),0 1px 5px #1428504d}.progress-track.is-disabled{opacity:.55}.progress-track-ticks{color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;padding:0 4px;font-size:12px;display:flex}.progress-track-ticks span.is-on{color:var(--pt-color);font-weight:700}.progress-track-foot{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.progress-track-hint{min-width:0;color:var(--text-3);margin:0;font-size:12px;line-height:1.5}.progress-track-stall{color:var(--text);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dce4ef;border-radius:7px;flex:none;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.progress-track-stall input{accent-color:#e9822a;width:14px;height:14px;margin:0}.progress-track-stall.is-on{background:var(--warn-tint);color:#b45d0a;border-color:#f3c08f}.progress-track-stall:has(input:disabled){cursor:not-allowed;opacity:.6}.progress-track.is-done .progress-track-hint{color:var(--ok)}@media (max-width:760px){.progress-track-head{font-size:13px}.progress-track-head strong{font-size:17px}.progress-track-head em{font-size:13px}.progress-track input[type=range]{height:32px}.progress-track input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-9px}.progress-track input[type=range]::-moz-range-thumb{width:22px;height:22px}.progress-track-ticks,.progress-track-hint{font-size:13px}.progress-track-stall{padding:8px 12px;font-size:14px}.progress-track-stall input{width:18px;height:18px}}.progress-inline{--pt-color:#9aa5b5;--pt-fill:0%;align-items:center;gap:6px;width:100%;min-width:0;max-width:220px;display:inline-flex}.progress-inline.is-started{--pt-color:#e9822a}.progress-inline.is-doing{--pt-color:var(--brand)}.progress-inline.is-finishing{--pt-color:#7c4dff}.progress-inline.is-done{--pt-color:#13a06b}.progress-inline>b{min-width:34px;color:var(--pt-color);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:12px;font-weight:700}.progress-inline-track{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:999px;outline:none;flex:auto;min-width:60px;height:18px;position:relative}.progress-inline-track:before{content:"";background:linear-gradient(90deg,var(--pt-color) 0,var(--pt-color) var(--pt-fill),var(--line) var(--pt-fill),var(--line) 100%);border-radius:999px;height:6px;margin-top:-3px;position:absolute;inset:50% 0 auto}.progress-inline-thumb{top:50%;left:var(--pt-fill);border:2px solid var(--panel);background:var(--pt-color);pointer-events:none;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;box-shadow:0 1px 4px #1428504d}.progress-inline.is-dragging .progress-inline-track{cursor:grabbing}.progress-inline-track:focus-visible .progress-inline-thumb{box-shadow:0 0 0 3px var(--brand-tint),0 1px 4px #1428504d}.progress-inline.is-locked .progress-inline-track{cursor:default;touch-action:auto}.progress-inline.is-saving{opacity:.7}@media (max-width:760px){.progress-inline{max-width:none}.progress-inline-track{height:28px}.progress-inline-track:before{height:8px;margin-top:-4px}.progress-inline-thumb{width:24px;height:24px;margin:-12px 0 0 -12px}.progress-inline>b{font-size:13px}}.progress-track-rail{position:relative}.progress-track-mark{pointer-events:none;z-index:1;background:#8a96a6;border-radius:2px;width:3px;height:16px;margin:-8px 0 0 -1.5px;position:absolute;top:50%}.progress-track-mark.is-ahead{background:#13a06b}.progress-track-mark.is-behind{background:#e27a12}.progress-track-mark.is-late{background:#e5484d}.progress-track-pace{background:var(--line-soft);color:var(--text-2);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.progress-track-pace.is-ahead{background:var(--ok-tint);color:#13875f}.progress-track-pace.is-behind{background:var(--warn-tint);color:#d9700c}.progress-track-pace.is-late{background:var(--danger-tint);color:#d93d3a}.progress-track-pace-text{color:var(--text-3);margin:-2px 0 0;font-size:12px;line-height:1.5}.progress-track-pace-text.is-behind{color:#d9700c}.progress-track-pace-text.is-late{color:#d93d3a}.progress-track-pace-text.is-ahead{color:#13875f}.progress-inline-mark{pointer-events:none;background:#8a96a6;border-radius:1px;width:2px;height:12px;margin:-6px 0 0 -1px;position:absolute;top:50%}.progress-inline-mark.is-ahead{background:#13a06b}.progress-inline-mark.is-behind{background:#e27a12}.progress-inline-mark.is-late{background:#e5484d}.progress-inline.is-locked .progress-inline-track{position:relative}.load-gauge{display:block;overflow:visible}.load-gauge .is-ok{stroke:#2fb27c}.load-gauge .is-warn{stroke:#f0a04b}.load-gauge .is-risk{stroke:#ef5350}.load-gauge .load-gauge-track{stroke:var(--line-soft,#e6ebf2)}.load-gauge .load-gauge-needle{stroke:#24324a;stroke-linecap:round}.load-gauge .load-gauge-pivot{fill:#24324a}.tc-kpi-card.tc-load-card{flex-direction:column;justify-content:flex-start;gap:8px}.tc-kpi-card.tc-load-card>div.tc-load-main{align-items:center;gap:10px;display:flex}.tc-kpi-card.tc-load-card .tc-load-text{gap:3px;min-width:0;display:grid}.tc-kpi-card.tc-load-card .tc-load-text span{color:var(--text-3);font-size:12px}.tc-kpi-card.tc-load-card .tc-load-text strong{letter-spacing:-.4px;order:0;font-size:22px;font-weight:760;line-height:1}.tc-kpi-card.tc-load-card .tc-load-text strong.is-ok{color:#13875f}.tc-kpi-card.tc-load-card .tc-load-text strong.is-warn{color:#d9700c}.tc-kpi-card.tc-load-card .tc-load-text strong.is-risk{color:#d93d3a}.tc-kpi-card.tc-load-card .tc-load-text strong.is-muted{color:var(--text-3)}.tc-kpi-card.tc-load-card .tc-load-text small{color:var(--text-3);white-space:normal;font-size:12px}.tc-kpi-card.tc-load-card .tc-load-text small.tc-load-tasks{color:var(--text-2)}.tc-kpi-card.tc-load-card button.tc-load-edit{border:1px solid var(--line,#d8dfe8);color:var(--brand);cursor:pointer;background:#fff;border-radius:6px;align-self:flex-start;align-items:center;padding:3px 9px;font-size:12px;font-weight:650;display:inline-flex}.tc-kpi-card.tc-load-card button.tc-load-edit:hover{background:var(--brand-tint,#eaf2ff)}.tc-kpi-card.tc-load-card>.tc-load-form{gap:8px;width:100%;display:grid}.tc-load-form input[type=range]{width:100%;accent-color:var(--brand)}.tc-load-form .tc-load-scale{color:var(--text-3);justify-content:space-between;font-size:12px;display:flex}.tc-load-form .tc-load-scale b{font-weight:650}.tc-load-form input[type=text]{border:1px solid var(--line,#d8dfe8);width:100%;font:inherit;border-radius:6px;padding:5px 8px;font-size:12px}.tc-load-form .tc-load-visibility{color:var(--text-3);margin:0;font-size:12px}.tc-load-form .tc-load-actions{gap:8px;display:flex}.tc-load-form .tc-load-actions button{border:1px solid var(--line,#d8dfe8);cursor:pointer;background:#fff;border-radius:6px;padding:4px 11px;font-size:12px;font-weight:650}.tc-load-form .tc-load-actions button.is-primary{border-color:var(--brand);background:var(--brand);color:#fff}.tc-load-form .tc-load-actions button:disabled{cursor:not-allowed;opacity:.55}.tc-load-form .tc-load-error{color:#c0392b;margin:0;font-size:12px}.tc-kpi-grid.is-personal{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-kpi-grid.is-personal .tc-load-card{grid-column:span 2}.tc-kpi-card.tc-load-card>.tc-load-trend{gap:3px;width:100%;display:grid}.tc-load-trend-bars{align-items:flex-end;gap:2px;height:28px;display:flex}.tc-load-trend-bars i{background:var(--line-soft,#e6ebf2);border-radius:2px 2px 0 0;flex:1 1 0;min-width:2px}.tc-load-trend-bars i.is-empty{background:#e3e8ef;border-radius:2px;height:3px}.tc-load-trend-bars i.is-ok{background:#2fb27c}.tc-load-trend-bars i.is-warn{background:#f0a04b}.tc-load-trend-bars i.is-risk{background:#ef5350}.tc-load-trend{gap:3px;min-width:0;display:grid}.tc-load-trend small{color:var(--text-3);font-size:12px}.tc-load-trend.is-compact .tc-load-trend-bars{height:22px}.tc-kpi-card.tc-load-card .tc-load-trend small{color:var(--text-3);font-size:12px}@media (min-width:1500px){.tc-kpi-grid.is-personal{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:760px){.tc-kpi-grid.is-personal{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-kpi-grid.is-personal .tc-load-card{grid-column:1/-1}.tc-kpi-grid.is-personal>.tc-kpi-card:nth-child(odd){border-left:0}.tc-kpi-grid.is-personal>.tc-kpi-card:nth-child(2n){border-left:1px solid var(--line-soft)}.tc-kpi-grid.is-personal>.tc-kpi-card:nth-child(n+3){border-top:1px solid var(--line-soft)}.tc-kpi-card.tc-load-card{text-align:left;justify-content:flex-start;padding:12px 14px}.tc-kpi-card.tc-load-card>div{justify-items:stretch}.tc-kpi-card.tc-load-card small{font-size:var(--m-meta);display:block}.tc-kpi-card.tc-load-card .tc-load-text span,.tc-kpi-card.tc-load-card .tc-load-text small,.tc-kpi-card.tc-load-card .tc-load-trend small,.tc-load-form .tc-load-scale,.tc-load-form .tc-load-visibility,.tc-load-form .tc-load-error{font-size:var(--m-meta)}.tc-kpi-card.tc-load-card button.tc-load-edit,.tc-kpi-card.tc-load-card .tc-load-actions button{min-height:var(--m-tap);font-size:var(--m-text);padding:0 14px}}.tc-fselect{min-width:0;display:inline-flex;position:relative}.tc-fselect-button{width:100%;min-width:91px;height:32px;color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #dce4ef;border-radius:6px;outline:none;justify-content:space-between;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:12px;font-weight:560;display:inline-flex}.tc-fselect-button>svg{color:var(--text-3);flex:none;transition:transform .15s}.tc-fselect.is-open .tc-fselect-button>svg{transform:rotate(180deg)}.tc-fselect-button:hover{border-color:#c3cfe0}.tc-fselect.is-open .tc-fselect-button{border-color:#83adfb;box-shadow:0 0 0 3px #246bff1a}.tc-fselect-button:focus-visible{border-color:#83adfb;box-shadow:0 0 0 3px #246bff1a}.tc-fselect-button.is-set{border-color:var(--brand);background:var(--brand-tint);color:var(--brand);font-weight:680}.tc-fselect-button.is-set>svg{color:var(--brand)}.tc-fselect-value{text-overflow:ellipsis;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.tc-fselect-count{background:var(--brand);color:#fff;white-space:nowrap;border-radius:9px;flex:none;margin-left:auto;padding:0 6px;font-size:11px;font-weight:650;line-height:17px}.tc-fselect-menu{z-index:60;overscroll-behavior:contain;border:1px solid var(--tc-line,#e4e9f1);background:#fff;border-radius:9px;max-width:280px;padding:5px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #17223b2e}.tc-fselect-menu.is-searchable{flex-direction:column;padding:0;display:flex;overflow:hidden}.tc-fselect-search{color:var(--text-3);background:#fff;border:1px solid #dce4ef;border-radius:6px;flex:none;align-items:center;gap:6px;margin:6px 6px 2px;padding:0 8px;display:flex}.tc-fselect-search:focus-within{border-color:#83adfb;box-shadow:0 0 0 3px #246bff1a}.tc-fselect-menu .tc-fselect-search input,.tc-fselect-menu .tc-fselect-search input:focus{-webkit-appearance:none;appearance:none;width:100%;min-width:0;height:30px;box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;outline:none;padding:0;font-size:13px}.tc-fselect-list{overscroll-behavior:contain;flex:auto;min-height:0;padding:3px 5px 5px;overflow-y:auto}.tc-fselect-empty{color:var(--text-3);padding:10px 8px;font-size:12px}.tc-fselect.is-icon{flex:none;display:inline-flex}.tc-fselect.is-form{width:100%;display:flex}.tc-fselect.is-form .tc-fselect-button{text-align:left;justify-content:space-between;height:36px;font-size:13px;font-weight:500}.tc-fselect-button:disabled{background:var(--line-soft);color:var(--text-3);cursor:not-allowed}.tc-fselect-icon-button{color:#a3aec0;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:20px;height:20px;padding:0;display:inline-grid}.tc-fselect-icon-button:hover,.tc-fselect.is-open .tc-fselect-icon-button{color:var(--brand);background:#e6edf8}.tc-fselect-icon-button.is-set{background:var(--brand-tint);color:var(--brand)}.tc-fselect-group{color:var(--text-3);padding:7px 8px 3px;font-size:11px;font-weight:650}.tc-fselect-option{min-height:32px;color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.tc-fselect-option.is-active{background:#f2f6fd}.tc-fselect-option.is-selected{color:var(--brand);font-weight:650}.tc-fselect-option>svg{color:var(--brand);flex:none}.tc-fselect-option small{color:var(--text-3);margin-left:auto;font-size:12px;font-weight:500}.tc-fselect-content{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.tc-fselect-content .company-logo,.tc-fselect-value .company-logo{border-radius:4px;flex:none}.tc-fselect-icon{background:var(--line-soft);width:18px;height:18px;color:var(--text-3);border-radius:50%;flex:none;place-items:center;display:inline-grid}.tc-fselect-departed{background:var(--line-soft);color:var(--text-3);border-radius:3px;padding:0 4px;font-size:11px;font-style:normal}.tc-fselect-due{color:var(--warn)}.tc-fselect-src{background:var(--line-soft);width:20px;height:20px;color:var(--text-2);border-radius:5px;flex:none;place-items:center;display:inline-grid}.tc-fselect-src.is-src-feishu{color:#3370ff;background:#e8f0ff}.tc-fselect-src.is-src-manual{color:#4d5c71;background:#eef1f6}.tc-fselect-src.is-src-ai,.tc-fselect-src.is-src-inbox{color:#7651dc;background:#f3efff}@media (max-width:760px){.tc-fselect-menu{max-width:calc(100vw - 32px)}.tc-fselect-option{min-height:40px;font-size:15px}.tc-fselect-menu .tc-fselect-search input{height:36px;font-size:16px}}.ann-strip{border:1px solid var(--line);border-left:3px solid var(--brand);background:var(--panel);border-radius:12px;gap:8px;min-width:0;margin:0 0 12px;padding:12px 16px;display:grid}.ann-strip>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.ann-strip h2{color:var(--ink);align-items:center;gap:6px;margin:0;font-size:15px;font-weight:730;display:inline-flex}.ann-strip h2 svg{color:var(--brand)}.ann-strip-count{background:var(--danger);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.ann-strip-all,.ann-strip-more{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:13px;font-weight:650;display:inline-flex}.ann-strip-more{justify-self:start}.ann-strip ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ann-strip li>button{width:100%;min-height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 8px;display:flex}:is(.ann-strip li>button:hover,.ann-strip li>button:focus-visible){background:var(--brand-tint)}.ann-strip li strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:200px;font-size:14px;font-weight:680}.ann-strip li small{color:var(--text-3);font-size:12px}.ann-strip-pin{color:var(--danger);flex:none}.ann-cat{border-radius:6px;flex:none;padding:1px 7px;font-size:12px;font-weight:700;line-height:1.6}.ann-cat.is-notice{background:var(--info-tint);color:var(--info)}.ann-cat.is-policy{background:var(--warn-tint);color:var(--warn)}.ann-cat.is-holiday{background:var(--ok-tint);color:var(--ok)}.ann-cat.is-event{background:var(--danger-tint);color:var(--danger)}.ann-cat.is-other{background:var(--line-soft);color:var(--text-2)}.ann-need-ack{background:var(--warn);color:#fff;border-radius:6px;flex:none;padding:1px 7px;font-size:12px;font-style:normal;font-weight:700}
