.login-role-select[data-v-b8dc5595]{display:flex;gap:6px;margin-top:12px;padding:3px;border-radius:12px;background:#f1f4f9}.login-role-select button[data-v-b8dc5595]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 8px;border:0;border-radius:10px;color:#5b6472;background:transparent;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s}.login-role-select button.on[data-v-b8dc5595]{color:#1e2533;color:#fff;background:#2563eb;box-shadow:0 3px 10px #2563eb40}.login-role-select button.login-role-disabled[data-v-b8dc5595]{color:#9aa3b2;background:#e8ebf0;cursor:not-allowed;opacity:.75}.login-role-select button.login-role-disabled small[data-v-b8dc5595]{margin-left:2px;font-size:10px;font-weight:600;opacity:.8}.station-picker[data-v-d861200d]{position:relative}.station-picker-input[data-v-d861200d]{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:#fff}.station-picker-input[data-v-d861200d]:focus-within{border-color:#2f5496;box-shadow:0 0 0 2px #2f54961f}.station-picker-input svg[data-v-d861200d]{flex:0 0 auto;color:#98a2b3}.station-picker-input input[data-v-d861200d]{flex:1;min-width:0;padding:0;border:0;outline:0;background:transparent}.station-picker-options[data-v-d861200d]{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:230px;overflow-y:auto;border:1px solid #e2e7f0;border-radius:10px;background:#fff;box-shadow:0 8px 24px #0f172a24}.station-picker-options button[data-v-d861200d]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid #f0f2f6;color:#172033;background:#fff;text-align:left;cursor:pointer}.station-picker-options button[data-v-d861200d]:last-child{border-bottom:0}.station-picker-options button[data-v-d861200d]:hover,.station-picker-options button[data-v-d861200d]:focus{background:#f5f7fa}.station-picker-options button svg[data-v-d861200d]{flex:0 0 auto;color:#2f5496}.station-picker-options strong[data-v-d861200d]{display:block;font-size:13px;font-weight:600}.station-picker-options small[data-v-d861200d]{display:block;margin-top:2px;color:#98a2b3;font-size:11px}.station-picker-options p[data-v-d861200d]{margin:0;padding:14px;color:#98a2b3;font-size:12px;text-align:center}.detail-page .section-title[data-v-d4ac7a68]{padding:10px 14px 6px}.workflow-duo[data-v-d4ac7a68]{grid-column:1 / -1;display:flex;gap:8px}.workflow-duo button[data-v-d4ac7a68]{flex:1;min-width:0}.temp-task-entry[data-v-d4ac7a68]{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow);margin-top:8px;color:#172033;cursor:pointer}.temp-task-entry>svg[data-v-d4ac7a68]:first-child{width:38px;height:38px;flex:0 0 auto;padding:9px;box-sizing:border-box;border-radius:10px;color:#fff;background:var(--primary)}.temp-task-entry>span[data-v-d4ac7a68]{font-size:14px;font-weight:700}.temp-task-entry>small[data-v-d4ac7a68]{margin-left:auto;color:var(--muted);font-size:12px}.temp-task-entry>svg[data-v-d4ac7a68]:last-child{width:17px;height:17px;flex:0 0 auto;color:#c6ccd6}.confirm-sheet[data-v-d4ac7a68]{border-radius:16px;text-align:center}.confirm-sheet h3[data-v-d4ac7a68]{margin:0 0 8px;font-size:17px;color:#1e2533}.confirm-sheet p[data-v-d4ac7a68]{margin:0 0 16px;color:#5b6472;font-size:13.5px;line-height:1.6}.confirm-actions[data-v-d4ac7a68]{display:flex;gap:10px}.confirm-actions .primary-btn[data-v-d4ac7a68]{flex:1}.confirm-actions .cancel-btn[data-v-d4ac7a68]{flex:1;min-height:44px;border:1px solid #e2e7f0;border-radius:12px;color:#5b6472;background:#fff;font-size:15px;font-weight:600;cursor:pointer}.temp-overview[data-v-bf9694e6]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}.temp-overview strong[data-v-bf9694e6]{display:block;font-size:15px}.temp-overview p[data-v-bf9694e6]{margin:3px 0 0;color:var(--muted);font-size:12px}.temp-overview>span[data-v-bf9694e6]{flex:0 0 auto;color:var(--muted);font-size:12px}.temp-list[data-v-bf9694e6]{padding:4px 16px}.temp-item[data-v-bf9694e6]{padding:12px 0;border-bottom:1px solid #f0f2f6}.temp-item[data-v-bf9694e6]:last-child{border-bottom:0}.temp-item h3[data-v-bf9694e6]{margin:0;font-size:14px;font-weight:700}.temp-item p[data-v-bf9694e6]{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.temp-item small[data-v-bf9694e6]{display:block;margin-top:4px;color:#98a2b3;font-size:11px}.temp-overview[data-v-8a227f31]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}.temp-overview strong[data-v-8a227f31]{display:block;font-size:15px}.temp-overview p[data-v-8a227f31]{margin:3px 0 0;color:var(--muted);font-size:12px}.temp-overview>span[data-v-8a227f31]{flex:0 0 auto;color:var(--muted);font-size:12px}.temp-list[data-v-8a227f31]{padding:4px 16px}.temp-item[data-v-8a227f31]{width:100%;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:10px;padding:12px 0;border:0;border-bottom:1px solid #f0f2f6;color:#172033;background:transparent;text-align:left;cursor:pointer}.temp-item[data-v-8a227f31]:last-child{border-bottom:0}.temp-dot[data-v-8a227f31]{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#c77800}.temp-dot.done[data-v-8a227f31]{background:#16a34a}.temp-item h3[data-v-8a227f31]{margin:0;font-size:14px;font-weight:700}.temp-item h3.done[data-v-8a227f31]{color:#98a2b3;text-decoration:line-through}.temp-item p[data-v-8a227f31]{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.temp-item small[data-v-8a227f31]{display:block;margin-top:4px;color:#98a2b3;font-size:11px}.gps-card .signal-banner[data-v-0f10fedb]{font-weight:800;background:#fce8e6;border:1px solid #fecaca;border-radius:8px;padding:9px 11px}.point-overview .sort-tip[data-v-20bc5810]{grid-column:1 / -1;margin:2px 0 0;color:#2563eb;font-size:12px;font-weight:600}.bottom-action[data-v-20bc5810]{position:static;padding:4px 12px 16px}.point-sort-actions[data-v-20bc5810]{display:flex;align-items:center;gap:2px;margin-left:auto;flex:0 0 auto}.point-sort-actions button[data-v-20bc5810]{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;color:#475467;background:#fff;cursor:pointer}.point-sort-actions button[data-v-20bc5810]:disabled{color:#c6ccd6;background:#f5f7fa;cursor:not-allowed}.point-card-foot[data-v-20bc5810]{flex-wrap:wrap}.bottom-action[data-v-20bc5810]{display:grid;gap:8px}.bottom-action .secondary-btn[data-v-20bc5810]{width:100%;min-height:42px;border:1px solid var(--border);border-radius:8px;color:#475467;background:#fff;font-size:14px;font-weight:800;cursor:pointer}.bottom-action .secondary-btn[data-v-20bc5810]:disabled{color:#c6ccd6;cursor:not-allowed}.confirm-sheet[data-v-20bc5810]{border-radius:16px;text-align:center}.confirm-sheet h3[data-v-20bc5810]{margin:0 0 8px;font-size:17px;color:#1e2533}.confirm-sheet p[data-v-20bc5810]{margin:0 0 16px;color:#5b6472;font-size:13.5px;line-height:1.6}.confirm-actions[data-v-20bc5810]{display:flex;gap:10px}.confirm-actions .primary-btn[data-v-20bc5810]{flex:1}.confirm-actions .cancel-btn[data-v-20bc5810]{flex:1;min-height:44px;border:1px solid #e2e7f0;border-radius:12px;color:#5b6472;background:#fff;font-size:15px;font-weight:600;cursor:pointer}.modal-mask[data-v-845a3d31]{z-index:80}.sheet-panel.confirm-sheet[data-v-845a3d31]{width:min(86vw,420px);border-radius:16px;text-align:center}.confirm-sheet h3[data-v-845a3d31]{margin:0 0 8px;font-size:17px;color:#1e2533}.validation-message[data-v-845a3d31]{margin:0 0 16px;padding:10px 12px;border-radius:10px;color:#b42318;background:#fce8e6;font-size:13px;line-height:1.8;text-align:left;white-space:pre-line}.confirm-actions[data-v-845a3d31]{display:flex;gap:10px}.confirm-actions .primary-btn[data-v-845a3d31]{flex:1;min-height:44px;border-radius:12px;font-size:15px;font-weight:600}.checkin-card[data-v-845a3d31]{padding:10px 12px}.disabled-checkin[data-v-845a3d31]{background:#f4f6fa;border-color:#e2e7f0}.disabled-checkin .checkin-row>svg[data-v-845a3d31]{color:#9aa3b2}.disabled-checkin .checkin-text span[data-v-845a3d31]{color:#64748b;font-size:13px;font-weight:700}.disabled-checkin .checkin-text small[data-v-845a3d31]{color:#9aa3b2;font-size:11px}.checkin-row[data-v-845a3d31]{display:flex;align-items:center;gap:8px;min-height:40px}.checkin-row>svg[data-v-845a3d31]{flex:0 0 auto;color:#2f5496}.checkin-row.done[data-v-845a3d31]{color:#16a34a}.checkin-row.done span[data-v-845a3d31]{font-size:13px;font-weight:600}.checkin-row.done small[data-v-845a3d31]{display:block;margin-top:2px;color:#16a34a;font-size:11px}.checkin-text[data-v-845a3d31]{flex:1;min-width:0;display:flex;flex-direction:column}.checkin-text b[data-v-845a3d31]{font-size:13px;color:#172033}.checkin-text b.in-range[data-v-845a3d31]{color:#16a34a}.checkin-text b.out-range[data-v-845a3d31]{color:#dc2626}.checkin-text small[data-v-845a3d31]{overflow:hidden;color:#98a2b3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.checkin-btns[data-v-845a3d31]{display:flex;gap:6px;flex:0 0 auto}.checkin-btns button[data-v-845a3d31]{min-height:30px;padding:0 12px;border:1px solid var(--border);border-radius:7px;color:#475467;background:#fff;font-size:12px;font-weight:700;cursor:pointer}.checkin-btns button.primary[data-v-845a3d31]{border-color:#2f5496;color:#fff;background:#2f5496}.checkin-btns button[data-v-845a3d31]:disabled{opacity:.5;cursor:not-allowed}.checkin-card .form-hint[data-v-845a3d31]{margin-top:6px}.checkin-card .checkin-msg[data-v-845a3d31]{margin:6px 0 0;padding:8px 10px;border-radius:8px;color:#b42318;background:#fce8e6;border:1px solid #fecaca;font-size:12px;font-weight:800;line-height:1.6}.checkin-card .checkin-msg.ok[data-v-845a3d31]{color:#166534;background:#dcfce7;border-color:#bbf7d0}.checkin-card .signal-banner[data-v-845a3d31]{font-weight:800;background:#fce8e6;border:1px solid #fecaca;border-radius:8px;padding:9px 11px}.inspection-form[data-v-845a3d31]{border-radius:16px;padding:14px 14px 16px}.inspection-form .card-head.compact[data-v-845a3d31]{padding:0 0 12px}.scheme-section[data-v-845a3d31]{margin-top:12px}.scheme-section-head[data-v-845a3d31]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:8px 10px;border-radius:10px;background:#eff4ff}.scheme-section-head b[data-v-845a3d31]{font-size:13px;color:#1e3a8a}.scheme-section-head small[data-v-845a3d31]{color:#64748b;font-size:11px}.scheme-item-block[data-v-845a3d31]{margin-top:12px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e7f0}.scheme-item-head[data-v-845a3d31]{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.scheme-item-no[data-v-845a3d31]{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#2563eb;font-size:11px;font-weight:800}.scheme-item-head b[data-v-845a3d31]{display:block;font-size:13.5px;color:#1e2533}.scheme-item-head small[data-v-845a3d31]{display:block;margin-top:2px;color:#9aa3b2;font-size:11px;line-height:1.5}.req-star[data-v-845a3d31]{margin-left:3px;color:#dc2626;font-style:normal}.status-selector[data-v-845a3d31]{display:flex;gap:6px;flex-wrap:wrap}.status-selector button[data-v-845a3d31]{min-height:32px;padding:0 10px;border-radius:8px;font-size:12px;border-width:1px;cursor:pointer;transition:all .15s}.item-input[data-v-845a3d31]{width:100%;min-height:38px;padding:0 12px;border:1px solid #e2e7f0;border-radius:9px;outline:none;background:#fff;font-size:13px;color:#1e2533}.item-input[data-v-845a3d31]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #eff4ff}.item-remark[data-v-845a3d31]{width:100%;margin-top:8px;border:1px solid #e2e7f0;border-radius:9px;padding:8px 10px;font-size:12.5px;line-height:1.5;color:#1e2533;background:#fff;resize:none;outline:none}.item-remark.remark-required[data-v-845a3d31]{border-color:#f87171;background:#fff7f7}.photo-location-status[data-v-845a3d31]{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#f4f7fc;font-size:11px}.photo-location-status.danger[data-v-845a3d31]{color:#b42318;background:#fce8e6}.photo-grid[data-v-845a3d31]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-add[data-v-845a3d31]{height:84px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1.5px dashed #b9d0ff;color:#2563eb;background:#eaf2ff;font-size:12px;cursor:pointer}.photo-add input[data-v-845a3d31]{display:none}.photo-thumb[data-v-845a3d31]{position:relative}.photo-thumb img[data-v-845a3d31]{width:100%;height:84px;object-fit:cover;border-radius:12px;display:block}.photo-thumb button[data-v-845a3d31]{position:absolute;top:4px;right:4px;width:20px;height:20px;border:0;border-radius:50%;color:#fff;background:#0000008c;font-size:12px;line-height:1;cursor:pointer}.photo-count-hint[data-v-845a3d31]{margin-top:6px;color:#9aa3b2;font-size:11px;text-align:right}.submit-checklist[data-v-845a3d31]{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.submit-checklist span[data-v-845a3d31]{padding:5px 10px;border-radius:20px;font-size:11.5px;font-weight:700;color:#98a2b3;background:#f1f4f9}.submit-checklist span.done[data-v-845a3d31]{color:#166534;background:#dcfce7}.draft-hint[data-v-845a3d31]{margin:10px 0 0;color:#168344;font-size:12px;font-weight:700;text-align:right}.inspection-form .submit-btn[data-v-845a3d31]{margin-top:12px;min-height:46px;border-radius:12px;font-size:15px}.completed-bar[data-v-845a3d31]{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f0fdf4;border:1px solid #bbf7d0;display:flex;align-items:center;justify-content:space-between;gap:8px}.completed-bar span[data-v-845a3d31]{color:#166534;font-size:13px;font-weight:700}.completed-bar a[data-v-845a3d31]{color:#2563eb;font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap}.inspection-form .item-input[data-v-845a3d31]:disabled,.inspection-form .item-remark[data-v-845a3d31]:disabled{color:#9aa3b2;background:#f1f4f9}.inspection-form .status-selector button[data-v-845a3d31]:disabled{opacity:.55;cursor:not-allowed}.start-hero[data-v-0204f101]{background:linear-gradient(135deg,#1d5fd1,#16a34a)}.start-time[data-v-0204f101]{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.start-time span[data-v-0204f101]{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:13px;font-weight:600}.start-task-meta[data-v-0204f101]{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;color:#ffffffeb;font-size:12.5px;font-weight:600}.start-form[data-v-0204f101]{margin-top:12px;padding:16px}.field-group[data-v-0204f101]{display:grid;gap:8px;margin-top:14px}.field-label[data-v-0204f101]{color:var(--muted);font-size:12px;font-weight:800}.weather-selector[data-v-0204f101]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.weather-selector button[data-v-0204f101]{min-height:38px;border:1px solid var(--border);border-radius:8px;color:#475467;background:#fff;font-size:13px;cursor:pointer}.weather-selector button.active[data-v-0204f101]{border-color:#2f5496;color:#fff;background:#2f5496;font-weight:700}.field-group input[data-v-0204f101],.field-group select[data-v-0204f101]{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;font-size:14px}.operator-picker[data-v-0204f101]{position:relative;border:1px solid var(--border);border-radius:8px;background:#fff}.operator-picker[data-v-0204f101]:focus-within{border-color:#2f5496}.operator-tags[data-v-0204f101]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 0}.operator-tags button[data-v-0204f101]{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid #bfdbfe;border-radius:999px;color:#244b8c;background:#eff6ff;font-size:12px;cursor:pointer}.operator-tags button span[data-v-0204f101]{font-size:13px;line-height:1}.operator-search[data-v-0204f101]{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 11px}.operator-search svg[data-v-0204f101]{flex:0 0 auto;color:#98a2b3}.operator-search input[data-v-0204f101]{flex:1;min-width:0;min-height:36px;padding:0;border:0;outline:0;background:transparent}.operator-options[data-v-0204f101]{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:240px;overflow-y:auto;border:1px solid #e2e7f0;border-radius:10px;background:#fff;box-shadow:0 8px 24px #0f172a24}.operator-options button[data-v-0204f101]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid #f0f2f6;color:#172033;background:#fff;text-align:left;cursor:pointer}.operator-options button[data-v-0204f101]:last-child{border-bottom:0}.operator-options button[data-v-0204f101]:hover,.operator-options button[data-v-0204f101]:focus{background:#f5f7fa}.operator-options button svg[data-v-0204f101]{flex:0 0 auto;color:#2f5496}.operator-options strong[data-v-0204f101]{display:block;font-size:13px;font-weight:600}.operator-options small[data-v-0204f101]{display:block;margin-top:2px;color:#98a2b3;font-size:11px}.operator-options p[data-v-0204f101]{margin:0;padding:14px;color:#98a2b3;font-size:12px;text-align:center}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-darker: #1e3a8a;--primary-light: #eff4ff;--primary-tint: #f5f8ff;--safe: #10b981;--safe-bg: #d1fae5;--warn: #f59e0b;--warn-bg: #fef3c7;--danger: #ef4444;--danger-bg: #fee2e2;--ink: #1e2533;--ink-2: #5b6472;--ink-3: #9aa3b2;--bg: #edf0f6;--card: #ffffff;--line: #eef1f6;--radius: 18px;--radius-sm: 12px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 6px 20px rgba(16, 24, 40, .06)}.proto-page{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-darker: #1e3a8a;--primary-light: #eff4ff;--primary-tint: #f5f8ff;--safe: #10b981;--safe-bg: #d1fae5;--warn: #f59e0b;--warn-bg: #fef3c7;--danger: #ef4444;--danger-bg: #fee2e2;--ink: #1e2533;--ink-2: #5b6472;--ink-3: #9aa3b2;--bg: #edf0f6;--card: #ffffff;--line: #eef1f6;--radius: 18px;--radius-sm: 12px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 6px 20px rgba(16, 24, 40, .06);width:100%;max-width:430px;margin:0 auto;height:100%;min-height:100%;display:flex;flex-direction:column;position:relative;background:#edf0f6;box-shadow:0 18px 48px #0f172a2e;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}@media (max-width: 760px){.proto-page{height:var(--app-vh, 100vh);min-height:var(--app-vh, 100vh)}}.proto-page *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.proto-page a{text-decoration:none;color:inherit}.proto-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.proto-scroll::-webkit-scrollbar{display:none}.proto-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.proto-topnav{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 12px;color:#fff;position:sticky;top:0;z-index:10;background:var(--primary);box-shadow:0 2px 10px #0b5cd624}.proto-topnav .back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:50%}.proto-topnav h1{font-size:18px;font-weight:600;margin:0;letter-spacing:.5px}.proto-topnav h1{flex:1;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.proto-topnav .right{width:36px;height:36px}.proto-tabbar{min-height:66px;height:auto;display:flex;align-items:center;justify-content:space-around;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:30;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.proto-tabs{display:flex;gap:4px;margin:12px 16px 0;padding:3px;border-radius:12px;background:#f1f4f9}.proto-tabs button{flex:1;min-height:34px;border:0;border-radius:9px;color:var(--ink-2);background:transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s}.proto-tabs button.on{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 4px 12px #2563eb40}.proto-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 0 6px}.proto-pagination button{min-height:34px;padding:0 14px;border:1px solid #e2e7f0;border-radius:10px;color:var(--ink-2);background:#fff;font-size:12.5px;font-weight:600;cursor:pointer}.proto-pagination button:disabled{color:#c6ccd6;cursor:not-allowed}.proto-pagination span{font-size:12px;color:var(--ink-3)}.proto-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:56px;height:100%;color:var(--ink-3);font-size:11px;position:relative}.proto-tab svg{width:23px;height:23px}.proto-tab.on{color:var(--primary)}.proto-home-header{background:linear-gradient(135deg,#1e3a8a,#2563eb 55%,#0e7490);background-size:cover;background-position:center 55%;padding:14px 16px 16px;color:#fff;border-radius:0 0 30px 30px;box-shadow:0 12px 34px #00286452;position:relative;overflow:hidden;min-height:236px;display:flex;flex-direction:column}.proto-home-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 82% 0%,rgba(125,211,252,.2),transparent 55%),radial-gradient(80% 60% at 8% 100%,rgba(52,211,153,.22),transparent 60%);pointer-events:none}.hh-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.hh-brand{display:flex;align-items:center;gap:10px}.hh-brand .logo{width:40px;height:40px;border-radius:12px;overflow:hidden;flex:none;background:linear-gradient(135deg,#38bdf873,#2563eba6);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;padding:6px;box-shadow:0 5px 14px #0000004d}.hh-brand .logo img{display:block;width:100%;height:100%;object-fit:contain}.hh-brand-name{font-size:14px;font-weight:700;letter-spacing:1px;text-shadow:0 2px 6px rgba(0,0,0,.35)}.hh-avatar{min-height:34px;padding:0 12px;border-radius:18px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:none}.hh-avatar svg{width:14px;height:14px;opacity:.85}.hh-logout{min-height:30px;padding:0 14px;border:1px solid rgba(255,255,255,.55);border-radius:16px;color:#fff;background:#ffffff24;font-size:12.5px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:none}.hh-role-menu{position:absolute;top:58px;right:16px;z-index:100;min-width:180px;background:#fff;border-radius:14px;box-shadow:0 12px 34px #00000038;overflow:hidden}.hh-role-title{padding:10px 14px 6px;font-size:11px;color:var(--ink-3);font-weight:600}.hh-role-menu .item{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #f0f2f6;background:#fff;text-align:left;font-size:13px;color:var(--ink);cursor:pointer}.hh-role-menu .item:last-child{border-bottom:0}.hh-role-menu .item.on{color:var(--primary);font-weight:700;background:var(--primary-light)}.hh-role-menu .item.danger{color:#dc2626}.hh-role-divider{height:1px;margin:4px 0;background:#f0f2f6}.hh-role-tip{margin:0;padding:10px 14px;color:var(--ink-3);font-size:12px}.hh-title{font-size:22px;font-weight:800;letter-spacing:-.5px;margin:14px 0 5px;line-height:1.18;text-shadow:0 3px 14px rgba(0,0,0,.42);position:relative;z-index:1}.hh-sub{font-size:12px;opacity:.88;letter-spacing:.6px;position:relative;z-index:1}.hh-welcome{position:relative;z-index:1;margin-top:10px;padding:8px 12px;border-radius:12px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hw-line{font-size:13.5px;font-weight:600;color:#fff;display:flex;align-items:center;gap:6px}.hw-name{font-size:15px;font-weight:800;color:#fff;padding:0 7px;border-radius:7px;background:linear-gradient(135deg,#38bdf8,#2563eb);box-shadow:0 2px 8px #2563eb66}.hw-date{font-size:11.5px;opacity:.9;margin-top:3px;letter-spacing:.4px}.kpi-row{display:flex;gap:10px;position:relative;z-index:1;margin-top:auto;padding-top:12px}.kpi{flex:1;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:9px 8px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#38bdf8,#2563eb)}.kpi .num{font-size:22px;font-weight:800;line-height:1;background:linear-gradient(180deg,#fff,#dbeafe);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.kpi .unit{font-size:12px;font-weight:600;margin-left:3px;-webkit-text-fill-color:#cfe0ff;opacity:.92}.kpi .label{font-size:11px;opacity:.92;margin-top:5px;font-weight:500}.ops-wrap{margin-top:14px;position:relative;z-index:2;padding:0 16px}.ops-card{background:linear-gradient(135deg,#2563eb,#1d4ed8 60%,#1e3a8a);border-radius:22px;padding:18px;color:#fff;box-shadow:0 12px 32px #1d4ed852;position:relative;overflow:hidden}.ops-card:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}.ops-card .head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:12px;position:relative}.ops-card .title{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px;position:relative}.ops-card .slogan{font-size:13px;opacity:.92;line-height:1.6;margin:10px 0 14px;position:relative}.ops-card .slogan strong{font-weight:600;display:block;font-size:15px;margin-bottom:3px}.btn-light{background:#fff3;border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:22px;padding:10px 18px;font-size:13.5px;font-weight:800;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 14px #00000029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative}.ops-pic{width:82px;height:68px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;font-size:36px;position:relative;background:#ffffff38}.process-steps{display:flex;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);position:relative}.process-steps .step{display:flex;align-items:center;gap:8px;font-size:12px;color:#fff;opacity:.95;white-space:nowrap}.connector{flex:1;height:2px;position:relative;margin:0 2px}.connector:before{content:"";position:absolute;left:50%;top:0;width:18px;height:2px;border-radius:2px;transform:translate(-50%);background:linear-gradient(90deg,#ffffffe6,#ffffff59)}.connector:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin-left:9px;border-top:2px solid rgba(255,255,255,.75);border-right:2px solid rgba(255,255,255,.75);transform:translate(-50%,-50%) rotate(45deg)}.process-steps .step .n{width:22px;height:22px;border-radius:50%;background:#ffffff38;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.process-steps .step .n.active{background:#fff;color:var(--primary);box-shadow:0 0 0 3px #fff3}.proto-section{padding:16px}.proto-card-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:16px;margin-bottom:12px;color:var(--ink)}.proto-card-title .more{font-size:12.5px;color:var(--ink-3);font-weight:500}.proto-card{background:#fff;border:1px solid #e6eaf1;border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 6px 20px #1018280f}.proto-task-card{padding:16px;background:#fff;border:1px solid #e6eaf1;border-left:4px solid var(--primary);border-radius:16px;margin-bottom:12px;display:block;box-shadow:0 6px 20px #1018280f;transition:transform .15s;position:relative}.proto-task-card:active{transform:scale(.99)}.proto-task-card .task-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:8px}.proto-task-card .task-name{font-weight:700;font-size:15.5px;line-height:1.3;color:var(--ink)}.proto-task-card .task-meta{font-size:12.5px;color:var(--ink-2);display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}.proto-task-card .task-line{font-size:13px;color:var(--ink-2);margin-top:4px}.proto-task-card .task-continue{margin-top:8px;color:var(--primary);font-size:12.5px;font-weight:700;text-align:right}.daily-task-card{position:relative;margin-top:12px;padding:20px 14px 13px;overflow:hidden}.daily-task-card.card-status-todo{border-left-color:#64748b}.daily-task-card.card-status-doing{border-left-color:#c77800}.daily-task-card.card-status-done{border-left-color:#168344}.daily-status-corner{position:absolute;top:0;right:0;padding:4px 10px 3px;border-radius:0 14px 0 12px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px}.daily-status-corner.corner-todo{background:#64748b}.daily-status-corner.corner-doing{background:#c77800}.daily-status-corner.corner-done{background:#168344}.daily-task-title{padding-right:8px;font-size:14px;font-weight:700;line-height:1.4;color:var(--ink)}.daily-task-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;color:var(--ink-2);font-size:11.5px}.daily-task-who{margin-top:4px;color:var(--ink-2);font-size:11.5px}.daily-continue-btn{margin-top:10px;padding:10px;border-radius:10px;text-align:center;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:13.5px;font-weight:700;letter-spacing:.5px;box-shadow:0 5px 14px #2563eb3d}.daily-continue-btn:active{transform:scale(.98)}.task-status{font-size:11.5px;padding:4px 10px;border-radius:20px;white-space:nowrap;font-weight:600;display:inline-flex;align-items:center;gap:4px}.task-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.s-todo{background:var(--primary-light);color:var(--primary-dark)}.s-doing{background:var(--warn-bg);color:#92400e}.s-done{background:var(--safe-bg);color:#166534}.s-urgent{background:var(--danger-bg);color:#991b1b}.proto-station-card{gap:14px;padding:14px;background:#fff;border:1px solid #e6eaf1;border-radius:16px;margin-bottom:12px;display:flex;align-items:center;box-shadow:0 6px 20px #1018280f;transition:transform .15s}.proto-station-card:active{transform:scale(.99)}.station-img{width:84px;height:84px;border-radius:14px;object-fit:cover;flex:none;background:#e5e7eb;box-shadow:var(--shadow-sm)}.station-info{flex:1;min-width:0}.station-name{font-weight:700;font-size:15.5px;margin-bottom:6px;display:flex;align-items:center;gap:6px;line-height:1.3;color:var(--ink)}.station-meta{font-size:12.5px;color:var(--ink-2);line-height:1.8}.station-tag{font-size:11px;padding:3px 8px;border-radius:8px;background:var(--danger-bg);color:#991b1b;white-space:nowrap;font-weight:600}.station-tag.warn{background:var(--warn-bg);color:#92400e}.station-tag.ok{background:var(--safe-bg);color:#166534}.proto-searchbar{display:flex;gap:10px;margin-bottom:14px}.proto-searchbar input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14px;outline:none;background:#fff}.proto-searchbar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.proto-search-btn{border:none;border-radius:12px;padding:0 16px;font-size:13.5px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 4px 12px #2563eb40;cursor:pointer;white-space:nowrap}.proto-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.proto-filter::-webkit-scrollbar{display:none}.proto-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 14px;border-radius:20px;font-size:12.5px;background:#fff;color:var(--ink-2);cursor:pointer;white-space:nowrap;font-weight:500;flex:none;border:1px solid #e2e7f0}.proto-chip.on{background:var(--primary);color:#fff;box-shadow:0 4px 10px #2563eb40}.station-banner{position:relative;padding:22px 18px 18px;margin:0 0 4px;color:#fff;background-size:cover;background-position:center;border-radius:0 0 22px 22px;box-shadow:0 8px 22px #00286438}.station-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a1a,#0f172ab8);border-radius:0 0 22px 22px}.sb-name{position:relative;z-index:1;font-size:18px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.4);line-height:1.3}.sb-meta{position:relative;z-index:1;font-size:12.5px;opacity:.92;margin-top:6px;text-shadow:0 1px 4px rgba(0,0,0,.4)}.sb-link{position:relative;z-index:1;display:inline-block;margin-top:12px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:10px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3)}.proto-empty{text-align:center;padding:44px 20px;color:var(--ink-3);font-size:13px}.proto-fab{position:fixed;right:16px;bottom:84px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 8px 22px #2563eb66;cursor:pointer;z-index:25}.proto-list-hint{font-size:12px;color:var(--ink-3);margin-bottom:10px}.todo-tag{font-size:11px;padding:3px 10px;border-radius:20px;background:#e5e9f0;color:#8a94a6;font-weight:600}.proto-card.disabled{background:#94a3b824;border-color:#94a3b84d;box-shadow:none}.proto-empty.disabled{color:#9aa3b2}.proto-archive-item{display:block}.proto-profile-head{background:linear-gradient(160deg,var(--primary),var(--primary-darker));padding:36px 16px 24px;color:#fff;text-align:center;position:relative;border-radius:0 0 26px 26px;box-shadow:0 8px 26px #1d4ed847}.avatar-big{width:76px;height:76px;border-radius:50%;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;margin:0 auto 12px;box-shadow:0 6px 18px #0003}.menu-list{background:#fff;border:1px solid #e6eaf1;border-radius:16px;margin:0 0 14px;overflow:hidden;box-shadow:0 6px 20px #1018280f}.menu-list .row{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #f0f2f6;font-size:14.5px;font-weight:500;color:var(--ink);cursor:pointer}.menu-list .row:last-child{border-bottom:none}.btn-ghost{background:#fff;color:var(--ink-2);border:1px solid #e6eaf1;border-radius:14px;padding:13px 18px;font-size:15.5px;font-weight:500;width:100%;cursor:pointer}.logout-btn{width:100%;margin-top:10px;padding:13px 18px;border:1px solid #fecaca;border-radius:14px;color:#dc2626;background:#fff;font-size:15.5px;font-weight:600;cursor:pointer}.abn-remind{background:linear-gradient(135deg,#fff1f0,#ffe7e3);border:1px solid #ffccc7;border-radius:16px;padding:14px 16px;margin:0 16px 12px;box-shadow:var(--shadow)}.abn-remind.ok{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.abn-remind-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:15px;color:#7f1d1d}.abn-remind.ok .abn-remind-head{color:#166534}.abn-badge{background:#dc2626;color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;letter-spacing:.5px}.abn-remind-tip{font-size:12px;color:#9a3412;margin:5px 0 10px;opacity:.88}.abn-remind.ok .abn-remind-tip{color:#15803d}.abn-remind-item{background:#fff;border-radius:12px;padding:11px 12px;margin-bottom:8px;box-shadow:0 1px 4px #0000000f;display:block}.abn-remind-item:last-child{margin-bottom:0}.ai-title{font-weight:600;font-size:14px;color:var(--ink)}.ai-meta{display:flex;gap:10px;align-items:center;margin-top:6px;font-size:12px;color:var(--ink-3);flex-wrap:wrap}.cat-block{background:#fff;border:1px solid #e6eaf1;border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 6px 20px #1018280f;position:relative;overflow:hidden}.cat-block.hl{background:linear-gradient(135deg,#2563eb,#1d4ed8 55%,#1e3a8a);border:none;color:#fff;box-shadow:0 14px 34px #1d4ed857}.cat-block.hl:before{content:"";position:absolute;right:-34px;top:-34px;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}.cat-block.abn{background:linear-gradient(135deg,#fff7ed,#fff1f0);border:1px solid #fed7aa}.cat-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.cat-ic{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:25px;flex:none;background:var(--primary-light);box-shadow:var(--shadow-sm)}.cat-block.hl .cat-ic{background:#ffffff2e;box-shadow:none}.cat-block.abn .cat-ic{background:#ffedd5}.cat-titles{flex:1;min-width:0}.cat-title2{font-size:16.5px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--ink)}.cat-block.hl .cat-title2{color:#fff}.cat-block.abn .cat-title2{color:var(--ink)}.cat-sub2{font-size:12px;opacity:.72;margin-top:3px;line-height:1.5;color:var(--ink-2)}.cat-block.hl .cat-sub2{color:#fff;opacity:.92}.cat-count{flex:none;text-align:center;background:var(--primary-tint);border-radius:14px;padding:8px 14px;line-height:1}.cat-count .n{font-size:25px;font-weight:800;display:block;color:var(--primary-dark)}.cat-count .l{font-size:11px;opacity:.72;margin-top:3px;display:block;color:var(--ink-2)}.cat-block.hl .cat-count{background:#ffffff2e}.cat-block.hl .cat-count .n{color:#fff}.cat-block.hl .cat-count .l{color:#dbeafe;opacity:.95}.cat-block.abn .cat-count{background:#ffedd5}.cat-add2{width:100%;border:none;border-radius:14px;padding:12px;font-size:14.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0;background:var(--primary-light);color:var(--primary-dark);position:relative;z-index:1}.cat-block.hl .cat-add2{background:#fff;color:var(--primary);box-shadow:0 6px 16px #0003}.cat-block.abn .cat-add2{background:#fff0e6;color:#c2410c}.cat-empty{text-align:center;padding:22px 10px;font-size:13px;opacity:.72;border-radius:14px;margin-top:2px;color:var(--ink-3)}.cat-block.hl .cat-empty{opacity:.92;color:#fff;border:1.5px dashed rgba(255,255,255,.4)}.cat-block.abn .cat-empty{border:1.5px dashed #fdba74;opacity:.85}.cat-block.disabled{background:#94a3b81f;border-color:#94a3b84d;box-shadow:none}.cat-block.disabled .cat-ic{background:#e8ecf2;color:#9aa3b2}.cat-block.disabled .cat-count{background:#eef1f5}.cat-block.disabled .cat-count .n,.cat-empty.disabled{color:#9aa3b2}.cat-more{flex:none;text-align:center}.cat-more a{display:block;padding:8px 12px;border-radius:12px;color:var(--primary);background:var(--primary-light);font-size:12.5px;font-weight:700;white-space:nowrap}.cat-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.cat-status-item{padding:12px 8px;border-radius:12px;background:var(--primary-tint);border:1px solid #e6eefc;text-align:center}.cat-status-item b{display:block;font-size:22px;font-weight:800;color:var(--primary-dark);line-height:1.2}.cat-status-item span{display:block;margin-top:4px;font-size:11px;color:var(--ink-2)}.proto-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:#0f172a80}.proto-sheet{width:100%;max-width:480px;max-height:88vh;overflow-y:auto;background:#fff;border-radius:20px 20px 0 0;padding:18px 18px 24px;box-shadow:0 -8px 30px #0000002e}.proto-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.proto-sheet-head h3{margin:0;font-size:17px;font-weight:700;color:var(--ink)}.proto-sheet-head button{width:30px;height:30px;border:0;border-radius:50%;color:var(--ink-3);background:#f1f4f9;font-size:18px;cursor:pointer}.proto-field{display:grid;gap:6px;margin-top:12px}.proto-field>span{font-size:12.5px;font-weight:700;color:var(--ink-2)}.proto-field .req{color:#dc2626}.proto-field select,.proto-field input{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:var(--ink)}.proto-field select:focus,.proto-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.proto-field-hint{color:var(--p-ink-3, #9aa3b2);font-size:11px;font-weight:500}.proto-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.proto-sheet-note{margin-top:12px;padding:10px 12px;border-radius:10px;color:var(--ink-2);background:var(--primary-light);font-size:12.5px;line-height:1.5}.proto-readonly-grid{display:grid;gap:8px;margin-bottom:4px}.proto-readonly{padding:10px 12px;border-radius:10px;background:#f4f7fc;border:1px solid #e6eefc}.proto-readonly span{display:block;font-size:11px;color:var(--ink-3);margin-bottom:3px}.proto-readonly b{font-size:14px;color:var(--ink);word-break:break-all;line-height:1.4}.proto-submit-btn{width:100%;margin-top:16px;padding:13px 18px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));font-size:15.5px;font-weight:600;cursor:pointer;box-shadow:0 6px 16px #2563eb47}.proto-submit-btn:disabled{opacity:.6;cursor:not-allowed}.nav-overview[data-v-df08ac21]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px;margin:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1e3a8a);color:#fff}.nav-loading[data-v-df08ac21]{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.nav-overview>div[data-v-df08ac21]:first-child{display:flex;flex-direction:column}.nav-overview span[data-v-df08ac21]{color:#ffffffd9;font-size:12px}.nav-overview strong[data-v-df08ac21]{font-size:20px;color:#fff}.nav-overview .mini-progress[data-v-df08ac21]{width:100%;background:#ffffff40}.nav-overview .mini-progress i[data-v-df08ac21]{background:#fff}.nav-overview p[data-v-df08ac21]{grid-column:1 / -1;margin:0;color:#ffffffd9;font-size:12px}.current-station[data-v-df08ac21]{margin:0 12px 12px;padding:16px}.current-head[data-v-df08ac21]{display:flex;align-items:center;gap:6px}.current-flag[data-v-df08ac21]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;color:#fff;background:#2563eb;font-size:11px;font-weight:700;letter-spacing:.3px}.current-task[data-v-df08ac21]{margin:10px 0 0;color:var(--muted);font-size:12px}.current-station h2[data-v-df08ac21]{margin:6px 0 4px;font-size:18px}.current-station p[data-v-df08ac21]{margin:0 0 14px;color:var(--muted);font-size:13px}.current-station .primary-btn[data-v-df08ac21]{width:100%}.all-done[data-v-df08ac21]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;text-align:center}.all-done svg[data-v-df08ac21]{color:#16a34a}.all-done h2[data-v-df08ac21]{margin:4px 0 0;font-size:17px}.all-done p[data-v-df08ac21]{margin:0 0 6px;color:var(--muted);font-size:13px}.all-done .primary-btn[data-v-df08ac21]{width:100%}.route-list[data-v-df08ac21]{padding:4px 14px 18px}.route-item[data-v-df08ac21]{display:flex;align-items:stretch;gap:12px;padding:12px 12px 12px 0;border-radius:14px;cursor:pointer;transition:background .15s}.route-item[data-v-df08ac21]:active{background:#eef4ff}.route-track[data-v-df08ac21]{position:relative;width:28px;flex:0 0 28px;display:flex;flex-direction:column;align-items:center}.route-dot[data-v-df08ac21]{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#c6ccd6;z-index:1}.route-dot b[data-v-df08ac21]{font-size:11px}.route-dot.done[data-v-df08ac21]{background:#16a34a}.route-dot.current[data-v-df08ac21]{background:#2563eb;box-shadow:0 0 0 4px #2563eb2e}.route-connector[data-v-df08ac21]{width:2px;flex:1;min-height:22px;margin:2px 0;background:#dfe4ec}.route-connector.done[data-v-df08ac21]{background:#86d7a8}.route-body[data-v-df08ac21]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.route-title[data-v-df08ac21]{display:flex;align-items:center;gap:6px}.route-title h3[data-v-df08ac21]{margin:0;font-size:14px;font-weight:700;color:#1e2533}.route-item.current .route-title h3[data-v-df08ac21]{color:#1d4ed8}.route-current-tag[data-v-df08ac21]{padding:1px 7px;border-radius:20px;color:#fff;background:#2563eb;font-size:10px;font-weight:700}.route-done-tag[data-v-df08ac21]{padding:1px 7px;border-radius:20px;color:#166534;background:#dcfce7;font-size:10px;font-weight:700}.route-pending-tag[data-v-df08ac21]{padding:1px 7px;border-radius:20px;color:#64748b;background:#eef1f5;font-size:10px;font-weight:700}.route-body p[data-v-df08ac21]{margin:0;color:var(--muted);font-size:12px}.route-hint[data-v-df08ac21]{color:#2563eb;font-size:11px}.route-start[data-v-df08ac21]{align-self:center;flex:0 0 auto;color:#2563eb;font-size:12px;font-weight:700}.section-title .order-tip[data-v-df08ac21]{border:0;padding:2px 8px;border-radius:20px;color:#2563eb;background:#eaf2ff;font-size:11px;font-weight:600}.route-actions[data-v-df08ac21]{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;flex:0 0 auto}.route-sort[data-v-df08ac21]{display:flex;gap:4px}.route-sort button[data-v-df08ac21]{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--p-line, #e6eaf1);border-radius:7px;color:#5b6472;background:#fff;cursor:pointer}.route-sort button[data-v-df08ac21]:disabled{color:#c6ccd6;background:#f5f7fa;cursor:not-allowed}.save-order-bar[data-v-df08ac21]{padding:4px 14px 18px}.save-order-bar button[data-v-df08ac21]{width:100%;padding:12px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:14px;font-weight:700;box-shadow:0 6px 16px #2563eb47}.save-order-bar button[data-v-df08ac21]:disabled{opacity:.6}.route-item.current[data-v-df08ac21]{background:#eef4ff}.temp-btn[data-v-df08ac21]{margin-top:10px}.temp-list[data-v-df08ac21]{margin-bottom:10px}.temp-row[data-v-df08ac21]{padding:9px 11px;border-radius:9px;background:#f8fafc;border:1px solid #e2e7f0;margin-bottom:7px}.temp-row b[data-v-df08ac21]{display:block;font-size:13px;color:#1e2533}.temp-row small[data-v-df08ac21]{display:block;margin-top:2px;color:#9aa3b2;font-size:11.5px}.temp-submit-btn[data-v-df08ac21]{display:block;width:100%;margin:14px auto 0;text-align:center}.confirm-sheet[data-v-df08ac21]{border-radius:16px;text-align:center}.confirm-sheet h3[data-v-df08ac21]{margin:0 0 8px;font-size:17px;color:#1e2533}.confirm-sheet p[data-v-df08ac21]{margin:0 0 16px;color:#5b6472;font-size:13.5px;line-height:1.6}.confirm-actions[data-v-df08ac21]{display:flex;gap:10px}.confirm-actions .primary-btn[data-v-df08ac21]{flex:1}.confirm-actions .cancel-btn[data-v-df08ac21]{flex:1;min-height:44px;border:1px solid #e2e7f0;border-radius:12px;color:#5b6472;background:#fff;font-size:15px;font-weight:600;cursor:pointer}.temp-section[data-v-df08ac21]{margin:10px 12px 16px}.temp-section .section-title[data-v-df08ac21]{display:flex;align-items:center;justify-content:space-between;padding:10px 2px 6px;color:#5b6472;font-size:13px;font-weight:700}.temp-section .section-title small[data-v-df08ac21]{color:#9aa3b2;font-size:11px;font-weight:500}.toggle-row.sheet-toggle input[type=checkbox][data-v-914a4c83]{width:16px;height:16px;min-height:16px;margin:0;padding:0;border-radius:4px;accent-color:#2563eb}.task-manage-card[data-v-c399d025]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;text-decoration:none}.task-manage-main b[data-v-c399d025]{display:block;font-size:14.5px;color:#1e2533}.task-manage-main small[data-v-c399d025]{display:block;margin-top:3px;color:#9aa3b2;font-size:11.5px}.task-manage-count[data-v-c399d025]{flex:0 0 auto;min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:15px;font-weight:800}.cat-status-item[data-v-cf574fe5]{display:block;text-decoration:none;color:inherit}.operator-list[data-v-cf574fe5]{display:grid;gap:8px;max-height:260px;overflow-y:auto}.operator-item[data-v-cf574fe5]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid #e2e7f0;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.operator-item.on[data-v-cf574fe5]{border-color:#2563eb;background:#eff4ff;box-shadow:0 0 0 2px #2563eb1f}.op-avatar[data-v-cf574fe5]{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2563eb;font-size:13px;font-weight:700}.op-info[data-v-cf574fe5]{flex:1;min-width:0}.op-info b[data-v-cf574fe5]{display:block;font-size:13.5px;color:#1e2533}.op-info small[data-v-cf574fe5]{display:block;margin-top:2px;color:#9aa3b2;font-size:11px}.operator-item>i[data-v-cf574fe5]{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2563eb;font-size:11px;font-style:normal;font-weight:800}.operator-empty[data-v-cf574fe5]{padding:12px;border-radius:10px;color:#9aa3b2;background:#f4f7fc;font-size:12px;text-align:center}.open-check-tip[data-v-cf574fe5]{margin-bottom:12px;padding:10px 12px;border-radius:10px;color:#b42318;background:#fce8e6;border:1px solid #fecaca;font-size:12.5px;line-height:1.6}.daily-block[data-v-cf574fe5]{margin-bottom:16px;padding:12px;border:1px solid #e6eaf1;border-radius:14px;background:#f8fafc}.daily-block-head[data-v-cf574fe5]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.daily-block-head b[data-v-cf574fe5]{display:block;font-size:14.5px;color:#1e2533}.daily-block-head small[data-v-cf574fe5]{display:block;margin-top:2px;color:#98a2b3;font-size:11px}.daily-block-count[data-v-cf574fe5]{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#2563eb;background:#dbeafe;font-size:13px;font-weight:800}.daily-task-line[data-v-cf574fe5]{margin-top:4px;color:#64748b;font-size:11.5px;line-height:1.5}.searchable-select[data-v-67ad6a04]{position:relative}.ss-field[data-v-67ad6a04]{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;color:#1e2533;font-size:14px;cursor:pointer}.ss-field.placeholder span[data-v-67ad6a04]{color:#9aa3b2}.ss-field[data-v-67ad6a04]:disabled{opacity:.5;cursor:not-allowed}.ss-field i[data-v-67ad6a04]{flex:0 0 auto;font-style:normal;color:#9aa3b2;transition:transform .15s}.ss-field.open i[data-v-67ad6a04]{transform:rotate(180deg)}.ss-panel[data-v-67ad6a04]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:#fff;border:1px solid #e2e7f0;border-radius:12px;box-shadow:0 12px 30px #0f172a29;overflow:hidden}.ss-search[data-v-67ad6a04]{width:100%;min-height:40px;padding:0 12px;border:0;border-bottom:1px solid #eef1f6;outline:none;font-size:13.5px}.ss-options[data-v-67ad6a04]{max-height:240px;overflow-y:auto;padding:6px}.ss-option[data-v-67ad6a04]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:9px;background:#fff;text-align:left;cursor:pointer}.ss-option.on[data-v-67ad6a04]{background:#eff4ff}.ss-option small[data-v-67ad6a04]{flex:0 0 auto;color:#9aa3b2;font-size:11px}.ss-option.clear[data-v-67ad6a04]{color:#5b6472}.ss-empty[data-v-67ad6a04]{padding:14px;text-align:center;color:#9aa3b2;font-size:12px}.proto-station-filter[data-v-5c8756ae]{padding:12px 16px 0}.proto-tabs[data-v-5c8756ae]{width:100%;margin:12px 0 0;padding:3px 16px;border-radius:0}.proto-filter[data-v-5c8756ae]{padding:0 16px}.task-type-badge[data-v-5c8756ae]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:800}.task-type-badge.type-plan[data-v-5c8756ae]{color:#1d4ed8;background:#dbeafe}.task-type-badge.type-temp[data-v-5c8756ae]{color:#b45309;background:#ffe8cc}.temp-toolbar[data-v-130c36d7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;color:#5b6472;font-weight:600}.temp-select-all[data-v-130c36d7]{min-height:32px;padding:0 14px;border:1px solid #2563eb;border-radius:16px;color:#2563eb;background:#fff;font-size:12.5px;font-weight:700;cursor:pointer}.temp-point[data-v-130c36d7]{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:12px;border:1px solid #e2e7f0;border-radius:12px;background:#fff;cursor:pointer}.temp-point.on[data-v-130c36d7]{border-color:#2563eb;background:#eff4ff;box-shadow:0 0 0 2px #2563eb1f}.temp-point input[data-v-130c36d7]{display:none}.temp-point-main[data-v-130c36d7]{flex:1;min-width:0}.temp-point-main b[data-v-130c36d7]{display:block;font-size:14px;color:#1e2533}.temp-point-main>small[data-v-130c36d7]{display:block;margin-top:2px;color:#98a2b3;font-size:11px}.temp-point-tags[data-v-130c36d7]{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.temp-point-tags .tag[data-v-130c36d7]{padding:3px 8px;border-radius:12px;color:#1d4ed8;background:#dbeafe;font-size:10.5px;font-weight:700}.temp-point-tags .tag.tag-dev[data-v-130c36d7]{color:#0e7490;background:#cffafe}.temp-check[data-v-130c36d7]{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;border:1.5px solid #c6ccd6;color:#fff;font-size:13px;font-style:normal;font-weight:800}.temp-point.on .temp-check[data-v-130c36d7]{border-color:#2563eb;background:#2563eb}.temp-create-btn[data-v-130c36d7]{margin-top:12px}.open-check-tip[data-v-130c36d7]{margin-bottom:12px;padding:10px 12px;border-radius:10px;color:#b42318;background:#fce8e6;border:1px solid #fecaca;font-size:12.5px;line-height:1.6}.archive-station-select[data-v-05da9f22]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.archive-filter-input[data-v-05da9f22]{width:100%;min-height:40px;margin-top:8px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.archive-query-btn[data-v-05da9f22]{width:100%;min-height:40px;margin-top:8px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--primary, #1d5fd1),var(--primary-dark, #1e3a8a));font-size:14px;font-weight:700;cursor:pointer}.task-line+.task-line[data-v-05da9f22]{margin-top:3px}.report-view-page[data-v-0910a42d]{display:flex;flex-direction:column}.report-view-page .proto-topnav .back[data-v-0910a42d]{background:transparent;border:0;padding:0;color:#fff;cursor:pointer}.report-frame-wrap[data-v-0910a42d]{flex:1;min-height:0;background:#fff}.report-frame[data-v-0910a42d]{width:100%;height:100%;border:0;display:block}.loc-card[data-v-18b9dfe7]{margin-bottom:14px}.loc-head[data-v-18b9dfe7]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.loc-head b[data-v-18b9dfe7]{font-size:15px;color:#1e2533}.loc-refresh[data-v-18b9dfe7]{min-height:32px;padding:0 14px;border:1px solid #2563eb;border-radius:16px;color:#2563eb;background:#fff;font-size:12.5px;font-weight:700;cursor:pointer}.loc-refresh[data-v-18b9dfe7]:disabled{opacity:.5;cursor:not-allowed}.loc-grid[data-v-18b9dfe7]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.loc-grid div[data-v-18b9dfe7]{padding:10px;border:1px solid #e6eaf1;border-radius:10px;background:#f8fafc}.loc-grid div.loc-full[data-v-18b9dfe7]{grid-column:1 / -1}.loc-grid span[data-v-18b9dfe7]{display:block;color:#98a2b3;font-size:11px;margin-bottom:4px}.loc-grid b[data-v-18b9dfe7]{font-size:13.5px;color:#172033;word-break:break-all}.loc-error[data-v-18b9dfe7]{margin:10px 0 0;color:#dc2626;font-size:13px}.loc-tip[data-v-18b9dfe7]{margin:10px 0 0;color:#98a2b3;font-size:12px;line-height:1.6}.loc-hint[data-v-18b9dfe7]{color:#98a2b3;font-size:13px}.map-btn-row[data-v-18b9dfe7]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-btn[data-v-18b9dfe7]{min-height:42px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#2563eb,#1e3a8a);font-size:14px;font-weight:700;cursor:pointer}.ref-row[data-v-18b9dfe7]{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.ref-row input[data-v-18b9dfe7]{min-width:0;min-height:38px;padding:0 10px;border:1px solid #e2e7f0;border-radius:10px;outline:none;font-size:13px}.loc-distance[data-v-18b9dfe7]{margin:10px 0 0;color:#172033;font-size:13.5px}.loc-distance b[data-v-18b9dfe7]{color:#2563eb}.loc-reverse[data-v-18b9dfe7]{margin-top:12px}.loc-address[data-v-18b9dfe7]{margin:10px 0 0;color:#2563eb;font-size:13.5px;line-height:1.6}.avatar-edit[data-v-dfad042f]{position:relative;cursor:pointer;overflow:hidden}.avatar-edit img[data-v-dfad042f]{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-edit-badge[data-v-dfad042f]{position:absolute;right:0;bottom:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#0f172a8c;font-size:12px;font-style:normal}.proto-sheet-title[data-v-dfad042f]{margin-top:6px;font-size:13px;font-weight:700;color:var(--ink-2)}.proto-sheet-divider[data-v-dfad042f]{height:1px;margin:16px 0 6px;background:#f0f2f6}.proto-about[data-v-dfad042f]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 6px;text-align:center}.proto-about .logo[data-v-dfad042f]{width:56px;height:56px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#38bdf873,#2563eba6);display:flex;align-items:center;justify-content:center;padding:8px;margin-bottom:6px}.proto-about .logo img[data-v-dfad042f]{width:100%;height:100%;object-fit:contain}.proto-about .name[data-v-dfad042f]{margin:0;font-size:15px;color:var(--ink)}.proto-about .slogan[data-v-dfad042f]{margin:0;font-size:13px;color:var(--ink-2)}.proto-about .version[data-v-dfad042f]{margin:6px 0 0;font-size:12px;color:var(--ink-3)}.proto-tab.disabled[data-v-0a7a0769]{color:#c3cbd8;cursor:not-allowed;opacity:.6}.proto-tab.disabled[data-v-0a7a0769]:before{display:none}.master-hero[data-v-9c850ab3]{padding:12px 14px 14px;background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#0e7490);color:#fff;border-radius:0 0 24px 24px}.master-top[data-v-9c850ab3]{display:flex;align-items:center;justify-content:space-between}.master-brand[data-v-9c850ab3]{display:flex;align-items:center;gap:10px}.master-logo[data-v-9c850ab3]{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#ffffff2e;font-size:18px}.master-brand strong[data-v-9c850ab3]{display:block;font-size:15px}.master-brand small[data-v-9c850ab3]{color:#fffc;font-size:11px}.master-hello[data-v-9c850ab3]{margin-top:10px}.master-hello span[data-v-9c850ab3]{font-size:13.5px;font-weight:600}.master-hello small[data-v-9c850ab3]{display:block;margin-top:2px;color:#fffc;font-size:11px}.master-kpis[data-v-9c850ab3]{display:flex;gap:10px;margin-top:10px}.master-kpi[data-v-9c850ab3]{flex:1;padding:8px;border-radius:12px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);text-align:center}.master-kpi b[data-v-9c850ab3]{display:block;font-size:20px;font-weight:800}.master-kpi span[data-v-9c850ab3]{margin-top:3px;display:block;font-size:11px;opacity:.9}.master-ops[data-v-9c850ab3]{margin-top:14px}.ops-card.master-contract[data-v-9c850ab3]{background:linear-gradient(180deg,#fff,#f2f7ff);color:#1e2533;border:1px solid #e2e8f4;box-shadow:0 6px 18px #1018280f}.ops-card.master-contract.disabled[data-v-9c850ab3]{background:#f3f4f6;color:#9aa3b2;border:1px dashed #cbd5e1;box-shadow:none;filter:grayscale(1)}.ops-card.master-contract.disabled .title[data-v-9c850ab3]{color:#9aa3b2}.ops-card.master-contract.disabled .slogan[data-v-9c850ab3]{color:#b0b8c4}.contract-soon[data-v-9c850ab3]{padding:5px 12px;border-radius:20px;color:#9aa3b2;background:#e5e7eb;font-size:12px;font-weight:700}.contract-soon-tip[data-v-9c850ab3]{margin-top:4px;padding:12px 14px;border-radius:12px;color:#9aa3b2;background:#eef1f5;font-size:13px;line-height:1.6}.ops-card.master-contract[data-v-9c850ab3]:before{display:none}.ops-card.master-contract .head[data-v-9c850ab3]{margin-bottom:16px}.ops-card.master-contract .title[data-v-9c850ab3]{font-size:21px;color:#1e2533}.ops-card.master-contract .slogan[data-v-9c850ab3]{font-size:14px;color:#5b6472;opacity:1;margin:12px 0 16px}.contract-refresh[data-v-9c850ab3]{width:36px;height:36px;border:1px solid #dbe3ef;border-radius:11px;color:#5b6472;background:#fff;font-size:18px;cursor:pointer}.contract-station[data-v-9c850ab3]{margin-top:14px;padding:16px 16px 18px;border-radius:16px;background:#fff;border:1px solid #e6eaf1}.contract-station-head[data-v-9c850ab3]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.contract-station-head b[data-v-9c850ab3]{font-size:16px;color:#1e2533}.contract-station-title[data-v-9c850ab3]{display:flex;align-items:center;gap:6px;min-width:0}.demo-tag[data-v-9c850ab3]{flex:0 0 auto;padding:2px 7px;border-radius:20px;color:#c2410c;background:#fff7ed;font-size:10px;font-style:normal;font-weight:700}.contract-station-head span[data-v-9c850ab3]{flex:0 0 auto;color:#9aa3b2;font-size:12px}.contract-metric+.contract-metric[data-v-9c850ab3]{margin-top:10px}.metric-head[data-v-9c850ab3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.metric-head span[data-v-9c850ab3]{color:#5b6472;font-size:13px;font-weight:600}.metric-head b[data-v-9c850ab3]{font-size:16px;color:#1e2533}.metric-track[data-v-9c850ab3]{height:12px;border-radius:99px;background:#eef2f7;overflow:hidden}.metric-track i[data-v-9c850ab3]{display:block;height:100%;border-radius:99px;background:#cbd5e1;transition:width .3s}.metric-track i.good[data-v-9c850ab3]{background:linear-gradient(90deg,#16a34a,#22c55e)}.metric-track i.ok[data-v-9c850ab3]{background:linear-gradient(90deg,#2563eb,#38bdf8)}.metric-track i.warn[data-v-9c850ab3]{background:linear-gradient(90deg,#f59e0b,#fb923c)}.metric-track i.bad[data-v-9c850ab3]{background:linear-gradient(90deg,#ef4444,#f87171)}.metric-foot[data-v-9c850ab3]{display:flex;align-items:center;justify-content:space-between;margin-top:7px}.metric-foot span[data-v-9c850ab3]{color:#9aa3b2;font-size:12px}.metric-foot em[data-v-9c850ab3]{flex:0 0 auto;padding:3px 10px;border-radius:20px;color:#166534;background:#dcfce7;font-size:11px;font-style:normal;font-weight:700}.metric-foot em.pending[data-v-9c850ab3]{color:#b45309;background:#fef3c7}.master-ops .process-steps .step[data-v-9c850ab3]{gap:3px;flex:0 0 auto}.master-ops .process-steps[data-v-9c850ab3]{gap:5px}.master-ops .process-steps .step span[data-v-9c850ab3]{font-size:9.5px;white-space:nowrap}.master-ops .process-steps .step .n[data-v-9c850ab3]{width:17px;height:17px;font-size:9px}.master-quick[data-v-9c850ab3]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.master-quick a[data-v-9c850ab3]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:12px;background:#fff;border:1px solid #e6eaf1;color:#5b6472;font-size:12px}.master-quick i[data-v-9c850ab3]{font-size:20px;font-style:normal}.daily-task-grid[data-v-9c850ab3]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.daily-task-tile[data-v-9c850ab3]{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 10px;border-radius:14px;background:#fff;border:1px solid #e6eaf1;color:#5b6472;text-decoration:none;box-shadow:0 6px 18px #1018280d}.daily-task-tile b[data-v-9c850ab3]{font-size:26px;font-weight:800;color:#1e2533}.daily-task-tile span[data-v-9c850ab3]{font-size:12.5px;font-weight:700}.daily-task-tile small[data-v-9c850ab3]{color:#2563eb;font-size:11px}.avatar-edit[data-v-592f0668]{position:relative;cursor:pointer;overflow:hidden}.avatar-edit img[data-v-592f0668]{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-edit-badge[data-v-592f0668]{position:absolute;right:0;bottom:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#0f172a8c;font-size:12px;font-style:normal}.proto-sheet-title[data-v-592f0668]{margin-top:6px;font-size:13px;font-weight:700;color:var(--ink-2)}.proto-sheet-divider[data-v-592f0668]{height:1px;margin:16px 0 6px;background:#f0f2f6}.proto-about[data-v-592f0668]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 6px;text-align:center}.proto-about .logo[data-v-592f0668]{width:56px;height:56px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#38bdf873,#2563eba6);display:flex;align-items:center;justify-content:center;padding:8px;margin-bottom:6px}.proto-about .logo img[data-v-592f0668]{width:100%;height:100%;object-fit:contain}.proto-about .name[data-v-592f0668]{margin:0;font-size:15px;color:var(--ink)}.proto-about .slogan[data-v-592f0668]{margin:0;font-size:13px;color:var(--ink-2)}.proto-about .version[data-v-592f0668]{margin:6px 0 0;font-size:12px;color:var(--ink-3)}.top-actions[data-v-6dbcb553]{display:flex;gap:6px}.top-add[data-v-6dbcb553]{min-width:56px;padding:0 12px;height:32px;border:1px solid rgba(255,255,255,.95);border-radius:8px;color:#fff;background:#1e3a8a;font-size:12.5px;font-weight:700;box-shadow:0 2px 8px #0b5cd659;cursor:pointer}.station-block[data-v-6dbcb553]{margin-bottom:10px}.station-card[data-v-6dbcb553]{cursor:pointer}.station-card-side[data-v-6dbcb553]{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.station-edit-btn[data-v-6dbcb553]{padding:6px 12px;border:1px solid #b9d0ff;border-radius:8px;color:#2563eb;background:#eaf2ff;font-size:12px;font-weight:700;cursor:pointer}.station-arrow[data-v-6dbcb553]{color:#9aa3b2;transition:transform .18s}.station-arrow.open[data-v-6dbcb553]{transform:rotate(90deg);color:#2563eb}.station-counts[data-v-6dbcb553]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.count-tile[data-v-6dbcb553]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;border-radius:12px;background:#f7faff;border:1px solid #e2e7f0;color:#5b6472;text-decoration:none}.count-tile b[data-v-6dbcb553]{font-size:20px;color:#1e2533}.count-tile span[data-v-6dbcb553]{font-size:11.5px;font-weight:700}.count-tile small[data-v-6dbcb553]{color:#2563eb;font-size:10.5px}.station-photo-row[data-v-6dbcb553]{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.station-photo-preview[data-v-6dbcb553]{position:relative}.station-photo-preview img[data-v-6dbcb553]{width:88px;height:88px;object-fit:cover;border-radius:12px;border:1px solid #e2e7f0;display:block}.station-photo-preview button[data-v-6dbcb553]{position:absolute;right:4px;top:4px;padding:2px 8px;border:0;border-radius:8px;color:#fff;background:#0f172ab3;font-size:11px;cursor:pointer}.station-photo-btn[data-v-6dbcb553]{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border:1.5px dashed #b9d0ff;border-radius:12px;background:#eaf2ff;color:#2563eb;font-size:12px;font-weight:700;cursor:pointer}.station-photo-btn span[data-v-6dbcb553]{font-size:12px;line-height:1.3}.station-photo-btn input[data-v-6dbcb553]{display:none}.locate-btn[data-v-6dbcb553]{width:100%;margin-top:10px;padding:11px;border:1px solid #2563eb;border-radius:10px;color:#2563eb;background:#fff;font-size:13.5px;font-weight:700;cursor:pointer}.master-select[data-v-256ebd03]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.scheme-notice[data-v-256ebd03]{margin-top:10px;padding:9px 12px;border-radius:10px;color:#2563eb;background:#eaf2ff;font-size:12px;line-height:1.5}.master-device[data-v-256ebd03]{display:block}.master-device-head[data-v-256ebd03]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.master-device-head b[data-v-256ebd03]{display:block;font-size:14px;color:#1e2533}.master-device-head small[data-v-256ebd03]{display:block;margin-top:3px;color:#9aa3b2;font-size:11px}.master-device-meta[data-v-256ebd03]{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:8px;color:#5b6472;font-size:12px}.master-add-btn[data-v-256ebd03]{width:100%;margin-top:12px;padding:12px;border:1.5px dashed #b9d0ff;border-radius:12px;color:#2563eb;background:#eaf2ff;font-size:14px;font-weight:700;cursor:pointer}.master-add-btn[data-v-256ebd03]:disabled{opacity:.5;cursor:not-allowed}.top-add[data-v-256ebd03]{min-width:56px;padding:0 12px;height:32px;border:1px solid rgba(255,255,255,.95);border-radius:8px;color:#fff;background:#1e3a8a;font-size:12.5px;font-weight:700;box-shadow:0 2px 8px #0b5cd659;cursor:pointer}.top-add[data-v-256ebd03]:disabled{opacity:.45;cursor:not-allowed}.top-actions[data-v-256ebd03]{display:flex;gap:6px}.check-summary[data-v-256ebd03]{padding:13px;border-radius:12px;background:#fce8e6;border:1px solid #fecaca}.check-summary.ok[data-v-256ebd03]{background:#dcfce7;border-color:#bbf7d0}.check-summary b[data-v-256ebd03]{display:block;color:#b42318;font-size:15px}.check-summary.ok b[data-v-256ebd03]{color:#166534}.check-summary small[data-v-256ebd03]{display:block;margin-top:4px;color:#9a3412;font-size:12px}.check-summary.ok small[data-v-256ebd03]{color:#15803d}.missing-list[data-v-256ebd03]{margin-top:10px;max-height:320px;overflow-y:auto}.missing-item[data-v-256ebd03]{padding:10px 12px;border-radius:10px;background:#fff7f7;border:1px solid #fee2e2;margin-bottom:8px}.missing-item b[data-v-256ebd03]{display:block;font-size:13px;color:#1e2533}.missing-item small[data-v-256ebd03]{display:block;margin-top:3px;color:#b42318;font-size:11px}.mark-btn[data-v-256ebd03]{margin-top:8px;padding:5px 12px;border:1px solid #b9d0ff;border-radius:8px;color:#2563eb;background:#eaf2ff;font-size:12px;font-weight:700;cursor:pointer}.mark-btn.marked[data-v-256ebd03]{border-color:#bbf7d0;color:#166534;background:#dcfce7}.mark-target[data-v-256ebd03]{font-size:14px;font-weight:700;color:#1e2533}.mark-info[data-v-256ebd03]{margin-top:8px;padding:9px 12px;border-radius:10px;color:#b42318;background:#fce8e6;font-size:12px}.mark-info.ok[data-v-256ebd03]{color:#166534;background:#dcfce7}.mark-locate[data-v-256ebd03]{width:100%;margin-top:12px;padding:11px;border:1px solid #2563eb;border-radius:10px;color:#2563eb;background:#fff;font-size:13.5px;font-weight:700;cursor:pointer}.mark-locate[data-v-256ebd03]:disabled{opacity:.5}.device-actions[data-v-256ebd03]{display:flex;gap:8px;margin-top:8px}.device-actions .mark-btn[data-v-256ebd03]{margin-top:0}.qr-btn[data-v-256ebd03]{border-color:#c7d2fe;color:#4338ca;background:#eef2ff}.qr-sheet[data-v-256ebd03]{text-align:center}.qr-body[data-v-256ebd03]{padding:8px 0 4px}.qr-img img[data-v-256ebd03]{width:220px;height:220px;margin:0 auto;display:block;border-radius:12px}.qr-name[data-v-256ebd03]{margin:12px 0 0;font-size:15px;font-weight:700;color:#1e2533}.qr-code[data-v-256ebd03]{margin:4px 0 0;color:#9aa3b2;font-size:12px}.qr-download[data-v-256ebd03]{display:block;text-decoration:none}.point-mode-row[data-v-256ebd03]{display:flex;gap:4px;padding:3px;border-radius:12px;background:#f1f4f9}.point-mode-row button[data-v-256ebd03]{flex:1;min-height:32px;padding:0 6px;border:0;border-radius:9px;color:#5b6472;background:transparent;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:all .18s}.point-mode-row button.point-mode-disabled[data-v-256ebd03]{color:#c3cbd8;background:#eef1f5;cursor:not-allowed}.point-mode-row button.on[data-v-256ebd03]{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 3px 10px #2563eb40}.form-error[data-v-256ebd03]{margin:10px 0 0;color:#dc2626;font-size:13px;line-height:1.5}.field-tip[data-v-256ebd03]{color:#9aa3b2;font-size:11px}.point-code-error[data-v-256ebd03]{margin:0;color:#dc2626;font-size:11.5px}.scheme-btn[data-v-256ebd03]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:8px;padding:9px 12px;border:1px solid #c7d2fe;border-radius:10px;color:#4338ca;background:#eef2ff;font-size:12.5px;font-weight:700;cursor:pointer}.scheme-btn.set[data-v-256ebd03]{border-color:#bbf7d0;color:#166534;background:#f2fdf6}.scheme-label[data-v-256ebd03]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheme-action[data-v-256ebd03]{flex:0 0 auto;font-size:11.5px;opacity:.85}.scheme-current[data-v-256ebd03]{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0}.scheme-current.empty[data-v-256ebd03]{background:#f8fafc;border-color:#e2e7f0;color:#9aa3b2;font-size:12px}.scheme-current b[data-v-256ebd03]{display:block;font-size:13.5px;color:#166534}.scheme-current small[data-v-256ebd03]{display:block;margin-top:3px;color:#5b6472;font-size:11.5px}.scheme-item-chip[data-v-256ebd03]{display:inline-block;margin:6px 6px 0 0;padding:3px 8px;border-radius:20px;background:#dcfce7;color:#166534;font-size:10.5px}.master-select[data-v-304ebe83]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.form-error[data-v-304ebe83]{margin:10px 0 0;color:#dc2626;font-size:13px;line-height:1.5}.master-point[data-v-304ebe83]{display:block}.master-point-head[data-v-304ebe83]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.master-point-head b[data-v-304ebe83]{display:block;font-size:14px;color:#1e2533}.master-point-head small[data-v-304ebe83]{display:block;margin-top:3px;color:#9aa3b2;font-size:11px}.master-qr-btn[data-v-304ebe83]{padding:6px 12px;border:0;border-radius:9px;color:#fff;background:#2563eb;font-size:12px;font-weight:700;cursor:pointer}.master-point-meta[data-v-304ebe83]{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:8px;color:#5b6472;font-size:12px}.master-add-btn[data-v-304ebe83]{width:100%;margin-top:12px;padding:12px;border:1.5px dashed #b9d0ff;border-radius:12px;color:#2563eb;background:#eaf2ff;font-size:14px;font-weight:700;cursor:pointer}.master-add-btn[data-v-304ebe83]:disabled{opacity:.5;cursor:not-allowed}.qr-sheet[data-v-304ebe83]{text-align:center}.qr-body[data-v-304ebe83]{padding:8px 0 4px}.qr-img img[data-v-304ebe83]{width:220px;height:220px;margin:0 auto;display:block;border-radius:12px}.qr-name[data-v-304ebe83]{margin:12px 0 0;font-size:15px;font-weight:700;color:#1e2533}.qr-code[data-v-304ebe83]{margin:4px 0 0;color:#9aa3b2;font-size:12px}.qr-download[data-v-304ebe83]{display:block;text-decoration:none}.top-actions[data-v-304ebe83]{display:flex;gap:6px}.top-add[data-v-304ebe83]{min-width:56px;padding:0 12px;height:32px;border:1px solid rgba(255,255,255,.95);border-radius:8px;color:#fff;background:#1e3a8a;font-size:12.5px;font-weight:700;box-shadow:0 2px 8px #0b5cd659;cursor:pointer}.top-add[data-v-304ebe83]:disabled{opacity:.45;cursor:not-allowed}.check-summary[data-v-304ebe83]{padding:13px;border-radius:12px;background:#fce8e6;border:1px solid #fecaca}.check-summary.ok[data-v-304ebe83]{background:#dcfce7;border-color:#bbf7d0}.check-summary b[data-v-304ebe83]{display:block;color:#b42318;font-size:15px}.check-summary.ok b[data-v-304ebe83]{color:#166534}.check-summary small[data-v-304ebe83]{display:block;margin-top:4px;color:#9a3412;font-size:12px;line-height:1.5}.check-summary.ok small[data-v-304ebe83]{color:#15803d}.missing-list[data-v-304ebe83]{margin-top:10px;max-height:320px;overflow-y:auto}.missing-item[data-v-304ebe83]{padding:10px 12px;border-radius:10px;background:#fff7f7;border:1px solid #fee2e2;margin-bottom:8px}.missing-item b[data-v-304ebe83]{display:block;font-size:13px;color:#1e2533}.missing-item small[data-v-304ebe83]{display:block;margin-top:3px;color:#b42318;font-size:11px}.point-actions[data-v-304ebe83]{display:flex;gap:8px;margin-top:8px}.mark-btn[data-v-304ebe83]{padding:5px 12px;border:1px solid #b9d0ff;border-radius:8px;color:#2563eb;background:#eaf2ff;font-size:12px;font-weight:700;cursor:pointer}.mark-btn.marked[data-v-304ebe83]{border-color:#bbf7d0;color:#166534;background:#dcfce7}.radius-btn[data-v-304ebe83]{border-color:#c7d2fe;color:#4338ca;background:#eef2ff}.del-btn[data-v-304ebe83]{border-color:#fecaca;color:#dc2626;background:#fff}.edit-btn[data-v-304ebe83]{border-color:#c7d2fe;color:#4338ca;background:#eef2ff}.point-scheme-line[data-v-304ebe83]{margin-top:8px;padding:6px 10px;border-radius:8px;color:#166534;background:#f0fdf4;font-size:12px;font-weight:700}.point-scheme-line.empty[data-v-304ebe83]{color:#b45309;background:#fffbeb}.point-devices-line[data-v-304ebe83]{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:8px;color:#5b6472;font-size:11.5px}.device-chip-list[data-v-304ebe83]{display:flex;flex-wrap:wrap;gap:8px;max-height:190px;overflow-y:auto;padding:4px 0}.linked-device-list[data-v-304ebe83]{display:flex;flex-wrap:wrap;gap:8px}.linked-device-chip[data-v-304ebe83]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;border:1px solid #b9d0ff;color:#2563eb;background:#eaf2ff;font-size:12px;font-weight:700}.linked-device-chip small[data-v-304ebe83]{color:#5b6472;font-weight:500;font-size:11px}.linked-device-chip button[data-v-304ebe83]{width:18px;height:18px;border:0;border-radius:50%;color:#fff;background:#2563eb59;font-size:12px;line-height:1;cursor:pointer}.add-device-btn[data-v-304ebe83]{width:100%;margin-top:8px;padding:10px;border:1.5px dashed #b9d0ff;border-radius:10px;color:#2563eb;background:#eaf2ff;font-size:13px;font-weight:700;cursor:pointer}.load-more-btn[data-v-304ebe83]{width:100%;margin-top:8px;padding:8px;border:1px solid #b9d0ff;border-radius:8px;color:#2563eb;background:#fff;font-size:13px;font-weight:600;cursor:pointer}.load-more-btn[data-v-304ebe83]:disabled{opacity:.6;cursor:default}.device-add-panel[data-v-304ebe83]{margin-top:8px;padding:10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e7f0}.scheme-remind[data-v-304ebe83]{margin:0 0 8px;padding:7px 9px;border-radius:8px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;font-size:11.5px;line-height:1.5}.add-device-search[data-v-304ebe83]{width:100%;min-height:36px;padding:0 10px;border:1px solid #e2e7f0;border-radius:9px;outline:none;background:#fff;font-size:13px;color:#1e2533}.device-chip[data-v-304ebe83]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;position:relative;min-width:120px;max-width:46%;padding:8px 10px;border:1px solid #e2e7f0;border-radius:10px;color:#5b6472;background:#fff;text-align:left;cursor:pointer}.device-chip.on[data-v-304ebe83]{border-color:#2563eb;background:#eff4ff;box-shadow:0 0 0 2px #2563eb1f}.device-chip-check[data-v-304ebe83]{position:absolute;right:6px;top:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2563eb;font-size:11px;font-style:normal;font-weight:800}.device-chip span[data-v-304ebe83]{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.device-chip small[data-v-304ebe83]{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9aa3b2;font-size:10.5px}.device-chip.on[data-v-304ebe83]{border-color:#2563eb;color:#2563eb;background:#eff4ff;box-shadow:0 0 0 1px #2563eb}.device-chip.used[data-v-304ebe83]{border-style:dashed;border-color:#fca5a5;color:#9aa3b2;background:#fff5f5;cursor:not-allowed;opacity:.85}.device-chip.noscheme[data-v-304ebe83]{border-style:dashed;border-color:#fcd34d;color:#9aa3b2;background:#fffbeb;cursor:not-allowed;opacity:.85}.device-chip .used-tip[data-v-304ebe83]{color:#dc2626}.device-chip .noscheme-tip[data-v-304ebe83]{color:#b45309}.used-warning[data-v-304ebe83]{margin:8px 0 0;padding:8px 10px;border-radius:8px;color:#b42318;background:#fce8e6;border:1px solid #fecaca;font-size:11.5px;line-height:1.6}.empty-tip[data-v-304ebe83]{width:100%;margin:0;color:#9aa3b2;font-size:12px;text-align:center;padding:10px 0}.field-tip[data-v-304ebe83]{color:#9aa3b2;font-size:11px}.proto-field input[data-v-304ebe83]:disabled{color:#9aa3b2;background:#f1f4f9;cursor:not-allowed}.mark-target[data-v-304ebe83]{font-size:14px;font-weight:700;color:#1e2533}.mark-info[data-v-304ebe83]{margin-top:8px;padding:9px 12px;border-radius:10px;color:#b42318;background:#fce8e6;font-size:12px}.mark-info.ok[data-v-304ebe83]{color:#166534;background:#dcfce7}.fence-switch[data-v-304ebe83]{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px;font-weight:700;color:#1e2533}.fence-switch input[data-v-304ebe83]{width:18px;height:18px;accent-color:#2563eb}.mark-locate[data-v-304ebe83]{width:100%;margin-top:12px;padding:11px;border:1px solid #2563eb;border-radius:10px;color:#2563eb;background:#fff;font-size:13.5px;font-weight:700;cursor:pointer}.mark-locate[data-v-304ebe83]:disabled{opacity:.5}.master-select[data-v-9cd166ee]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.member-search[data-v-9cd166ee]{margin-top:10px}.member-search input[data-v-9cd166ee],.member-search-input[data-v-9cd166ee]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.master-member[data-v-9cd166ee]{display:flex;align-items:center;gap:10px}.user-pick-list[data-v-9cd166ee]{max-height:260px;overflow-y:auto;display:grid;gap:8px}.user-pick-item[data-v-9cd166ee]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid #e2e7f0;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.user-pick-item.on[data-v-9cd166ee]{border-color:#2563eb;background:#eff4ff;box-shadow:0 0 0 2px #2563eb1f}.user-pick-name[data-v-9cd166ee]{flex:1;min-width:0;font-size:13px;color:#1e2533;font-weight:600}.user-pick-item small[data-v-9cd166ee]{flex:0 0 auto;color:#9aa3b2;font-size:11px}.user-pick-item i[data-v-9cd166ee]{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2563eb;font-size:11px;font-style:normal;font-weight:800}.user-pick-empty[data-v-9cd166ee]{padding:12px;border-radius:10px;color:#9aa3b2;background:#f4f7fc;font-size:12px;text-align:center}.member-avatar[data-v-9cd166ee]{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2563eb;font-size:14px;font-weight:700}.member-info[data-v-9cd166ee]{flex:1;min-width:0}.member-info b[data-v-9cd166ee]{display:block;font-size:13.5px;color:#1e2533}.member-info small[data-v-9cd166ee]{display:block;margin-top:2px;color:#9aa3b2;font-size:11px}.member-remove[data-v-9cd166ee]{padding:6px 12px;border:1px solid #fecaca;border-radius:9px;color:#dc2626;background:#fff;font-size:12px;font-weight:600;cursor:pointer}.master-add-btn[data-v-9cd166ee]{width:100%;margin-top:12px;padding:12px;border:1.5px dashed #b9d0ff;border-radius:12px;color:#2563eb;background:#eaf2ff;font-size:14px;font-weight:700;cursor:pointer}.master-add-btn[data-v-9cd166ee]:disabled{opacity:.5;cursor:not-allowed}.open-tip[data-v-b5501087]{margin-bottom:12px;padding:10px 12px;border-radius:10px;color:#2563eb;background:#eaf2ff;font-size:12px}.master-select[data-v-b5501087]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.check-actions[data-v-b5501087]{margin-top:12px}.open-record[data-v-b5501087]{margin-top:10px;padding:10px 12px;border-radius:10px;color:#b45309;background:#fef3c7;border:1px solid #fde68a;font-size:12px;line-height:1.6}.open-record.ok[data-v-b5501087]{color:#166534;background:#dcfce7;border-color:#bbf7d0}.check-btn[data-v-b5501087]{width:100%;padding:12px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:14.5px;font-weight:700;box-shadow:0 6px 16px #2563eb47;cursor:pointer}.check-btn[data-v-b5501087]:disabled{opacity:.5;cursor:not-allowed}.open-error[data-v-b5501087]{margin-top:10px;padding:10px 12px;border-radius:10px;color:#b42318;background:#fce8e6;font-size:12px}.check-summary[data-v-b5501087]{margin-top:14px;padding:14px;border-radius:14px;background:#fce8e6;border:1px solid #fecaca;margin-bottom:10px}.check-summary.ok[data-v-b5501087]{background:#dcfce7;border-color:#bbf7d0}.check-summary b[data-v-b5501087]{display:block;color:#b42318;font-size:15px}.check-summary.ok b[data-v-b5501087]{color:#166534}.check-summary small[data-v-b5501087]{display:block;margin-top:4px;color:#9a3412;font-size:12px}.check-summary.ok small[data-v-b5501087]{color:#15803d}.ready-bar[data-v-b5501087]{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#5b6472;font-size:12px}.ready-track[data-v-b5501087]{flex:1;height:8px;border-radius:99px;background:#eef2f7;overflow:hidden}.ready-track i[data-v-b5501087]{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#16a34a);transition:width .3s}.ready-bar b[data-v-b5501087]{color:#1e2533}.open-step[data-v-b5501087]{display:flex;align-items:center;gap:12px;transition:border-color .18s,box-shadow .18s}.open-step.ready[data-v-b5501087]{border-color:#bbf7d0;background:#f7fef9}.open-no[data-v-b5501087]{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:13px;font-weight:800}.open-no.ok[data-v-b5501087]{background:linear-gradient(135deg,#16a34a,#15803d)}.open-info[data-v-b5501087]{flex:1;min-width:0}.open-info b[data-v-b5501087]{display:block;font-size:15px;color:#1e2533}.open-info small[data-v-b5501087]{display:block;margin-top:3px;color:#9aa3b2;font-size:12px}.open-tag[data-v-b5501087]{flex:0 0 auto;padding:3px 9px;border-radius:20px;color:#2563eb;background:#eaf2ff;font-size:11px;font-weight:700}.open-tag.ok[data-v-b5501087]{color:#166534;background:#dcfce7}.open-detail[data-v-b5501087]{margin:6px 0 12px;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e7f0}.detail-head[data-v-b5501087]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.detail-head b[data-v-b5501087]{font-size:13.5px;color:#1e2533}.detail-go[data-v-b5501087]{color:#2563eb;font-size:12.5px;font-weight:700;text-decoration:none}.detail-item[data-v-b5501087]{display:flex;gap:8px;padding:9px 10px;margin-bottom:8px;border-radius:10px;background:#fff;border:1px solid #fecaca}.detail-item[data-v-b5501087]:last-child{margin-bottom:0}.detail-item i[data-v-b5501087]{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;background:#dc2626;color:#fff;font-size:11px;font-style:normal;font-weight:800;margin-top:1px}.detail-item b[data-v-b5501087]{display:block;font-size:12.5px;color:#1e2533}.detail-item small[data-v-b5501087]{display:block;margin-top:2px;color:#9a3412;font-size:11.5px}.open-guide[data-v-b5501087]{margin-top:16px}.guide-title[data-v-b5501087]{margin-bottom:8px;color:#5b6472;font-size:12.5px;font-weight:700}.guide-row[data-v-b5501087]{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:#fff;border:1px solid #e6eaf1;text-decoration:none;color:inherit}.guide-no[data-v-b5501087]{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:12px;font-weight:800}.guide-info[data-v-b5501087]{flex:1;min-width:0}.guide-info b[data-v-b5501087]{display:block;font-size:13.5px;color:#1e2533}.guide-info small[data-v-b5501087]{display:block;margin-top:2px;color:#9aa3b2;font-size:11.5px}.guide-place[data-v-b5501087]{padding:3px 9px;border-radius:20px;color:#2563eb;background:#eaf2ff;font-size:11px;font-weight:700}.guide-row em[data-v-b5501087]{font-style:normal;color:#c3cbd8}.master-select[data-v-df3b18b4]{width:100%;min-height:42px;padding:0 12px;border:1px solid #e2e7f0;border-radius:12px;outline:none;background:#fff;font-size:14px;color:#1e2533}.check-actions[data-v-df3b18b4]{margin-top:12px}.check-btn[data-v-df3b18b4]{width:100%;padding:12px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:14.5px;font-weight:700;box-shadow:0 6px 16px #2563eb47;cursor:pointer}.check-btn[data-v-df3b18b4]:disabled{opacity:.5;cursor:not-allowed}.check-result[data-v-df3b18b4]{margin-top:14px}.check-summary[data-v-df3b18b4]{padding:14px;border-radius:14px;background:#fce8e6;border:1px solid #fecaca;margin-bottom:10px}.check-summary.ok[data-v-df3b18b4]{background:#dcfce7;border-color:#bbf7d0}.check-summary b[data-v-df3b18b4]{display:block;color:#b42318;font-size:15px}.check-summary.ok b[data-v-df3b18b4]{color:#166534}.check-summary small[data-v-df3b18b4]{display:block;margin-top:4px;color:#9a3412;font-size:12px}.check-summary.ok small[data-v-df3b18b4]{color:#15803d}.check-item[data-v-df3b18b4]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #e6eaf1;margin-bottom:8px}.check-item>span[data-v-df3b18b4]{width:76px;flex:0 0 76px;color:#5b6472;font-size:12.5px}.check-item>div[data-v-df3b18b4]{flex:1;min-width:0}.check-item b[data-v-df3b18b4]{display:block;font-size:13px;color:#1e2533;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-item small[data-v-df3b18b4]{display:block;margin-top:2px;color:#9aa3b2;font-size:11px}.check-item>i[data-v-df3b18b4]{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#16a34a;font-size:12px;font-style:normal;font-weight:800}.check-item.miss>i[data-v-df3b18b4]{background:#dc2626}.check-item.miss[data-v-df3b18b4]{border-color:#fecaca;background:#fff7f7}.station-context[data-v-b7fa1c40]{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:9px 12px;border-radius:10px;background:#eaf2ff;border:1px solid #b9d0ff;flex-wrap:wrap}.station-context span[data-v-b7fa1c40]{color:#1e3a8a;font-size:13px;font-weight:700}.station-context small[data-v-b7fa1c40]{color:#5b6472;font-size:11px;flex:1;min-width:120px}.station-context button[data-v-b7fa1c40]{padding:5px 12px;border:1px solid #2563eb;border-radius:8px;color:#2563eb;background:#fff;font-size:12px;font-weight:700;cursor:pointer}.scheme-card[data-v-b7fa1c40]{display:block}.scheme-head[data-v-b7fa1c40]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.scheme-head b[data-v-b7fa1c40]{display:block;font-size:14.5px;color:#1e2533}.scheme-head small[data-v-b7fa1c40]{display:block;margin-top:3px;color:#9aa3b2;font-size:11.5px}.scheme-right[data-v-b7fa1c40]{display:flex;align-items:center;gap:8px;flex:0 0 auto}.freq-tag[data-v-b7fa1c40]{padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.tag-daily[data-v-b7fa1c40]{color:#166534;background:#dcfce7}.tag-weekly[data-v-b7fa1c40]{color:#1d4ed8;background:#dbeafe}.tag-monthly[data-v-b7fa1c40]{color:#b45309;background:#fef3c7}.tag-quarterly[data-v-b7fa1c40]{color:#6d28d9;background:#ede9fe}.tag-yearly[data-v-b7fa1c40]{color:#be123c;background:#ffe4e6}.scheme-card.freq-daily[data-v-b7fa1c40]{border-left:4px solid #16a34a}.scheme-card.freq-weekly[data-v-b7fa1c40]{border-left:4px solid #2563eb}.scheme-card.freq-monthly[data-v-b7fa1c40]{border-left:4px solid #f59e0b}.scheme-card.freq-quarterly[data-v-b7fa1c40]{border-left:4px solid #7c3aed}.scheme-card.freq-yearly[data-v-b7fa1c40]{border-left:4px solid #e11d48}.item-chips[data-v-b7fa1c40]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.item-chips span[data-v-b7fa1c40]{padding:4px 9px;border-radius:20px;color:#5b6472;background:#f1f4f9;font-size:11px}.scheme-actions[data-v-b7fa1c40]{margin-top:10px;text-align:right}.scheme-footer[data-v-b7fa1c40]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.scheme-footer .scheme-actions[data-v-b7fa1c40]{margin-top:0;display:flex;gap:8px}.scheme-default-badge[data-v-b7fa1c40]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;color:#b45309;background:#fef3c7;font-size:11.5px;font-weight:700}.scheme-default-badge button[data-v-b7fa1c40]{padding:1px 7px;border:0;border-radius:20px;color:#b45309;background:#fff9;font-size:10.5px;font-weight:700;cursor:pointer}.default-btn[data-v-b7fa1c40]{padding:7px 14px;border:1px solid #f59e0b;border-radius:9px;color:#b45309;background:#fff7ed;font-size:12.5px;font-weight:700;cursor:pointer}.edit-btn[data-v-b7fa1c40]{padding:7px 16px;border:0;border-radius:9px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:12.5px;font-weight:700;cursor:pointer}.master-add-btn[data-v-b7fa1c40]{width:100%;margin-top:12px;padding:12px;border:1.5px dashed #b9d0ff;border-radius:12px;color:#2563eb;background:#eaf2ff;font-size:14px;font-weight:700;cursor:pointer}.scheme-sheet[data-v-b7fa1c40]{max-height:86vh;overflow-y:auto}.scheme-section-title[data-v-b7fa1c40]{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px;color:#5b6472;font-size:13px;font-weight:700}.add-item-btn[data-v-b7fa1c40]{padding:5px 12px;border:1px solid #b9d0ff;border-radius:8px;color:#2563eb;background:#eaf2ff;font-size:12px;font-weight:700;cursor:pointer}.scheme-item-editor[data-v-b7fa1c40]{margin-bottom:12px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e7f0}.item-editor-head[data-v-b7fa1c40]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.item-editor-head strong[data-v-b7fa1c40]{color:#1e2533;font-size:13px}.remove-item-btn[data-v-b7fa1c40]{padding:4px 10px;border:1px solid #fecaca;border-radius:7px;color:#dc2626;background:#fff;font-size:11.5px;cursor:pointer}.scheme-toggle[data-v-b7fa1c40]{display:flex;align-items:center;gap:8px}.scheme-toggle input[type=checkbox][data-v-b7fa1c40]{width:16px;height:16px;min-height:16px;margin:0;padding:0;border-radius:4px;accent-color:#2563eb;flex:0 0 16px}:root{--primary: #0b5cd6;--primary-light: #3b82f6;--primary-dark: #1e40af;--success: #16a34a;--warning: #f59e0b;--danger: #dc2626;--purple: #7c3aed;--bg: #f3f6fa;--card: #ffffff;--text: #111827;--muted: #6b7280;--border: #e5e7eb;--shadow: 0 8px 24px rgba(15, 23, 42, .06)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}@supports (-webkit-touch-callout: none){input,textarea,select{font-size:16px!important}}html,body,#app{width:100%;height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;overflow:hidden;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);width:100%;height:100%;min-width:0;background:var(--bg)}.desktop-sidebar{display:flex;flex-direction:column;gap:24px;padding:24px 18px;color:#fff;background:#132c45}.brand{display:flex;align-items:center;gap:12px;min-height:48px}.brand>span{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;color:var(--primary-dark);background:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand small{margin-top:4px;color:#ffffffad}.desktop-nav{display:grid;gap:8px}.desktop-nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:9px;color:#ffffffc2}.desktop-nav a:hover,.desktop-nav a.router-link-active{color:#fff;background:#ffffff1f}.desktop-nav span{display:grid;width:22px;height:22px;place-items:center;font-weight:900}.desktop-user{display:grid;gap:8px;margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff14}.desktop-user span{color:#ffffffad;font-size:12px}.desktop-user button{min-height:34px;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#fff;background:#ffffff1a}.app-main{display:flex;min-width:0;min-height:0;flex-direction:column}.tabbar{display:none}.inspection-floating-home{position:absolute;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:28;min-width:64px;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 13px;border:1px solid rgba(255,255,255,.42);border-radius:21px;color:#fff;background:linear-gradient(135deg,#1d5fd1,#16a34a);box-shadow:0 8px 20px #0f3e823d;font-size:12px;font-weight:800;text-decoration:none}.screen{flex:1;min-height:0;overflow:hidden}.mobile-page{height:100%;max-width:1280px;margin:0 auto;overflow-y:auto;overflow-x:hidden;padding:24px;-webkit-overflow-scrolling:touch}.navbar{display:flex;align-items:center;justify-content:space-between;min-height:54px;margin:-24px -24px 18px;padding:0 24px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-light));box-shadow:0 2px 10px #0b5cd624}.navbar h1{margin:0;font-size:18px}.navbar button{min-height:32px;padding:0 12px;border:1px solid rgba(255,255,255,.36);border-radius:8px;color:#fff;background:#ffffff24}.mobile-card{border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.home-page{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-content:start}.home-header{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-height:174px;padding:28px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#0b5cd6f5,#3b82f6c7),radial-gradient(circle at right top,rgba(255,255,255,.24),transparent 38%);box-shadow:var(--shadow)}.eyebrow{display:block;margin-bottom:8px;color:#ffffffc2;font-size:12px;font-weight:900}.home-header h1,.profile-header h1{margin:0 0 8px;font-size:26px}.home-header p,.profile-header p{margin:0;color:#ffffffdb}.avatar-btn,.profile-avatar{display:grid;place-items:center;border-radius:50%;color:#fff;background:#fff3;font-weight:900}.avatar-btn{width:48px;height:48px;border:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.stat-grid.floating{grid-column:1 / -1}.stat-cell{text-align:center}.stat-cell strong{display:block;font-size:26px;line-height:1.1}.stat-cell strong.warn{color:var(--warning)}.stat-cell strong.danger{color:var(--danger)}.stat-cell span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.quick-grid{grid-column:span 5;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px}.home-map-card{grid-column:span 7}.quick-item{display:grid;justify-items:center;gap:8px;padding:8px 2px;font-size:12px}.quick-item i{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;color:#fff;font-style:normal;font-size:22px;font-weight:900}.blue{background:var(--primary)}.orange{background:var(--warning)}.green{background:var(--success)}.purple{background:var(--purple)}.section-title{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:4px 2px 0;color:var(--muted);font-size:14px;font-weight:800}.section-title button,.section-title a{border:0;color:var(--primary);background:transparent;font-size:13px;font-weight:800}.live-grid{grid-column:span 3;display:grid;gap:12px}.live-card{padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.live-card span{color:var(--muted);font-size:12px}.live-card strong{display:block;margin-top:8px;font-size:32px}.live-card em{margin-left:2px;color:var(--muted);font-size:13px;font-style:normal;font-weight:500}.live-card small{color:var(--muted)}.live-card small.up{color:var(--success)}.chart-card{grid-column:span 4;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 0}.card-head h2{margin:0;font-size:15px}.card-head small{color:var(--muted)}.bar-chart{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:12px;height:190px;padding:18px 24px 16px;text-align:center}.bar-chart div{display:grid;align-items:end;gap:5px;height:100%;color:var(--muted);font-size:12px}.bar-chart i{display:block;width:34px;margin:0 auto;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#fbbf24,var(--primary))}.bar-chart b{color:var(--text)}.task-card{padding:16px}.home-page>.task-card{grid-column:span 6}.task-head,.station-main,.defect-head,.defect-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-head h3,.station-main h2,.defect-head h3,.report-main h3,.device-item h3,.point-item h3{margin:0;font-size:16px}.task-head p,.station-main p,.defect-head p,.report-main p,.device-item p,.point-item p{margin:4px 0 0;color:var(--muted);font-size:12px}.task-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:var(--muted);font-size:12px}.mini-progress{height:7px;margin-top:12px;overflow:hidden;border-radius:999px;background:#e5e7eb}.mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--success))}.task-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.task-actions button{min-height:34px;padding:0 12px;border:1px solid #bfdbfe;border-radius:8px;color:var(--primary-dark);background:#eff6ff;font-size:12px;font-weight:800}.seg-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-18px -24px 18px;border-bottom:1px solid var(--border);background:#fff}.seg-tabs button{position:relative;min-height:44px;border:0;color:var(--muted);background:transparent}.seg-tabs button.active{color:var(--primary);font-weight:900}.seg-tabs button.active:after{content:"";position:absolute;right:50%;bottom:0;width:24px;height:3px;transform:translate(50%);border-radius:999px;background:var(--primary)}.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 8px;border-radius:5px;font-size:11px;font-weight:900;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.success{color:#065f46;background:#d1fae5}.badge.warning{color:#92400e;background:#fef3c7}.badge.danger{color:#991b1b;background:#fee2e2}.badge.neutral{color:#1e40af;background:#dbeafe}.searchbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:16px}.searchbar input,.login-card input{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;outline:none}.searchbar button,.primary-btn{min-height:40px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:var(--primary);font-weight:900}.map-card{position:relative;height:240px;overflow:hidden;margin-bottom:16px;background:linear-gradient(90deg,rgba(255,255,255,.72) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.72) 1px,transparent 1px),linear-gradient(135deg,#bfdbfe,#d1fae5);background-size:32px 32px,32px 32px,auto}.map-grid span{position:absolute;width:15px;height:15px;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 10px #0000002e}.map-grid span:nth-child(1){top:42px;left:72px}.map-grid span:nth-child(2){top:98px;right:92px}.map-grid span:nth-child(3){right:152px;bottom:52px}.map-grid .success,.map-grid .neutral{background:var(--success)}.map-grid .warning{background:var(--warning)}.map-grid .danger{background:var(--danger)}.map-legend{position:absolute;right:14px;bottom:14px;display:grid;gap:3px;padding:10px 12px;border-radius:8px;background:#ffffffeb;box-shadow:var(--shadow)}.map-legend small{color:var(--muted)}.station-card,.defect-card,.report-card{margin-bottom:12px;padding:16px}.station-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;color:var(--muted);font-size:11px}.station-metrics span{padding:8px;border-radius:8px;background:#f9fafb}.station-metrics b{display:block;color:var(--text);font-size:13px}.device-item,.point-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.device-item+.device-item,.point-item+.point-item{margin-top:8px}.device-item i,.point-item span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:10px;color:#fff;background:var(--primary);font-style:normal;font-size:12px;font-weight:900}.device-item>div,.point-item>div{flex:1;min-width:0}.inline-actions{display:grid;flex:0 0 auto;gap:6px}.inline-actions button{min-height:28px;padding:0 8px;border:1px solid #bfdbfe;border-radius:7px;color:var(--primary-dark);background:#eff6ff;font-size:11px;font-weight:900}.defect-desc{margin:12px 0;color:#374151;line-height:1.6}.home-page>.defect-card{grid-column:span 4}.defect-foot{align-items:center;color:var(--muted);font-size:12px}.report-card{display:flex;gap:12px}.report-cover{display:grid;width:72px;min-height:88px;flex:0 0 72px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));text-align:center}.report-cover span{font-size:12px;font-weight:900}.report-cover b{padding:0 6px;font-size:10px;word-break:break-all}.report-main{flex:1}.report-main a{display:inline-flex;margin-top:10px;color:var(--primary);font-weight:900}.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.report-actions button,.report-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin:0;padding:0 12px;border:1px solid #bfdbfe;border-radius:8px;color:var(--primary-dark);background:#eff6ff;font-size:12px;font-weight:900}.profile-header{margin:-24px -24px 0;padding:34px 24px 42px;color:#fff;text-align:center;background:linear-gradient(135deg,var(--primary),var(--primary-light))}.profile-avatar{width:64px;height:64px;margin:0 auto 10px;font-size:24px}.sync-card{padding:16px}.sync-card p{margin:0;color:var(--muted);line-height:1.6}pre{min-height:120px;max-height:220px;margin:12px 0 0;padding:12px;overflow:auto;border-radius:8px;color:#dcfce7;background:#0f172a;font-size:11px}.menu-list{overflow:hidden}.menu-list button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:0 14px;border:0;border-bottom:1px solid var(--border);background:#fff;color:var(--text);text-align:left}.menu-list button:last-child{border-bottom:0}.menu-list span{color:#cbd5e1;font-size:20px}.empty-state{padding:28px 16px;color:var(--muted);text-align:center}.login-page{display:grid;width:100%;height:100%;place-items:center;padding:28px;background:radial-gradient(circle at 80% 12%,rgba(59,130,246,.25),transparent 34%),linear-gradient(135deg,#1e293b,#020617)}.login-phone{display:grid;grid-template-columns:minmax(0,1.1fr) 420px;gap:28px;width:min(100%,1040px);min-height:580px}.login-brand{display:grid;align-content:center;padding:48px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0b5cd6f0,#3b82f694),url(/assets/pv-mobile-hero.jpg) center / cover}.login-logo{display:block;width:150px;height:auto;background:transparent;object-fit:contain}.login-brand-row{display:flex;align-items:center;gap:14px;margin-bottom:30px}.login-brand-name{color:#fff;font-size:24px;font-weight:800;letter-spacing:1px;white-space:nowrap}.login-brand h1{margin:0 0 10px;font-size:34px}.login-brand p{max-width:420px;margin:0;color:#ffffffd6;font-size:16px}.login-card{display:grid;align-content:center;gap:14px;padding:30px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 20px 48px #00000038}.login-card h2{margin:0 0 4px;font-size:22px}.login-card label{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:800}.error{margin:0;color:var(--danger)}.proto-inline-error{margin:8px 0 0;color:var(--danger);font-size:13px;line-height:1.5}.demo-users{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.demo-users button{min-height:32px;border:1px solid var(--border);border-radius:8px;color:var(--primary);background:#eff6ff;font-size:12px;font-weight:800}@media (max-width: 1100px){.home-page{grid-template-columns:repeat(6,minmax(0,1fr))}.quick-grid,.home-map-card,.live-grid,.chart-card,.home-page>.task-card,.home-page>.defect-card{grid-column:1 / -1}.live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){html,body,#app{height:var(--app-vh, 100vh)}body{overflow:hidden}.app-shell{display:block;height:var(--app-vh, 100vh)}.desktop-sidebar{display:none}.app-main{width:100%;height:var(--app-vh, 100vh)}.screen{padding-bottom:62px}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:30;display:flex;height:62px;border-top:1px solid var(--border);background:#fff}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:10px}.tab.router-link-active{color:var(--primary)}.tab-icon{display:grid;width:22px;height:22px;place-items:center;font-size:18px;font-weight:900}.mobile-page{max-width:none;height:var(--app-vh, 100vh);padding:0 0 18px}.navbar{position:sticky;top:0;z-index:12;margin:0 0 10px;padding:0 16px}.home-page{display:block}.home-header{min-height:auto;margin:0 0 -22px;padding:20px 16px 34px;border-radius:0}.home-header h1{font-size:20px}.stat-grid.floating{position:relative;z-index:2;margin:0 12px 10px}.stat-cell strong{font-size:20px}.quick-grid,.home-map-card,.chart-card,.task-card,.station-card,.defect-card,.report-card,.sync-card,.menu-list{margin:10px 12px}.live-grid{grid-template-columns:repeat(2,1fr);padding:0 12px}.live-card strong{font-size:26px}.seg-tabs{position:sticky;top:52px;z-index:10;margin:-10px 0 10px}.searchbar{padding:0 12px 10px}.map-card{height:188px;margin:0 12px 10px}.device-item,.point-item{margin:0 12px;border-radius:0;border-right:0;border-left:0;box-shadow:none}.profile-header{margin:0 0 -22px;padding:28px 16px 42px}.login-page{padding:0;background:var(--bg)}.login-phone{display:block;width:100%;min-height:100%;padding:54px 18px 24px;background:radial-gradient(circle at 80% 0%,rgba(59,130,246,.28),transparent 34%),linear-gradient(180deg,var(--primary),#f3f4f6 46%)}.login-brand{display:block;margin-bottom:34px;padding:0;color:#fff;background:transparent;text-align:center}.login-logo{width:150px;height:auto;margin:0}.login-brand-row{justify-content:center;margin-bottom:18px}.login-brand-name{font-size:20px}.login-brand h1{font-size:24px}.login-brand p{max-width:none;font-size:14px}.login-card{padding:22px;border-radius:12px;box-shadow:var(--shadow)}}@media (max-width: 430px){.quick-grid{grid-template-columns:repeat(4,1fr);gap:4px;padding:14px 4px}.quick-item i{width:42px;height:42px}.task-actions{display:grid;grid-template-columns:repeat(2,1fr)}.station-metrics{grid-template-columns:1fr}}.app-shell{display:flex;justify-content:center;grid-template-columns:none;background:linear-gradient(180deg,#dbeafe,#eef2f7 42%,#d1fae5)}.desktop-sidebar{display:none}.app-main{position:relative;width:min(100%,430px);height:100%;overflow:hidden;background:var(--bg);box-shadow:0 18px 48px #0f172a2e}.screen{padding-bottom:62px}.tabbar{position:absolute;right:0;bottom:0;left:0;z-index:30;display:flex;height:62px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:10px}.tab.router-link-active{color:var(--primary)}.tab-icon{display:grid;width:22px;height:22px;place-items:center;font-size:18px;font-weight:900}.mobile-page{max-width:none;padding:0 0 18px}.navbar{position:sticky;top:0;z-index:12;min-height:52px;margin:0 0 10px;padding:0 14px}.navbar h1{font-size:16px}.navbar button{min-width:42px;padding:0 10px}.home-page{display:block}.home-header{min-height:auto;margin:0 0 -22px;padding:20px 16px 34px;border-radius:0}.home-header h1,.profile-header h1{font-size:20px}.stat-grid.floating{position:relative;z-index:2;margin:0 12px 10px}.stat-cell strong{font-size:20px}.quick-grid,.home-map-card,.chart-card,.task-card,.station-card,.defect-card,.report-card,.sync-card,.menu-list,.info-card,.workflow-actions,.task-summary,.point-overview,.point-card,.photo-panel,.inspection-form,.point-requirement,.report-tip,.gps-card{margin:10px 12px}.quick-grid{grid-template-columns:repeat(4,1fr);gap:4px;padding:14px 4px}.quick-item i{width:42px;height:42px}.live-grid{grid-template-columns:repeat(2,1fr);padding:0 12px}.live-card strong{font-size:26px}.seg-tabs{position:sticky;top:52px;z-index:10;margin:-10px 0 10px}.searchbar{padding:0 12px 10px}.map-card,.inspect-map{height:188px;margin:0 12px 10px}.device-item,.point-item{margin:0 12px;border-radius:0;border-right:0;border-left:0;box-shadow:none}.task-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.task-summary div{padding:12px 8px;border-radius:8px;background:#f8fafc;text-align:center}.task-summary span,.point-overview span{color:var(--muted);font-size:12px}.task-summary strong,.point-overview strong{display:block;margin-top:4px;font-size:24px}.app-task-card{cursor:pointer}.task-route,.task-card-foot,.point-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;color:var(--muted);font-size:12px}.task-card-foot button{min-height:30px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:var(--primary);font-size:12px;font-weight:900}.detail-hero{margin:0 0 10px;padding:20px 16px 30px;color:#fff;background:linear-gradient(135deg,#0b5cd6f5,#16a34ad1),linear-gradient(45deg,rgba(251,191,36,.4),transparent)}.detail-hero h2{margin:4px 0 6px;font-size:20px;line-height:1.28}.detail-hero p{margin:0;color:#ffffffd1;font-size:12px}.hero-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hero-progress{margin-top:18px}.hero-progress span{display:block;margin-top:8px;color:#ffffffd1;font-size:12px}.detail-hero .mini-progress{background:#ffffff42}.detail-hero .mini-progress i{background:#fbbf24}.info-card{padding:4px 16px}.info-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:0}.info-row span{flex:0 0 auto;color:var(--muted);font-size:12px}.info-row strong{min-width:0;text-align:right;font-size:13px;font-weight:800}.workflow-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.workflow-actions button,.bottom-action button,.submit-btn{min-height:42px}.workflow-actions button{border:1px solid #bfdbfe;border-radius:8px;color:var(--primary-dark);background:#eff6ff;font-weight:900}.workflow-actions .primary-btn{grid-column:1 / -1;color:#fff;background:var(--primary)}button:disabled{cursor:not-allowed;opacity:.62}.point-nav{cursor:pointer}.report-tip{padding:16px}.report-tip p{margin:6px 0 10px;color:var(--muted)}.report-tip a{color:var(--primary);font-weight:900}.inspect-map{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.72) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.72) 1px,transparent 1px),linear-gradient(135deg,#bfdbfe,#bbf7d0);background-size:32px 32px,32px 32px,auto}.fence-circle{position:absolute;top:34px;left:50%;width:112px;height:112px;transform:translate(-50%);border:2px dashed var(--success);border-radius:50%;background:#16a34a1f}.fence-circle.outside{border-color:var(--warning);background:#f59e0b24}.fence-circle span{position:absolute;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 4px 14px #0f172a42}.gps-card{padding:4px 16px}.point-overview{padding:16px}.point-overview p{margin:10px 0 0;color:var(--muted);font-size:12px}.point-requirement{padding:14px}.point-requirement div{display:flex;align-items:center;justify-content:space-between;gap:12px}.point-requirement span{color:var(--muted);font-size:12px}.point-requirement strong{color:var(--primary);font-size:20px}.point-requirement p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.point-card{padding:14px}.point-card-main{display:flex;align-items:center;gap:12px}.point-card-main>div{flex:1;min-width:0}.point-index{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:10px;color:#fff;background:var(--primary);font-weight:900}.point-card-main h3{margin:0;font-size:15px}.point-card-main p{margin:4px 0 0;color:var(--muted);font-size:12px}.point-card-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-action{position:sticky;bottom:72px;z-index:18;padding:8px 12px}.bottom-action .primary-btn{width:100%}.point-hero{padding-bottom:20px}.card-head.compact{padding:14px 14px 0}.photo-panel,.inspection-form{overflow:hidden}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.photo-location-status{display:flex;align-items:center;gap:6px;margin:12px 14px 0;color:var(--muted);font-size:12px}.photo-location-status.danger{color:var(--danger)}.photo-location-status span{min-width:0;overflow-wrap:anywhere}.photo-add,.photo-thumb{position:relative;display:grid;aspect-ratio:1;overflow:hidden;place-items:center;border:1px dashed #bfdbfe;border-radius:8px;background:#eff6ff}.photo-add input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.photo-add span{color:var(--primary);font-size:26px;line-height:1}.photo-add svg{color:var(--primary)}.gallery-add{border-style:solid;background:#f8fafc}.photo-add b{color:var(--primary);font-size:12px}.photo-thumb img{width:100%;height:100%;cursor:zoom-in;object-fit:cover}.photo-thumb.editable button{position:absolute;top:4px;right:4px;display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:50%;color:#fff;background:#0f172ab8;font-size:16px;line-height:1}.check-item{padding:14px;border-top:1px solid var(--border)}.check-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.check-title strong{font-size:14px}.check-title span{color:var(--danger);font-size:12px}.status-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.status-selector button{min-height:34px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:#fff}.status-selector button.active{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:900}.check-item input,.check-item textarea,.defect-fields select,.defect-fields textarea{width:100%;margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff}.defect-panel{padding:14px;border-top:1px solid var(--border);background:#f8fafc}.toggle-row{display:flex;align-items:center;gap:8px;font-weight:900}.defect-fields{display:grid;gap:8px;margin-top:10px}.submit-btn{width:calc(100% - 28px);margin:0 14px 14px}.flow-strip{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:6px;padding:12px;color:var(--muted);font-size:11px;font-weight:900}.flow-strip span{white-space:nowrap}.flow-strip span.active{color:var(--primary)}.flow-strip i{display:block;height:2px;border-radius:999px;background:#cbd5e1}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:0 10px 10px;padding:0 10px max(10px,env(safe-area-inset-bottom));background:#0f172a6b}.modal-mask.confirm-mask{align-items:center}.sheet-panel{width:100%;max-width:480px;max-height:calc(100% - 28px);overflow-y:auto;padding:16px;border-radius:12px;background:#fff;box-shadow:0 18px 42px #0f172a47}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sheet-head h2{margin:0;font-size:17px}.sheet-head button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:8px;color:var(--muted);background:#f1f5f9;font-size:20px}.sheet-panel label{display:grid;gap:7px;margin-top:10px}.sheet-panel label span,.form-hint{color:var(--muted);font-size:12px;font-weight:800}.sheet-panel input,.sheet-panel select,.sheet-panel textarea{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff}.sheet-panel input:disabled{color:var(--muted);background:#f8fafc}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sheet-toggle{display:flex!important;grid-template-columns:none;align-items:center;padding:10px 0 0}.sheet-toggle input{width:18px;min-height:18px}.point-inline-fields{margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.form-hint{margin:8px 0 0;line-height:1.5}.form-hint.danger{color:var(--danger)}.sheet-submit{width:100%;margin-top:16px}.template-card{padding:16px;margin:10px 12px}.item-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.item-chips span{max-width:100%;padding:5px 8px;overflow:hidden;border-radius:6px;color:#1e40af;background:#eff6ff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}.template-sheet{padding-bottom:22px}.report-preview-sheet{padding-bottom:16px}.report-frame{width:100%;height:min(68vh,620px);border:1px solid var(--border);border-radius:8px;background:#fff}.report-preview-sheet .sheet-submit{display:flex;align-items:center;justify-content:center}.sheet-section-title{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;font-weight:900}.sheet-section-title button,.item-editor-head button{min-height:30px;padding:0 10px;border:1px solid #bfdbfe;border-radius:8px;color:var(--primary);background:#eff6ff;font-size:12px;font-weight:900}.template-item-editor{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.item-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-editor-head strong{font-size:13px}.check-reference{margin:-4px 0 10px;color:var(--muted);font-size:12px}.record-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 12px 10px}.record-filter-row button{min-height:34px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:#fff;font-size:12px;font-weight:800}.record-filter-row button.active{border-color:var(--primary);color:var(--primary);background:#eff6ff}.record-scope{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px 10px;padding:10px 12px;color:var(--muted);font-size:12px}.record-scope button{flex:0 0 auto;min-height:30px;border:0;color:var(--primary);background:transparent;font-weight:900}.record-card{margin:10px 12px;padding:14px}.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.record-head h3{margin:0;font-size:15px}.record-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.record-result{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border-radius:8px;background:#f8fafc}.record-result span{color:var(--muted);font-size:12px}.record-result strong{min-width:0;color:var(--text);text-align:right;word-break:break-word}.record-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:10px;color:var(--muted);font-size:12px}.record-remark{margin:10px 0 0;color:#374151;font-size:13px;line-height:1.6}.record-photos{display:flex;gap:8px;margin-top:10px}.record-photos img,.record-photos span{display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border-radius:8px;background:#e5e7eb;object-fit:cover;color:var(--muted);font-size:12px;font-weight:900}.record-photos img{cursor:zoom-in}.photo-lightbox{z-index:90;align-items:center;padding:18px}.photo-lightbox img{max-width:100%;max-height:calc(100% - 78px);border-radius:8px;background:#111827;object-fit:contain;box-shadow:0 18px 42px #0f172a57}.photo-lightbox-close{position:absolute;top:14px;right:14px;display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;color:#fff;background:#0f172ab8;font-size:24px;line-height:1}@media (max-width: 760px){.app-main{width:100%;max-width:none;box-shadow:none}.tabbar{position:fixed}}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:62px;height:auto}.tab{display:grid;place-items:center;gap:2px;padding:5px 0 4px;color:var(--muted);font-size:11px}.tab-icon{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:#eef2ff;font-size:12px;font-weight:900}.tab.router-link-active{color:var(--primary);font-weight:900}.demo-home-page{display:block;padding:0 0 18px}.demo-hero{margin:0 0 -20px;padding:20px 16px 38px;color:#fff;background:linear-gradient(135deg,#1d5fd1f5,#16a34ad1),linear-gradient(45deg,rgba(251,191,36,.4),transparent)}.demo-hero small{display:block;margin-bottom:8px;color:#ffffffc2;font-weight:900}.demo-hero h2{margin:0 0 8px;font-size:22px;line-height:1.25}.demo-hero p{margin:0;color:#ffffffd1;line-height:1.5}.demo-stat-grid{position:relative;z-index:2;margin:10px 12px;padding:14px}.demo-stat-grid .stat-cell strong{font-size:20px;line-height:1.2}.demo-flow{margin:10px 12px}.demo-quick-grid{margin:10px 12px;gap:6px;padding:14px 6px}.demo-quick-grid .quick-item{color:var(--text)}.demo-quick-grid .quick-item i{width:42px;height:42px;border-radius:12px;background:var(--primary);font-size:13px}.demo-quick-grid .quick-item:nth-child(2) i{background:var(--success)}.demo-quick-grid .quick-item:nth-child(3) i{background:var(--warning)}.demo-quick-grid .quick-item:nth-child(4) i{background:var(--purple)}.demo-home-page .section-title{padding:6px 14px 0}.demo-task-card{padding:14px}.demo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.demo-actions button{min-height:38px}.report-frame-loading{display:grid;width:100%;height:min(68vh,620px);place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:#f8fafc}.report-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.report-preview-actions a,.report-preview-actions button{display:flex;min-height:42px;align-items:center;justify-content:center;margin:0;border-radius:8px;font-weight:800}.report-preview-actions a{border:1px solid var(--border);color:var(--primary-dark);background:#fff}.report-load-error{color:var(--danger)}.portal-page,.module-shell-page,.permission-page{width:100%;height:100%;overflow-y:auto;background:#f3f6fa}.portal-header,.module-shell-header,.permission-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:10px clamp(16px,4vw,48px);border-bottom:1px solid #dbe3ec;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portal-brand,.portal-user,.module-shell-header>div,.permission-header>div{display:flex;align-items:center;gap:11px;min-width:0}.portal-logo{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:8px;color:#fff;background:#0b5cd6;font-weight:900}.portal-brand strong,.portal-brand small,.portal-user strong,.portal-user small,.module-shell-header strong,.module-shell-header small,.permission-header strong,.permission-header small{display:block}.portal-brand strong{font-size:17px}.portal-brand small,.portal-user small,.module-shell-header small,.permission-header small{margin-top:3px;color:var(--muted);font-size:11px}.portal-user{text-align:right}.portal-user button,.module-shell-header button,.permission-header button{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid #dbe3ec;border-radius:8px;color:#334155;background:#fff}.portal-content,.module-shell-content,.permission-content{width:min(1120px,100%);margin:0 auto;padding:34px clamp(16px,4vw,48px) 48px}.portal-notice,.permission-message{display:flex;align-items:center;gap:9px;margin-bottom:18px;padding:11px 13px;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;background:#fff7ed}.portal-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.portal-heading span,.module-shell-summary>div>span{color:var(--primary);font-size:12px;font-weight:900}.portal-heading h1,.module-shell-summary h1{margin:5px 0 0;font-size:25px;letter-spacing:0}.permission-entry{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;background:#eff6ff;font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-entry{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;min-height:226px;padding:20px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a0d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.module-entry:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 12px 28px #0f172a17}.module-entry-icon,.module-shell-symbol{display:grid;width:54px;height:54px;place-items:center;border-radius:8px}.module-entry-icon.inspection,.module-shell-symbol.inspection{color:#1d4ed8;background:#dbeafe}.module-entry-icon.ticket,.module-shell-symbol.ticket{color:#047857;background:#d1fae5}.module-entry-icon.task,.module-shell-symbol.task{color:#b45309;background:#fef3c7}.module-entry-main{min-width:0}.module-entry-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.module-entry-title h2{margin:3px 0 0;font-size:18px}.module-entry-title span{flex:0 0 auto;padding:4px 6px;border-radius:5px;color:#92400e;background:#fef3c7;font-size:10px;font-weight:900}.module-entry-title span.ready{color:#065f46;background:#d1fae5}.module-entry-main p{min-height:64px;margin:13px 0;color:#64748b;font-size:13px;line-height:1.65}.module-entry-features{display:flex;flex-wrap:wrap;gap:6px}.module-entry-features span{padding:5px 7px;border-radius:5px;color:#475569;background:#f1f5f9;font-size:11px}.module-entry-arrow{position:absolute;right:16px;bottom:15px;color:#94a3b8}.portal-empty{display:grid;justify-items:center;gap:8px;padding:46px 20px;color:#64748b;text-align:center}.portal-empty strong{color:#334155}.portal-empty p{margin:0}.module-shell-header,.permission-header{justify-content:flex-start;gap:12px}.module-shell-header>div,.permission-header>div{flex:1}.module-shell-header>div,.permission-header>div{display:block}.module-shell-header>span{padding:5px 7px;border-radius:5px;color:#92400e;background:#fef3c7;font-size:11px;font-weight:900}.module-shell-summary,.permission-summary{display:flex;align-items:center;gap:18px;padding:8px 0 26px;border-bottom:1px solid #dbe3ec}.module-shell-summary p,.permission-summary p{max-width:720px;margin:8px 0 0;color:#64748b;line-height:1.65}.module-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.module-feature-item{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;min-height:116px;padding:18px;border:1px solid #dbe3ec;border-radius:8px;background:#fff}.module-feature-item>svg{color:var(--primary)}.module-feature-item h2{margin:0;font-size:16px}.module-feature-item p{margin:7px 0 0;color:#64748b;font-size:12px;line-height:1.55}.module-feature-item>span{position:absolute;right:14px;top:14px;color:#94a3b8;font-size:10px}.module-build-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:14px;border-left:3px solid #0b5cd6;color:#475569;background:#eaf2ff}.module-build-note p{margin:0;line-height:1.6}.permission-content{width:min(920px,100%)}.permission-summary{align-items:flex-start}.permission-summary>svg{flex:0 0 auto;color:var(--primary)}.permission-summary h1{margin:0;font-size:22px}.permission-message{margin-top:18px;border-color:#bbf7d0;color:#166534;background:#f0fdf4}.permission-message.error{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.role-permission-list{display:grid;gap:14px;margin-top:20px}.role-permission-item{padding:18px;border:1px solid #dbe3ec;border-radius:8px;background:#fff}.role-permission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #e5e7eb}.role-permission-head span{color:var(--primary);font-size:11px;font-weight:900}.role-permission-head h2{margin:4px 0;font-size:17px}.role-permission-head p{margin:0;color:var(--muted);font-size:12px}.role-permission-head>svg{color:#64748b}.module-toggle-list{display:grid;grid-template-columns:1fr;gap:0;padding:8px 0 12px}.module-toggle{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:64px;padding:9px 2px;border:0;border-bottom:1px solid #e5e7eb;border-radius:0;background:transparent}.module-toggle:last-child{border-bottom:0}.module-toggle strong,.module-toggle small{display:block}.module-toggle strong{font-size:13px}.module-toggle small{margin-top:4px;color:#64748b;font-size:10px;line-height:1.4}.module-toggle input{position:absolute;opacity:0;pointer-events:none}.module-toggle>span{position:relative;display:block;width:42px;height:24px;border-radius:999px;background:#cbd5e1;transition:background .16s ease}.module-toggle>span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a33;transition:transform .16s ease}.module-toggle input:checked+span{background:var(--primary)}.module-toggle input:checked+span:after{transform:translate(18px)}.module-toggle input:disabled+span{opacity:.58}.role-save-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:var(--primary);font-weight:800}.administrator-note{margin:0;color:#64748b;font-size:12px}.inspection-portal-return{float:right;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.36);border-radius:8px;color:#fff;background:#ffffff24;font-size:12px;font-weight:800}.desktop-portal-link{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#fff;background:#ffffff1a;font-size:12px}.desktop-nav svg{flex:0 0 auto}.spinning{animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}@media (max-width: 820px){.module-grid{grid-template-columns:1fr}.module-entry{min-height:176px}.module-entry-main p{min-height:auto}}@media (max-width: 600px){.portal-header,.module-shell-header,.permission-header{min-height:60px;padding:8px 12px}.portal-logo{width:38px;height:38px;flex-basis:38px}.portal-brand strong{font-size:15px}.portal-user>div{display:none}.portal-content,.module-shell-content,.permission-content{padding:22px 12px 32px}.portal-heading{align-items:flex-start}.portal-heading h1,.module-shell-summary h1{font-size:21px}.permission-entry{width:38px;min-width:38px;height:38px;padding:0;overflow:hidden;justify-content:center;color:transparent}.permission-entry svg{flex:0 0 auto;color:#1e40af}.module-entry{grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:182px;padding:16px}.module-entry-icon,.module-shell-symbol{width:48px;height:48px}.module-entry-title h2{font-size:17px}.module-entry-main p{margin:10px 0;font-size:12px}.module-shell-summary{align-items:flex-start;gap:12px}.module-feature-grid{grid-template-columns:1fr}.module-feature-item{min-height:104px;padding:15px}.permission-summary h1{font-size:19px}.role-permission-item{padding:14px}}.login-app-label{display:inline-block;margin-bottom:9px;color:#ffffffc7;font-size:12px;font-weight:800}.login-card-heading span{display:block;margin-bottom:5px;color:var(--primary);font-size:12px;font-weight:900}.login-card-heading h2{margin:0}.login-field>span{display:flex;align-items:center;gap:7px}.login-input-wrap{position:relative}.login-password-wrap input{padding-right:46px}.login-password-wrap>button{position:absolute;top:1px;right:1px;display:grid;width:42px;height:38px;place-items:center;border:0;color:#64748b;background:transparent}.login-submit{display:flex;align-items:center;justify-content:center;gap:8px}.login-submit:disabled{cursor:wait;opacity:.65}.login-error{padding:9px 11px;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;font-size:12px}.login-version{grid-column:1 / -1;margin:-14px 0 0;color:#ffffff8f;text-align:center;font-size:11px}.portal-desktop{min-height:100%}.portal-mobile-app{display:none}@media (min-width: 761px){.login-brand{background:linear-gradient(135deg,#0b5cd6eb,#082f49ad),url(/assets/pv-mobile-hero.jpg) center / cover}}@media (min-width: 0px){.login-page{display:block;height:var(--app-vh, 100dvh);overflow-y:auto;padding:0;background:#f3f6fa}.login-phone{position:relative;display:flex;width:100%;min-height:var(--app-vh, 100dvh);flex-direction:column;gap:0;padding:0 0 calc(18px + env(safe-area-inset-bottom));background:#f3f6fa}.login-brand{display:flex;min-height:clamp(238px,36vh,310px);flex-direction:column;align-items:center;justify-content:center;margin:0;padding:calc(24px + env(safe-area-inset-top)) 22px 52px;border-radius:0;color:#fff;background:linear-gradient(180deg,#073887b3,#0b5cd6f0),url(/assets/pv-mobile-hero.jpg) center 58% / cover;text-align:center}.login-logo{width:140px;height:auto;margin:0;background:transparent}.login-brand-row{justify-content:center;margin-bottom:16px}.login-brand-name{font-size:18px}.login-app-label{margin-bottom:5px;font-size:11px}.login-brand h1{margin-bottom:7px;font-size:24px}.login-brand p{max-width:none;font-size:13px}.login-card{position:relative;z-index:2;display:grid;width:calc(100% - 32px);align-content:start;gap:13px;margin:-30px 16px 0;padding:22px 20px 20px;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 12px 28px #0f172a1a}.login-card-heading h2{font-size:20px}.login-card input{height:44px;border-color:#d7dee8;background:#f8fafc;font-size:14px}.login-password-wrap>button{width:44px;height:42px}.login-submit{min-height:45px;margin-top:2px}.demo-users{gap:6px;padding-top:2px}.demo-users button{min-width:0;min-height:34px;padding:0 4px;font-size:11px}.login-version{margin:auto 0 0;padding-top:18px;color:#94a3b8}.portal-page{height:var(--app-vh, 100dvh);overflow:hidden;background:#f3f6fa}.portal-desktop{display:none}.portal-mobile-app{position:relative;display:block;width:100%;height:var(--app-vh, 100dvh);overflow-x:hidden;overflow-y:auto;padding-bottom:calc(70px + env(safe-area-inset-bottom));background:#f3f6fa;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-portal-hero{min-height:218px;padding:calc(14px + env(safe-area-inset-top)) 18px 42px;color:#fff;background:linear-gradient(135deg,#09439df5,#0b5cd6c2),url(/assets/pv-mobile-hero.jpg) center 58% / cover}.mobile-portal-nav,.mobile-portal-brand,.mobile-user-summary,.portal-profile-head{display:flex;align-items:center}.mobile-portal-nav{justify-content:space-between}.mobile-portal-brand{gap:10px}.mobile-portal-brand>span{display:grid;width:39px;height:39px;place-items:center;border-radius:8px;color:#1d4ed8;background:#fff;font-size:14px;font-weight:900}.mobile-portal-brand small,.mobile-portal-brand strong{display:block}.mobile-portal-brand small{margin-bottom:2px;color:#ffffffb8;font-size:10px}.mobile-portal-brand strong{font-size:16px}.mobile-portal-nav>button{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:8px;color:#fff;background:#ffffff1f}.mobile-user-summary{gap:11px;margin-top:35px}.mobile-user-avatar{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border-radius:50%;color:#fff;background:#ffffff2e}.mobile-user-summary>div:nth-child(2){min-width:0}.mobile-user-summary small,.mobile-user-summary strong{display:block}.mobile-user-summary small{margin-bottom:4px;color:#ffffffb8;font-size:11px}.mobile-user-summary strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.mobile-user-summary>span{margin-left:auto;padding:5px 8px;border:1px solid rgba(255,255,255,.24);border-radius:5px;color:#ffffffe0;background:#ffffff1c;font-size:10px;white-space:nowrap}.mobile-portal-content{position:relative;z-index:2;min-height:calc(100dvh - 200px);margin-top:-20px;padding:18px 14px 32px;border-radius:18px 18px 0 0;background:#f3f6fa}.mobile-portal-notice{margin:0 0 14px;font-size:12px}.mobile-application-section{scroll-margin-top:12px}.mobile-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px 15px}.mobile-section-heading h1{margin:0;font-size:18px}.mobile-section-heading p{margin:4px 0 0;color:#64748b;font-size:11px}.mobile-section-heading>span{color:#64748b;font-size:11px}.mobile-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:146px;padding:18px 6px 13px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.mobile-module-entry{display:flex;min-width:0;min-height:110px;flex-direction:column;align-items:center;padding:2px;text-align:center}.mobile-module-icon{display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;border-radius:14px}.mobile-module-icon.inspection{color:#fff;background:#2563eb}.mobile-module-icon.ticket{color:#fff;background:#059669}.mobile-module-icon.task{color:#fff;background:#d97706}.mobile-module-icon.permission{color:#fff;background:#475569}.mobile-module-entry strong{margin-top:9px;color:#1e293b;font-size:13px}.mobile-module-entry small{margin-top:3px;color:#b45309;font-size:9px}.mobile-module-entry small.ready{color:#15803d}.mobile-portal-empty{margin-top:12px;padding:32px 16px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff}.portal-mobile-tabbar{position:fixed;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:calc(62px + env(safe-area-inset-bottom));padding:5px 10px env(safe-area-inset-bottom);border-top:1px solid #dbe3ec;background:#fffffffa;box-shadow:0 -5px 18px #0f172a0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portal-mobile-tabbar button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;color:#64748b;background:transparent;font-size:10px}.portal-mobile-tabbar button.active{color:var(--primary);font-weight:900}.portal-profile-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;background:#0f172a6b}.portal-profile-sheet{width:100%;padding:9px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -14px 40px #0f172a29}.portal-profile-handle{width:38px;height:4px;margin:0 auto 15px;border-radius:999px;background:#cbd5e1}.portal-profile-head{gap:11px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.portal-profile-head .mobile-user-avatar{color:#1d4ed8;background:#dbeafe}.portal-profile-head>div:nth-child(2){min-width:0;flex:1}.portal-profile-head strong,.portal-profile-head small{display:block}.portal-profile-head strong{font-size:16px}.portal-profile-head small{margin-top:4px;color:#64748b;font-size:11px}.portal-profile-head>button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#64748b;background:#f1f5f9}.portal-profile-action{display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;width:100%;min-height:50px;padding:0 4px;border:0;border-bottom:1px solid #e2e8f0;color:#334155;background:transparent;text-align:left}.portal-profile-action.danger{color:#dc2626}.module-shell-page,.permission-page{height:100dvh}.module-shell-header,.permission-header{min-height:calc(56px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 12px 8px}.module-shell-content,.permission-content{padding:18px 12px calc(28px + env(safe-area-inset-bottom))}}.login-page{background:#dbe4ee}.login-phone{max-width:430px;margin:0 auto;box-shadow:0 0 34px #0f172a1f}.portal-page.portal-app-mode{background:#dbe4ee}.portal-app-mode .portal-mobile-app{width:min(100%,430px);margin:0 auto;box-shadow:0 0 34px #0f172a1f}.portal-app-mode .portal-mobile-tabbar{right:auto;left:50%;width:min(100%,430px);transform:translate(-50%)}.portal-page.portal-web-mode{height:100%;overflow-y:auto;background:#f3f6fa}.portal-web-mode .portal-desktop{display:block}.portal-web-mode .portal-mobile-app{display:none}@media (max-width: 360px){.mobile-module-grid{padding-right:2px;padding-left:2px}.mobile-module-icon{width:48px;height:48px;flex-basis:48px}.mobile-module-entry strong{font-size:12px}}.detail-hero{margin:0;padding:16px 16px 20px}.detail-hero h2{margin:3px 0 5px;font-size:18px}.eyebrow{margin-bottom:6px;font-size:11px}.hero-progress{margin-top:12px}.hero-progress span{margin-top:6px;font-size:11px}.info-card{padding:2px 14px}.info-row{min-height:40px}.info-row span{font-size:11px}.info-row strong{font-size:12px}.workflow-actions{padding:12px;gap:8px}.workflow-actions button,.bottom-action button,.submit-btn{min-height:40px;border-radius:10px}.point-item{gap:10px;padding:10px 12px;border-radius:10px}.point-item span{width:34px;height:34px;flex-basis:34px;border-radius:9px;font-size:11px}.point-item+.point-item{margin-top:6px}.point-item h3{font-size:14px}.report-tip{padding:14px}.mobile-page{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.sched-pc[data-v-1a70ca4e]{min-height:100vh;color:#1e2533;background:#f3f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.sched-head[data-v-1a70ca4e]{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;color:#fff;background:linear-gradient(135deg,#1e3a8a,#2563eb)}.sched-brand[data-v-1a70ca4e]{display:flex;align-items:center;gap:12px}.sched-brand img[data-v-1a70ca4e]{width:42px;height:42px;padding:5px;border-radius:10px;background:#fff;object-fit:contain}.sched-brand strong[data-v-1a70ca4e]{display:block;font-size:17px}.sched-brand small[data-v-1a70ca4e]{display:block;margin-top:2px;color:#ffffffd1;font-size:12px}.sched-head-actions[data-v-1a70ca4e]{display:flex;align-items:center;gap:14px}.sched-head-actions a[data-v-1a70ca4e]{color:#fff;font-size:13px;text-decoration:none;opacity:.9}.sched-head-actions button[data-v-1a70ca4e]{min-height:32px;padding:0 14px;border:1px solid rgba(255,255,255,.55);border-radius:16px;color:#fff;background:#ffffff24;font-size:12.5px;cursor:pointer}.sched-build[data-v-1a70ca4e]{padding:3px 9px;border-radius:10px;color:#dbeafe;background:#ffffff24;font-size:11px;font-weight:700}.sched-body[data-v-1a70ca4e]{max-width:1180px;margin:0 auto;padding:22px 20px 48px}.sched-toolbar[data-v-1a70ca4e]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;border:1px solid #e2e7f0;border-radius:12px;background:#fff}.sched-filter[data-v-1a70ca4e]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;padding:10px 16px;border:1px solid #e2e7f0;border-radius:12px;background:#fff}.sched-type-tabs[data-v-1a70ca4e]{display:flex;gap:4px;padding:3px;border-radius:10px;background:#f1f4f9}.sched-type-tabs button[data-v-1a70ca4e]{min-height:32px;padding:0 14px;border:0;border-radius:8px;color:#5b6472;background:transparent;font-size:12.5px;font-weight:700;cursor:pointer}.sched-type-tabs button.on[data-v-1a70ca4e]{color:#fff;background:#2563eb}.sched-date[data-v-1a70ca4e]{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#5b6472;font-weight:700}.sched-date input[data-v-1a70ca4e]{min-height:32px;padding:0 8px;border:1px solid #d7dde7;border-radius:8px;font-size:12.5px;color:#1e2533}.sched-date i[data-v-1a70ca4e]{color:#98a2b3;font-style:normal}.sched-station[data-v-1a70ca4e]{display:flex;align-items:center;gap:8px;margin-right:8px;font-size:13px;color:#5b6472;font-weight:700}.sched-station select[data-v-1a70ca4e]{min-width:240px;min-height:36px;padding:0 10px;border:1px solid #d7dde7;border-radius:9px;background:#fff;font-size:13px;color:#1e2533}.station-search[data-v-1a70ca4e]{min-width:220px;min-height:36px;padding:0 12px;border:1px solid #d7dde7;border-radius:9px;background:#fff;font-size:13px;color:#1e2533;outline:none}.station-search[data-v-1a70ca4e]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.btn[data-v-1a70ca4e]{min-height:36px;padding:0 16px;border:1px solid #d7dde7;border-radius:9px;color:#475467;background:#fff;font-size:13px;font-weight:700;cursor:pointer}.btn.primary[data-v-1a70ca4e]{border-color:#2563eb;color:#fff;background:#2563eb}.btn.danger[data-v-1a70ca4e]{border-color:#fecaca;color:#dc2626;background:#fff}.btn.small[data-v-1a70ca4e]{min-height:28px;padding:0 10px;font-size:12px}.btn[data-v-1a70ca4e]:disabled{opacity:.5;cursor:not-allowed}.hint[data-v-1a70ca4e]{color:#2563eb;font-size:13px;font-weight:700}.sched-result[data-v-1a70ca4e]{margin-top:12px;padding:14px 16px;border:1px solid #d7f0e3;border-radius:12px;background:#f2fbf6}.sched-result.err[data-v-1a70ca4e]{border-color:#fecaca;background:#fce8e6}.sched-result-title[data-v-1a70ca4e]{color:#168344;font-size:13.5px;font-weight:700}.sched-result-title.err[data-v-1a70ca4e]{color:#b42318}.sched-summary[data-v-1a70ca4e]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.sched-sum-item[data-v-1a70ca4e]{padding:10px;border:1px solid #e6eaf1;border-radius:10px;background:#fff;text-align:center}.sched-sum-item strong[data-v-1a70ca4e]{display:block;color:#1d4ed8;font-size:20px}.sched-sum-item span[data-v-1a70ca4e]{color:#98a2b3;font-size:12px}.sched-subtitle[data-v-1a70ca4e]{margin:12px 0 8px;font-size:13px;font-weight:800;color:#1e2533}.sched-task[data-v-1a70ca4e]{margin-bottom:8px;padding:10px 12px;border:1px solid #d7f0e3;border-radius:10px;background:#fff}.sched-task-name[data-v-1a70ca4e]{font-size:13px;font-weight:800;color:#166534}.sched-task-meta[data-v-1a70ca4e]{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;font-size:12px;color:#475467}.sched-skip-group[data-v-1a70ca4e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding:8px 10px;border:1px solid #fde2c7;border-radius:9px;background:#fff8f0;font-size:12.5px;color:#b45309}.sched-skip-count[data-v-1a70ca4e]{min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#b45309;background:#ffe8cc;font-weight:800}.sched-list[data-v-1a70ca4e]{margin-top:16px;padding:16px;border:1px solid #e2e7f0;border-radius:12px;background:#fff}.sched-list-head[data-v-1a70ca4e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sched-list-head h2[data-v-1a70ca4e]{margin:0;font-size:16px}.empty[data-v-1a70ca4e]{padding:36px 12px;color:#98a2b3;text-align:center;font-size:13px}.sched-table-wrap[data-v-1a70ca4e]{overflow-x:auto}.sched-table[data-v-1a70ca4e]{width:100%;border-collapse:collapse;font-size:13px}.sched-table th[data-v-1a70ca4e],.sched-table td[data-v-1a70ca4e]{padding:10px 12px;border-bottom:1px solid #eef1f6;text-align:left;white-space:nowrap}.sched-table th[data-v-1a70ca4e]{color:#667085;background:#f8fafc;font-size:12px}.sched-table tr.voided td[data-v-1a70ca4e]{color:#98a2b3;background:#fafafa}.mono[data-v-1a70ca4e]{font-family:Consolas,Monaco,monospace;font-size:12px}.st[data-v-1a70ca4e]{padding:3px 9px;border-radius:12px;font-size:12px;font-weight:700}.st-todo[data-v-1a70ca4e]{color:#64748b;background:#eef1f5}.st-doing[data-v-1a70ca4e]{color:#1d4ed8;background:#dbeafe}.st-warn[data-v-1a70ca4e]{color:#b45309;background:#ffe8cc}.st-ok[data-v-1a70ca4e]{color:#168344;background:#d1fae5}.st-void[data-v-1a70ca4e]{color:#b42318;background:#fce8e6}.type-badge[data-v-1a70ca4e]{display:inline-block;padding:2px 9px;border-radius:11px;font-size:11.5px;font-weight:800}.type-badge.type-plan[data-v-1a70ca4e]{color:#1d4ed8;background:#dbeafe}.type-badge.type-temp[data-v-1a70ca4e]{color:#b45309;background:#ffe8cc}.voided-tag[data-v-1a70ca4e]{color:#b42318;font-size:12px;font-weight:800}.modal-mask[data-v-1a70ca4e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#0f172a73}.sheet-panel.confirm-sheet[data-v-1a70ca4e]{width:min(88vw,420px);padding:20px;border-radius:14px;background:#fff;text-align:center}.confirm-sheet h3[data-v-1a70ca4e]{margin:0 0 8px;font-size:16px;color:#1e2533}.confirm-sheet p[data-v-1a70ca4e]{margin:0 0 12px;color:#5b6472;font-size:13px;line-height:1.6}.void-reason[data-v-1a70ca4e]{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:12.5px;color:#5b6472}.void-reason input[data-v-1a70ca4e]{flex:1;min-height:34px;padding:0 10px;border:1px solid #d7dde7;border-radius:8px;font-size:13px}.confirm-actions[data-v-1a70ca4e]{display:flex;gap:10px}.confirm-actions .primary-btn[data-v-1a70ca4e],.confirm-actions .cancel-btn[data-v-1a70ca4e]{flex:1;min-height:40px;border-radius:9px;font-size:13.5px;font-weight:700;cursor:pointer}.confirm-actions .primary-btn[data-v-1a70ca4e]{border:0;color:#fff;background:#dc2626}.confirm-actions .cancel-btn[data-v-1a70ca4e]{border:1px solid #e2e7f0;color:#5b6472;background:#fff}.confirm-actions .primary-btn.gen-ok[data-v-1a70ca4e]{background:#2563eb}.confirm-desc[data-v-1a70ca4e]{margin:0 0 10px;color:#1e2533;font-size:14px;line-height:1.8;text-align:left}.confirm-hint[data-v-1a70ca4e]{margin:0 0 16px;color:#5b6472;font-size:12.5px;line-height:1.6;text-align:left}.proto-tabbar.proto-tabbar-shell[data-v-454e3d2c]{position:absolute;right:0;bottom:0;left:0;z-index:30}.version-banner[data-v-a6bb6e78]{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 16px #1d4ed859;font-size:13px;cursor:pointer}.version-banner b[data-v-a6bb6e78]{padding:4px 12px;border-radius:999px;color:#1d4ed8;background:#fff;font-size:12px;font-weight:800}.tc-shell{--tc-primary: #2f5496;--tc-primary-soft: #eaf0fb;--tc-success: #2e7d32;--tc-warning: #a15c00;--tc-danger: #b42318;--tc-purple: #7650a8;--tc-text: #172033;--tc-muted: #667085;--tc-line: #dfe4ec;--tc-bg: #f5f6f8;--tc-status-todo: #64748b;--tc-status-todo-soft: #eef1f5;--tc-status-in-progress: #0b5cd6;--tc-status-in-progress-soft: #eaf2ff;--tc-status-review: #c77800;--tc-status-review-soft: #fff2d9;--tc-status-rejected: #c6281d;--tc-status-rejected-soft: #fce8e6;--tc-status-blocked: #7650a8;--tc-status-blocked-soft: #f2ecfb;--tc-status-done: #168344;--tc-status-done-soft: #e8f6ed;--tc-status-cancelled: #475569;--tc-status-cancelled-soft: #e9edf2;--tc-priority-urgent: #c6281d;--tc-priority-high: #c77800;--tc-priority-medium: #0b5cd6;--tc-priority-low: #64748b;min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr);color:var(--tc-text);background:var(--tc-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.tc-shell *,.tc-shell *:before,.tc-shell *:after{box-sizing:border-box}.tc-shell button,.tc-shell input,.tc-shell select,.tc-shell textarea{font:inherit}.tc-shell button,.tc-shell a{-webkit-tap-highlight-color:transparent}.tc-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 12px;border-right:1px solid #d7dde7;background:#fff;z-index:30}.tc-brand,.tc-mobile-brand{display:flex;align-items:center;gap:10px;color:var(--tc-text);text-decoration:none}.tc-brand{min-height:48px;padding:4px 8px 14px;border-bottom:1px solid #edf0f4}.tc-brand>span,.tc-mobile-brand>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:7px;color:#fff;background:var(--tc-primary);font-size:14px;font-weight:800}.tc-brand div{display:flex;flex-direction:column;min-width:0}.tc-brand strong{font-size:16px}.tc-brand small{margin-top:2px;color:var(--tc-muted);font-size:11px}.tc-nav{display:grid;gap:4px;margin-top:16px}.tc-nav a,.tc-sidebar-footer a{min-height:42px;display:flex;align-items:center;gap:11px;padding:0 11px;border-radius:6px;color:#475467;text-decoration:none;font-size:14px;font-weight:600}.tc-nav a:hover,.tc-sidebar-footer a:hover{background:#f5f7fa;color:var(--tc-primary)}.tc-nav a.router-link-exact-active{color:var(--tc-primary);background:var(--tc-primary-soft)}.tc-nav a b{min-width:20px;height:20px;margin-left:auto;display:grid;place-items:center;padding:0 5px;border-radius:10px;color:#fff;background:var(--tc-danger);font-size:10px}.tc-sidebar-projects{margin-top:20px;min-height:0;overflow:hidden}.tc-sidebar-projects>div{display:flex;align-items:center;justify-content:space-between;padding:0 10px 8px;color:#98a2b3;font-size:11px;font-weight:700}.tc-sidebar-projects>div a{color:var(--tc-muted)}.tc-sidebar-projects>a{min-height:36px;display:flex;align-items:center;gap:9px;padding:0 10px;color:#475467;text-decoration:none;font-size:13px}.tc-sidebar-projects>a:hover{color:var(--tc-primary);background:#f7f8fa}.tc-sidebar-projects>a i{width:8px;height:8px;flex:0 0 8px;border-radius:2px}.tc-sidebar-projects>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-sidebar-projects>a small{margin-left:auto;color:#98a2b3}.tc-sidebar-projects>p{margin:8px 10px;color:#98a2b3;font-size:12px}.tc-sidebar-footer{display:grid;gap:3px;margin-top:auto;padding-top:12px;border-top:1px solid #edf0f4}.tc-main{min-width:0;min-height:100vh}.tc-topbar{position:sticky;top:0;z-index:25;height:64px;display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid #dfe4ec;background:#fffffff7}.tc-mobile-brand{display:none}.tc-global-search{width:min(420px,40vw);height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d8dee8;border-radius:6px;background:#f8f9fb}.tc-global-search svg{color:#98a2b3}.tc-global-search input{width:100%;min-width:0;border:0;outline:0;color:var(--tc-text);background:transparent;font-size:13px}.tc-top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.tc-create-button,.tc-btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:700;font-size:13px;text-decoration:none}.tc-create-button,.tc-btn.primary{color:#fff;border-color:var(--tc-primary);background:var(--tc-primary)}.tc-create-button:hover,.tc-btn.primary:hover{background:#24457f}.tc-btn.secondary{color:#344054;border-color:#d0d5dd;background:#fff}.tc-btn.danger{color:#fff;border-color:var(--tc-danger);background:var(--tc-danger)}.tc-btn.danger:hover{background:#a91f19}.tc-btn.danger-text{color:var(--tc-danger);border-color:#f1c7c2;background:#fff}.tc-btn:disabled,.tc-shell button:disabled{opacity:.55;cursor:not-allowed}.tc-icon-button{position:relative;width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;padding:0;border:1px solid #d8dee8;border-radius:6px;color:#475467;background:#fff;cursor:pointer;text-decoration:none}.tc-icon-button b{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:9px;color:#fff;background:var(--tc-danger);font-size:9px}.tc-user-button{min-width:130px;display:flex;align-items:center;gap:8px;padding-left:6px;color:var(--tc-text);text-decoration:none}.tc-user-button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--tc-primary);background:var(--tc-primary-soft);font-weight:800}.tc-user-button div{display:flex;flex-direction:column;min-width:0}.tc-user-button strong,.tc-user-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-user-button strong{font-size:13px}.tc-user-button small{color:var(--tc-muted);font-size:10px}.tc-content{min-height:calc(100vh - 64px)}.tc-page{width:min(1460px,100%);margin:0 auto;padding:24px}.tc-narrow-page{width:min(960px,100%)}.tc-page-head{min-height:76px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.tc-page-head.compact{min-height:60px}.tc-page-head>div:first-child{min-width:0}.tc-page-head span{color:var(--tc-primary);font-size:10px;font-weight:800}.tc-page-head h1{margin:3px 0 5px;font-size:24px;line-height:1.2}.tc-page-head p{margin:0;color:var(--tc-muted);font-size:13px}.tc-head-actions{display:flex;align-items:center;gap:9px}.tc-head-actions select{height:38px;max-width:220px;border:1px solid #d8dee8;border-radius:6px;padding:0 28px 0 10px;background:#fff;color:#344054}.tc-panel{border:1px solid var(--tc-line);border-radius:8px;background:#fff}.tc-panel>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #edf0f4}.tc-panel>header h2{margin:0 0 3px;font-size:15px}.tc-panel>header p{margin:0;color:var(--tc-muted);font-size:11px}.tc-panel>header a{color:var(--tc-primary);text-decoration:none;font-size:12px;font-weight:700}.tc-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.tc-metric-grid article{min-height:112px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto 1fr auto;column-gap:12px;padding:15px;border:1px solid var(--tc-line);border-radius:8px;background:#fff}.tc-metric-grid article>div{width:40px;height:40px;grid-row:1 / 3;display:grid;place-items:center;border-radius:7px}.tc-metric-grid article>div.primary{color:var(--tc-primary);background:var(--tc-primary-soft)}.tc-metric-grid article>div.progress{color:var(--tc-purple);background:#f0eafa}.tc-metric-grid article>div.danger{color:var(--tc-danger);background:#fcecea}.tc-metric-grid article>div.success{color:var(--tc-success);background:#eaf5eb}.tc-metric-grid article>span{color:var(--tc-muted);font-size:12px}.tc-metric-grid article>strong{font-size:25px;align-self:end}.tc-metric-grid article>small{grid-column:2;color:#98a2b3;font-size:10px}.tc-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px}.tc-project-progress{grid-column:1}.tc-week-focus{grid-column:2}.tc-dashboard-task{width:100%;min-height:60px;display:grid;grid-template-columns:4px minmax(0,1fr) 112px 78px;align-items:center;gap:12px;padding:9px 16px;border:0;border-bottom:1px solid #edf0f4;color:var(--tc-text);background:#fff;text-align:left;cursor:pointer}.tc-dashboard-task:hover{background:#fafbfc}.tc-dashboard-task>i{width:4px;height:34px;border-radius:2px}.priority-urgent{color:var(--tc-priority-urgent)!important;background-color:var(--tc-priority-urgent)!important}.priority-high{color:var(--tc-priority-high)!important;background-color:var(--tc-priority-high)!important}.priority-medium{color:var(--tc-priority-medium)!important;background-color:var(--tc-priority-medium)!important}.priority-low{color:var(--tc-priority-low)!important;background-color:var(--tc-priority-low)!important}.tc-dashboard-task>div{min-width:0;display:flex;flex-direction:column;gap:4px}.tc-dashboard-task strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.tc-dashboard-task div>span{color:var(--tc-muted);font-size:11px}.tc-dashboard-task time{color:#667085;font-size:11px}.tc-dashboard-task time.overdue,.tc-task-row time.overdue,.tc-board-card time.overdue,.tc-overdue-text{color:var(--tc-danger)!important;font-weight:700}.tc-badge{min-height:24px;display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:0 8px;border-radius:4px;font-size:11px;font-weight:700}.status-todo{--tc-state-color: var(--tc-status-todo);--tc-state-soft: var(--tc-status-todo-soft)}.status-in-progress{--tc-state-color: var(--tc-status-in-progress);--tc-state-soft: var(--tc-status-in-progress-soft)}.status-review{--tc-state-color: var(--tc-status-review);--tc-state-soft: var(--tc-status-review-soft)}.status-rejected{--tc-state-color: var(--tc-status-rejected);--tc-state-soft: var(--tc-status-rejected-soft)}.status-blocked{--tc-state-color: var(--tc-status-blocked);--tc-state-soft: var(--tc-status-blocked-soft)}.status-done{--tc-state-color: var(--tc-status-done);--tc-state-soft: var(--tc-status-done-soft)}.status-cancelled{--tc-state-color: var(--tc-status-cancelled);--tc-state-soft: var(--tc-status-cancelled-soft)}.tc-badge[class*=status-],.tc-status-readonly[class*=status-],.tc-task-flow>header strong[class*=status-]{color:var(--tc-state-color);background:var(--tc-state-soft)}.tc-status-number[class*=status-]{color:var(--tc-state-color)}.tone-neutral{color:#475467;background:#eef1f5}.tone-primary{color:#244b8c;background:#e6eefb}.tone-warning{color:#8a4b00;background:#fff2d9}.tone-danger{color:var(--tc-danger);background:#fce8e6}.tone-success{color:#216e28;background:#e5f3e7}.tc-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#98a2b3;font-size:12px;text-align:center}.tc-empty p{margin:0}.tc-completion-panel{padding-bottom:12px}.tc-rate-ring{width:136px;height:136px;display:grid;place-items:center;margin:18px auto 12px;border-radius:50%;background:conic-gradient(var(--tc-primary) var(--rate),#e9edf3 0)}.tc-rate-ring:before{content:"";width:104px;height:104px;grid-area:1/1;border-radius:50%;background:#fff}.tc-rate-ring>div{z-index:1;grid-area:1/1;display:flex;flex-direction:column;align-items:center}.tc-rate-ring strong{font-size:24px}.tc-rate-ring span{color:var(--tc-muted);font-size:11px}.tc-status-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:0 18px}.tc-status-legend>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;font-size:11px}.tc-status-legend i{width:8px;height:8px;border-radius:2px}.tc-status-legend i.primary{background:var(--tc-primary)}.tc-status-legend i.success{background:var(--tc-success)}.tc-status-legend i.warning{background:var(--tc-warning)}.tc-status-legend i.danger{background:var(--tc-danger)}.tc-status-legend i.neutral{background:#98a2b3}.tc-progress-row{padding:11px 16px;border-bottom:1px solid #f0f2f5}.tc-progress-row:last-child{border-bottom:0}.tc-progress-row>div:first-child{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;margin-bottom:7px;font-size:12px}.tc-progress-row>div:first-child i{width:9px;height:9px;border-radius:2px}.tc-progress-row b{color:var(--tc-muted);font-size:10px}.tc-progress{height:6px;overflow:hidden;border-radius:3px;background:#e9edf3}.tc-progress>i{display:block;height:100%;border-radius:inherit;background:var(--tc-primary)}.tc-week-focus{padding-bottom:14px}.tc-focus-number{display:inline-flex;flex-direction:column;width:calc(50% - 18px);margin:16px 0 10px 16px;padding:12px;border-left:3px solid var(--tc-primary);background:#f7f9fc}.tc-focus-number.danger{border-color:var(--tc-danger)}.tc-focus-number strong{font-size:24px}.tc-focus-number span{color:var(--tc-muted);font-size:11px}.tc-week-focus>a{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 16px 0;min-height:36px;color:var(--tc-primary);border-top:1px solid #edf0f4;text-decoration:none;font-size:12px;font-weight:700}.tc-filterbar{display:grid;grid-template-columns:minmax(240px,1fr) repeat(4,minmax(120px,170px)) 38px;gap:8px;margin-bottom:12px}.tc-filterbar select,.tc-filter-search{height:38px;border:1px solid #d8dee8;border-radius:6px;background:#fff}.tc-filterbar select{min-width:0;padding:0 28px 0 10px;color:#475467;font-size:12px}.tc-filter-search{display:flex;align-items:center;gap:7px;padding:0 11px}.tc-filter-search svg{color:#98a2b3}.tc-filter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.tc-task-table-head,.tc-task-row{display:grid;grid-template-columns:minmax(300px,1.6fr) 100px 140px 150px 120px;align-items:center;gap:12px}.tc-task-table-head{min-height:38px;padding:0 15px;color:#667085;background:#f8f9fb;font-size:10px;font-weight:700}.tc-task-row{width:100%;min-height:70px;padding:9px 15px;border:0;border-top:1px solid #edf0f4;color:var(--tc-text);background:#fff;text-align:left;cursor:pointer}.tc-task-row:hover{background:#fafbfc}.tc-task-title-cell{min-width:0;display:grid;grid-template-columns:4px minmax(0,1fr);gap:10px}.tc-task-title-cell>i{width:4px;height:42px;border-radius:2px}.tc-task-title-cell>div{min-width:0}.tc-task-title-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.tc-task-title-cell div>span{display:block;margin-top:4px;color:var(--tc-muted);font-size:10px}.tc-mini-tags{display:flex;gap:4px;margin-top:5px;overflow:hidden}.tc-mini-tags small{flex:0 0 auto;padding:2px 5px;border-radius:3px;color:#475467;background:#eef1f5;font-size:9px}.tc-assignee{display:flex;align-items:center;gap:7px;color:#475467;font-size:11px}.tc-assignee i,.tc-avatar{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:50%;color:var(--tc-primary);background:var(--tc-primary-soft);font-size:10px;font-style:normal;font-weight:800}.tc-task-row time{color:#667085;font-size:11px}.tc-row-progress{display:grid;grid-template-columns:1fr 30px;align-items:center;gap:7px;color:#667085;font-size:10px}.tc-row-progress>i{height:5px;overflow:hidden;border-radius:3px;background:#e9edf3}.tc-row-progress b{display:block;height:100%;background:var(--tc-primary)}.tc-board-page{width:100%;max-width:none}.tc-board{display:grid;grid-template-columns:repeat(5,minmax(248px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:10px}.tc-board-column{min-width:248px;border:1px solid #dfe4ec;border-radius:8px;background:#eef1f5}.tc-board-column>header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 11px}.tc-board-column>header>div{display:flex;align-items:center;gap:7px}.tc-board-column>header i{width:8px;height:8px;border-radius:2px}.tc-board-column>header i.tone-neutral{background:#98a2b3}.tc-board-column>header i.tone-primary{background:var(--tc-primary)}.tc-board-column>header i.tone-warning{background:var(--tc-warning)}.tc-board-column>header i.tone-danger{background:var(--tc-danger)}.tc-board-column>header i.tone-success{background:var(--tc-success)}.tc-board-column h2{margin:0;font-size:12px}.tc-board-column>header>span{min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;color:#667085;background:#fff;font-size:10px}.tc-board-list{min-height:260px;display:grid;align-content:start;gap:8px;padding:0 8px 8px}.tc-board-card{min-height:148px;padding:11px;border:1px solid #d9dee7;border-radius:6px;background:#fff;cursor:grab}.tc-board-card:active{cursor:grabbing}.tc-board-card-top{display:flex;align-items:center;justify-content:space-between}.tc-board-card-top small{color:#98a2b3;font-size:9px}.tc-priority-label{padding:2px 5px;border-radius:3px;color:#fff!important;font-size:9px;font-weight:700}.tc-board-card h3{min-height:35px;margin:9px 0 7px;font-size:13px;line-height:1.35}.tc-board-card>p{display:flex;align-items:center;gap:6px;margin:0;color:#667085;font-size:10px}.tc-board-card>p i{width:7px;height:7px;border-radius:2px}.tc-board-card-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;margin-top:10px}.tc-board-card-progress>i{height:4px;overflow:hidden;border-radius:2px;background:#e9edf3}.tc-board-card-progress b{display:block;height:100%;background:var(--tc-primary)}.tc-board-card-progress span{color:#667085;font-size:9px}.tc-board-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.tc-board-card time{display:flex;align-items:center;gap:4px;color:#667085;font-size:9px}.tc-board-empty{min-height:90px;display:grid;place-items:center;border:1px dashed #cbd2dc;border-radius:6px;color:#98a2b3;font-size:11px}.tc-board-ghost{opacity:.35}.tc-board-drag{transform:rotate(1deg)}.tc-calendar{overflow:hidden}.tc-calendar-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #e8ebf0}.tc-calendar-toolbar>div{display:flex;align-items:center;gap:8px}.tc-calendar-toolbar h2{width:120px;margin:0;text-align:center;font-size:16px}.tc-calendar-toolbar button{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid #d8dee8;border-radius:6px;color:#475467;background:#fff;cursor:pointer}.tc-calendar-week,.tc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tc-calendar-week{height:32px;align-items:center;color:#667085;background:#f8f9fb;text-align:center;font-size:10px;font-weight:700}.tc-calendar-day{position:relative;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden;padding:7px 4px;border:0;border-top:1px solid #edf0f4;border-right:1px solid #edf0f4;color:var(--tc-text);background:#fff;cursor:pointer}.tc-calendar-day:nth-child(7n){border-right:0}.tc-calendar-day.muted{color:#aab1bc;background:#fafbfc}.tc-calendar-day.selected{z-index:1;color:var(--tc-primary);background:#f3f7ff;box-shadow:inset 0 0 0 2px var(--tc-primary)}.tc-calendar-day.today .tc-calendar-day-number{color:#fff;background:var(--tc-primary)}.tc-calendar-day-number{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:11px}.tc-calendar-task-marker{min-width:25px;height:18px;display:inline-flex;align-items:center;justify-content:center;gap:4px;margin-top:7px;padding:0 5px;border-radius:9px;color:#fff;background:var(--tc-primary);font-size:9px;font-weight:800}.tc-calendar-task-marker i{width:5px;height:5px;border-radius:50%;background:currentColor}.tc-calendar-day.muted .tc-calendar-task-marker{opacity:.45}.tc-calendar-tasks{overflow:hidden}.tc-calendar-tasks>header>span{min-width:38px;height:26px;display:grid;place-items:center;border-radius:13px;color:var(--tc-primary);background:var(--tc-primary-soft);font-size:10px;font-weight:800}.tc-calendar-task-item{width:100%;min-height:96px;display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;border:0;border-top:1px solid #edf0f4;color:var(--tc-text);background:#fff;text-align:left;cursor:pointer}.tc-calendar-task-item:hover{background:#f8fafc}.tc-calendar-task-item>i{width:4px;height:66px;border-radius:2px;background:var(--tc-primary)}.tc-calendar-task-item>i.priority-urgent{background:var(--tc-danger)}.tc-calendar-task-item>i.priority-high{background:var(--tc-warning)}.tc-calendar-task-item>i.priority-low{background:#64748b}.tc-calendar-task-item>div{min-width:0;display:flex;flex-direction:column;gap:4px}.tc-calendar-task-item strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4;white-space:normal;font-size:12px}.tc-calendar-task-item p{overflow:hidden;margin:0;color:#667085;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.tc-calendar-task-item .tc-calendar-task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;color:#667085;font-size:9px}.tc-calendar-task-item .tc-calendar-task-meta small{padding:2px 5px;border-radius:4px;font-size:8px;font-weight:700}.tc-calendar-task-item .tc-calendar-task-meta em{display:inline-flex;align-items:center;gap:3px;color:#667085;font-style:normal}.tc-calendar-task-item>.tc-badge{align-self:start;justify-self:end;margin-top:2px;white-space:nowrap}.tc-calendar-empty{min-height:100px}.tc-project-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:13px}.tc-project-card,.tc-project-add{min-height:240px;border:1px solid var(--tc-line);border-radius:8px;background:#fff}.tc-project-card{padding:16px}.tc-project-card.archived{opacity:.7}.tc-project-card>header{display:grid;grid-template-columns:8px 1fr 34px;align-items:start;gap:10px}.tc-project-card>header>i{width:8px;height:42px;border-radius:3px}.tc-project-card header span{color:#98a2b3;font-size:9px}.tc-project-card h2{margin:3px 0 0;font-size:15px}.tc-project-card header button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dfe4ec;border-radius:6px;color:#667085;background:#fff;cursor:pointer}.tc-project-card>p{height:38px;overflow:hidden;margin:14px 0;color:#667085;font-size:11px;line-height:1.7}.tc-project-meta{display:flex;flex-wrap:wrap;gap:12px;padding:10px 0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}.tc-project-meta span{display:flex;align-items:center;gap:4px;color:#667085;font-size:10px}.tc-project-progress{margin-top:12px}.tc-project-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px;color:#667085;font-size:10px}.tc-project-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.tc-project-card footer a{display:flex;align-items:center;gap:5px;color:var(--tc-primary);text-decoration:none;font-size:11px;font-weight:700}.tc-project-card footer>span{color:var(--tc-warning);font-size:10px}.tc-project-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-style:dashed;color:#667085;cursor:pointer}.tc-project-add:hover{color:var(--tc-primary);border-color:#9db2d8;background:#fafcff}.tc-project-add strong{font-size:13px}.tc-project-add span{font-size:10px}.tc-modal-mask,.tc-drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73}.tc-modal-mask{z-index:110;display:grid;place-items:center;padding:16px;overflow-y:auto}.tc-drawer-mask{z-index:100}.tc-dialog{width:min(760px,100%);max-height:calc(100vh - 32px);overflow-y:auto;border-radius:8px;background:#fff;box-shadow:0 20px 45px #0f172a38}.tc-project-dialog{width:min(650px,100%)}.tc-dialog-head,.tc-drawer-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #e5e9ef;background:#fff}.tc-dialog-head span,.tc-drawer-head span{color:var(--tc-primary);font-size:9px;font-weight:800}.tc-dialog-head h2,.tc-drawer-head h2{margin:3px 0 0;font-size:18px}.tc-dialog-head>button,.tc-inline-actions button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #dfe4ec;border-radius:6px;color:#667085;background:#fff;cursor:pointer}.tc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.tc-field{min-width:0;display:flex;flex-direction:column;gap:6px}.tc-field-wide{grid-column:1 / -1}.tc-field>span,.tc-field legend{color:#475467;font-size:11px;font-weight:700}.tc-required{margin-left:2px;color:var(--tc-danger);font-size:12px}.tc-field input:not([type=range]),.tc-field select,.tc-field textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d8dee8;border-radius:6px;outline:0;color:var(--tc-text);background:#fff;font-size:12px}.tc-field select[multiple]{min-height:76px}.tc-field textarea{resize:vertical;line-height:1.6}.tc-field input:focus,.tc-field select:focus,.tc-field textarea:focus{border-color:#7f9bc9;box-shadow:0 0 0 3px #2f54961a}.tc-field .tc-input-error,.tc-subtask-create-row .tc-input-error{border-color:var(--tc-danger);box-shadow:0 0 0 3px #d92d2014}.tc-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px}.tc-dialog-actions>span{flex:1}.tc-form-error{grid-column:1 / -1;margin:0;color:var(--tc-danger);font-size:11px}.tc-field-hint{display:block;margin-top:5px;color:var(--tc-muted);font-size:11px;line-height:1.4}.tc-subtask-create-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tc-subtask-create-heading>span{color:#475467;font-size:11px;font-weight:700}.tc-subtask-create-heading small{margin-left:5px;color:var(--tc-muted);font-size:9px;font-weight:500}.tc-subtask-create-heading em{color:var(--tc-muted);font-size:9px;font-style:normal}.tc-subtask-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.tc-subtask-create-row input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d8dee8;border-radius:6px;outline:0;color:var(--tc-text);background:#fff;font-size:12px}.tc-subtask-create-row input:focus{border-color:#7f9bc9;box-shadow:0 0 0 3px #2f54961a}.tc-subtask-create-row button{min-width:72px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 11px;border:0;border-radius:6px;color:#fff;background:var(--tc-primary);font-size:11px;font-weight:700;cursor:pointer}.tc-subtask-create-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.tc-subtask-create-list li{min-height:34px;display:grid;grid-template-columns:22px minmax(0,1fr) 28px;align-items:center;gap:6px;padding:4px 6px;border:1px solid #e1e7f0;border-radius:5px;background:#f8faff}.tc-subtask-create-list li>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#1556b8;background:#e8f1ff;font-size:9px;font-weight:800}.tc-subtask-create-list li>b{overflow:hidden;color:#344054;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.tc-subtask-create-list li>button{width:28px;height:28px;display:grid;place-items:center;border:0;color:#98a2b3;background:transparent;cursor:pointer}.tc-subtask-create-list li>button:hover{color:var(--tc-danger)}.tc-field-hint a{color:var(--tc-primary);font-weight:700}.tc-color-field{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:0;border:0}.tc-color-field legend{width:100%;margin-bottom:7px}.tc-color-field button{width:30px;height:30px;display:grid;place-items:center;border:2px solid transparent;border-radius:5px;color:#fff;cursor:pointer}.tc-color-field button.active{border-color:#172033}.tc-drawer-mask{display:flex;justify-content:flex-end}.tc-task-drawer{width:min(570px,100%);height:100vh;overflow:hidden;background:#fff;box-shadow:-16px 0 36px #0f172a2e}.tc-drawer-head{height:72px}.tc-drawer-head>div:first-child{min-width:0}.tc-drawer-head h2{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-inline-actions{display:flex;gap:6px}.tc-drawer-body{height:calc(100vh - 72px);overflow-y:auto;padding:16px 18px 34px}.tc-detail-loading{height:calc(100vh - 72px);display:grid;place-items:center;color:#667085}.tc-detail-loading-bar{min-height:34px;display:flex;align-items:center;gap:8px;padding:7px 18px;color:#475467;background:#eef4ff;font-size:10px}.tc-detail-loading-bar:before{content:"";width:13px;height:13px;border:2px solid #b9c8e3;border-top-color:var(--tc-primary);border-radius:50%;animation:tc-detail-spin .8s linear infinite}@keyframes tc-detail-spin{to{transform:rotate(360deg)}}.tc-task-flow{margin-bottom:12px;padding:12px;border:1px solid #dbe4f1;border-radius:8px;background:#f8faff}.tc-task-flow>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.tc-task-flow>header h3{margin:0;font-size:12px}.tc-task-flow>header span{display:block;margin-top:2px;color:var(--tc-muted);font-size:9px}.tc-task-flow>header strong{flex:0 0 auto;padding:5px 8px;border-radius:5px;font-size:9px}.tc-task-flow>header strong.tone-primary{color:#1556b8;background:#e8f1ff}.tc-task-flow>header strong.tone-warning{color:#9a5b00;background:#fff2d6}.tc-task-flow>header strong.tone-danger{color:#b42318;background:#feeceb}.tc-task-flow>header strong.tone-success{color:#087a3e;background:#e7f8ee}.tc-task-flow>header strong.tone-neutral{color:#475467;background:#edf1f5}.tc-task-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:13px 0 0;padding:0;list-style:none}.tc-task-flow ol li{position:relative;display:grid;justify-items:center;gap:5px;min-width:0;color:#98a2b3}.tc-task-flow ol li:not(:last-child):after{content:"";position:absolute;z-index:0;top:12px;left:calc(50% + 13px);width:calc(100% - 26px);height:3px;border-radius:2px;background:#dfe5ed}.tc-task-flow ol li.next-reached:not(:last-child):after{background:#22a05a}.tc-flow-marker{position:relative;z-index:1;width:26px;height:26px;display:grid;place-items:center;border:2px solid #d5dce6;border-radius:50%;color:#7b8798;background:#fff}.tc-flow-marker b{font-size:9px}.tc-task-flow ol li.done .tc-flow-marker{border-color:#22a05a;color:#fff;background:#22a05a}.tc-task-flow ol li.current .tc-flow-marker{border-color:#1769d2;color:#fff;background:#1769d2;box-shadow:0 0 0 4px #1769d21f}.tc-task-flow ol li.done em{color:#157a43}.tc-task-flow ol li.current em{color:#1556b8;font-weight:800}.tc-task-flow ol li em{min-width:0;font-size:9px;font-style:normal;white-space:nowrap}.tc-flow-branches{min-height:34px;display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px dashed #d7dfeb}.tc-flow-branches>span{margin-right:auto;color:var(--tc-muted);font-size:9px}.tc-flow-branches b{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #dfe5ed;border-radius:4px;color:#98a2b3;background:#fff;font-size:9px}.tc-flow-branches b i{width:6px;height:6px;border-radius:50%;background:#c8d0dc}.tc-flow-branches b.done{border-color:#a9ddbf;color:#157a43;background:#effaf4}.tc-flow-branches b.done i{background:#22a05a}.tc-flow-branches b.current{border-color:#86ade7;color:#1556b8;background:#eaf2ff}.tc-flow-branches b.current i{background:#1769d2}.tc-flow-branches b.current.status-rejected,.tc-flow-branches b.current.status-blocked,.tc-flow-branches b.current.status-cancelled{border-color:var(--tc-state-color);color:var(--tc-state-color);background:var(--tc-state-soft)}.tc-flow-branches b.current.status-rejected i,.tc-flow-branches b.current.status-blocked i,.tc-flow-branches b.current.status-cancelled i{background:var(--tc-state-color)}.tc-task-flow>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;color:var(--tc-muted);font-size:8px}.tc-task-flow>footer span{display:inline-flex;align-items:center;gap:4px}.tc-task-flow>footer i{width:7px;height:7px;border-radius:50%;background:#c8d0dc}.tc-task-flow>footer i.done{background:#22a05a}.tc-task-flow>footer i.current{background:#1769d2}.tc-detail-properties{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid #e1e6ed;border-radius:7px;background:#e1e6ed}.tc-detail-properties>div,.tc-detail-properties>label{min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px 11px;background:#fff}.tc-detail-properties span{color:#98a2b3;font-size:9px}.tc-detail-properties b,.tc-detail-properties select{color:#344054;font-size:11px;font-weight:700}.tc-detail-properties b{display:flex;align-items:center;gap:6px}.tc-detail-properties b i{width:8px;height:8px;border-radius:2px}.tc-detail-properties select{min-height:30px;padding:0 7px;border:1px solid #d8dee8;border-radius:5px;background:#fff}.tc-detail-properties .tc-status-readonly{width:max-content;padding:5px 8px;border-radius:4px}.tc-detail-properties .tc-detail-collaborators{grid-column:1 / -1}.tc-status-waiting{width:max-content;padding:5px 8px;border-radius:4px;color:#9a5b00!important;background:#fff4d9}.tc-readonly-value{min-height:40px;display:flex;align-items:center;padding:8px 10px;border:1px solid #d8dee8;border-radius:6px;color:#475467;background:#f5f7fa;font-size:12px;font-weight:700}.tc-review-panel{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid #bed0ef;border-left:4px solid var(--tc-primary);border-radius:8px;background:#f5f8fd}.tc-review-panel h3{margin:0;font-size:12px}.tc-review-panel p{margin:4px 0 0;color:var(--tc-muted);font-size:10px;line-height:1.6}.tc-review-panel footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.tc-review-panel footer .tc-btn{min-height:34px}.tc-rework-panel{border-color:#f0b9b5;border-left-color:var(--tc-danger);background:#fff7f6}.tc-start-task-panel{border-color:#b8d9c2;border-left-color:var(--tc-success);background:#f4fbf6}.tc-suspension-panel{margin-top:12px;padding:12px;border:1px solid #f4c97b;border-left:4px solid var(--tc-warning);border-radius:8px;background:#fffaf0}.tc-suspension-panel h3{margin:0;font-size:12px}.tc-suspension-panel>div>p{margin:4px 0 9px;color:var(--tc-muted);font-size:10px}.tc-suspension-panel textarea{width:100%;min-height:78px;padding:9px;border:1px solid #d8dee8;border-radius:7px;resize:vertical;outline:0;background:#fff;font-size:11px;line-height:1.6}.tc-suspension-panel textarea:focus{border-color:var(--tc-warning);box-shadow:0 0 0 3px #b867001a}.tc-suspension-panel footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.tc-suspension-panel footer .tc-btn{min-height:34px}.tc-detail-section{padding:17px 0;border-bottom:1px solid #e8ebf0}.tc-section-title{min-height:26px;display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.tc-section-title h3{margin:0;font-size:13px}.tc-section-title>span{min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;color:#667085;background:#eef1f5;font-size:9px}.tc-status-history ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.tc-status-history li{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;min-height:54px}.tc-status-history li:before{content:"";position:absolute;left:4px;top:14px;bottom:-2px;width:1px;background:#d8dee8}.tc-status-history li:last-child:before{display:none}.tc-status-history li>i{width:9px;height:9px;margin-top:4px;border:2px solid #fff;border-radius:50%;background:var(--tc-primary);box-shadow:0 0 0 1px #9db2d8}.tc-status-history li>div{min-width:0}.tc-status-history li b{display:block;color:#344054;font-size:10px}.tc-status-history li small{display:block;margin-top:3px;color:#98a2b3;font-size:9px}.tc-status-history li p{margin:5px 0 0;color:#8a4b00;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.tc-tag-row{display:flex;flex-wrap:wrap;gap:6px}.tc-tag-row>span{padding:4px 7px;border-left:3px solid var(--tag-color);border-radius:3px;color:#475467;background:#f3f5f7;font-size:10px}.tc-markdown{color:#344054;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.tc-markdown>*:first-child{margin-top:0}.tc-markdown>*:last-child{margin-bottom:0}.tc-markdown pre{overflow-x:auto;padding:10px;border-radius:5px;background:#f1f3f6}.tc-markdown img{max-width:100%}.tc-muted{color:#98a2b3;font-size:11px}.tc-subtask-list{display:grid}.tc-subtask-list label{min-height:38px;display:grid;grid-template-columns:20px 1fr 30px;align-items:center;gap:5px;border-bottom:1px solid #f0f2f5;font-size:11px}.tc-subtask-list label.done>span{color:#98a2b3;text-decoration:line-through}.tc-subtask-list input{accent-color:var(--tc-primary)}.tc-subtask-list button{width:30px;height:30px;display:grid;place-items:center;border:0;color:#98a2b3;background:transparent;cursor:pointer}.tc-inline-form{display:grid;grid-template-columns:1fr 38px;gap:7px;margin-top:10px}.tc-inline-form input{min-width:0;height:36px;padding:0 9px;border:1px solid #d8dee8;border-radius:5px;outline:0;font-size:11px}.tc-inline-form button{display:grid;place-items:center;border:0;border-radius:5px;color:#fff;background:var(--tc-primary);cursor:pointer}.tc-attachment-list{display:grid}.tc-attachment-list a{min-height:42px;display:grid;grid-template-columns:22px minmax(0,1fr) auto 30px;align-items:center;gap:5px;border-bottom:1px solid #f0f2f5;color:#344054;text-decoration:none;font-size:11px}.tc-attachment-list a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-attachment-list small{color:#98a2b3;font-size:9px}.tc-attachment-list button{width:30px;height:30px;display:grid;place-items:center;border:0;color:#98a2b3;background:transparent;cursor:pointer}.tc-attachment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tc-upload-button{width:max-content;min-height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #c8d3e5;border-radius:5px;color:var(--tc-primary);cursor:pointer;font-size:10px;font-weight:700}.tc-camera-button{color:var(--tc-success);border-color:#b8d9c2}.tc-upload-button.disabled{cursor:wait;opacity:.58}.tc-upload-button input{display:none}.tc-comment-list{display:grid;gap:9px}.tc-comment-list article{padding:9px 11px;border-left:3px solid #cbd7ea;background:#f7f8fa}.tc-comment-list article>div{display:flex;justify-content:space-between;gap:10px}.tc-comment-list b{font-size:10px}.tc-comment-list time{color:#98a2b3;font-size:9px}.tc-comment-list p{margin:6px 0 0;white-space:pre-wrap;color:#475467;font-size:11px;line-height:1.6}.tc-comment-form{margin-top:12px}.tc-comment-form textarea{width:100%;padding:9px;border:1px solid #d8dee8;border-radius:5px;resize:vertical;outline:0;font-size:11px}.tc-comment-form>div{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:7px}.tc-comment-form select{min-height:38px;border:1px solid #d8dee8;border-radius:5px;font-size:10px}.tc-activity-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.tc-activity-list li{position:relative;display:grid;grid-template-columns:16px 1fr;gap:8px;min-height:44px}.tc-activity-list li:before{content:"";position:absolute;left:4px;top:14px;bottom:-3px;width:1px;background:#d8dee8}.tc-activity-list li:last-child:before{display:none}.tc-activity-list li>i{width:9px;height:9px;margin-top:4px;border:2px solid #fff;border-radius:50%;background:var(--tc-primary);box-shadow:0 0 0 1px #9db2d8}.tc-activity-list p{margin:0 0 3px;color:#475467;font-size:10px}.tc-activity-list time{color:#98a2b3;font-size:9px}.tc-delete-task{min-height:34px;display:flex;align-items:center;gap:6px;margin:18px 0 0 auto;padding:0 10px;border:1px solid #efc3be;border-radius:5px;color:var(--tc-danger);background:#fff;cursor:pointer;font-size:10px}.tc-notification-list{overflow:hidden}.tc-notification-list>button{position:relative;width:100%;min-height:72px;display:grid;grid-template-columns:40px minmax(0,1fr) 8px 20px;align-items:center;gap:11px;padding:10px 15px;border:0;border-bottom:1px solid #edf0f4;color:var(--tc-text);background:#fff;text-align:left;cursor:pointer}.tc-notification-list>button.unread{background:#f8faff}.tc-notification-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:7px}.tc-notification-icon.primary{color:var(--tc-primary);background:var(--tc-primary-soft)}.tc-notification-icon.warning{color:var(--tc-warning);background:#fff2d9}.tc-notification-icon.danger{color:var(--tc-danger);background:#fce8e6}.tc-notification-icon.neutral{color:#667085;background:#eef1f5}.tc-notification-list div{min-width:0}.tc-notification-list strong,.tc-notification-list p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-notification-list strong{display:block;font-size:12px}.tc-notification-list p{margin:4px 0;color:#667085;font-size:10px}.tc-notification-list time{color:#98a2b3;font-size:9px}.tc-notification-list button>i{width:7px;height:7px;border-radius:50%;background:var(--tc-primary)}.tc-analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tc-chart-panel{padding-bottom:10px}.tc-horizontal-chart{min-height:42px;display:grid;grid-template-columns:100px minmax(80px,1fr) 40px 44px;align-items:center;gap:8px;padding:4px 14px;font-size:10px}.tc-horizontal-chart>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-horizontal-chart>div{height:7px;overflow:hidden;border-radius:4px;background:#e9edf3}.tc-horizontal-chart i{display:block;height:100%;background:var(--tc-state-color, var(--tc-primary))}.tc-horizontal-chart i.green{background:var(--tc-success)}.tc-horizontal-chart small{color:#98a2b3}.tc-trend-panel{min-height:300px}.tc-trend-chart{height:210px;display:flex;align-items:end;justify-content:space-around;gap:10px;padding:20px 20px 12px}.tc-trend-chart>div{height:100%;flex:1;display:grid;grid-template-rows:1fr 20px 18px;text-align:center}.tc-trend-chart>div>span{display:flex;align-items:end;justify-content:center;border-bottom:1px solid #d8dee8}.tc-trend-chart i{width:min(34px,70%);min-height:4px;border-radius:4px 4px 0 0;background:var(--tc-primary)}.tc-trend-chart b{margin-top:4px;font-size:9px}.tc-trend-chart small{color:#98a2b3;font-size:8px}.tc-priority-panel>div{display:grid;grid-template-columns:90px 36px 1fr;align-items:center;gap:8px;padding:8px 15px}.tc-priority-panel>div>span{display:flex;align-items:center;gap:7px;font-size:10px}.tc-priority-panel>div>span i{width:7px;height:7px;border-radius:2px}.tc-priority-panel>div>div{height:6px;overflow:hidden;border-radius:3px;background:#e9edf3}.tc-priority-panel>div>div i{display:block;height:100%}.tc-profile-panel{min-height:112px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:15px;padding:18px;margin-bottom:14px}.tc-profile-avatar{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;color:var(--tc-primary);background:var(--tc-primary-soft);font-size:22px;font-weight:800}.tc-profile-panel h2{margin:0 0 5px;font-size:17px}.tc-profile-panel p{margin:0 0 5px;color:#667085;font-size:11px}.tc-profile-panel div>span{color:#98a2b3;font-size:10px}.tc-profile-panel>a{display:flex;align-items:center;gap:6px;color:var(--tc-primary);text-decoration:none;font-size:11px;font-weight:700}.tc-settings-panel{margin-bottom:14px}.tc-toggle-row{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 16px;border-bottom:1px solid #edf0f4}.tc-toggle-row>span{display:flex;flex-direction:column;gap:4px}.tc-toggle-row b{font-size:12px}.tc-toggle-row small{color:#667085;font-size:10px}.tc-toggle-row input{width:38px;height:21px;accent-color:var(--tc-primary)}.tc-saved-text{margin:10px 16px;color:var(--tc-success);font-size:10px}.tc-settings-links{overflow:hidden}.tc-settings-links a{min-height:50px;display:grid;grid-template-columns:24px 1fr auto 20px;align-items:center;gap:7px;padding:0 15px;border-bottom:1px solid #edf0f4;color:#344054;text-decoration:none;font-size:11px}.tc-settings-links a>b{min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:10px;color:#fff;background:var(--tc-danger);font-size:9px}.tc-mobile-tabbar{display:none}.tc-master-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0 auto}@media (min-width: 761px){.tc-master-tabbar{width:min(100%,430px)}}.tc-floating-home{position:fixed;right:24px;bottom:24px;z-index:45;min-width:64px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:22px;color:#fff;background:linear-gradient(135deg,#0b5cd6,#16a34a);box-shadow:0 8px 20px #0f3e8238;text-decoration:none;font-size:12px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}.tc-floating-home:hover{color:#fff;transform:translateY(-2px);box-shadow:0 11px 24px #0f3e8247}@media (max-width: 1180px){.tc-shell{grid-template-columns:74px minmax(0,1fr)}.tc-sidebar{padding:14px 9px}.tc-brand{justify-content:center;padding:3px 0 13px}.tc-brand div,.tc-nav a span,.tc-sidebar-projects,.tc-sidebar-footer a span{display:none}.tc-nav a,.tc-sidebar-footer a{justify-content:center;padding:0}.tc-nav a b{position:absolute;transform:translate(14px,-12px)}.tc-filterbar{grid-template-columns:minmax(200px,1fr) repeat(2,140px) 38px}.tc-filterbar select:nth-of-type(n+3){display:none}.tc-project-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}@media (max-width: 900px){.tc-metric-grid{grid-template-columns:1fr 1fr}.tc-dashboard-grid{grid-template-columns:1fr}.tc-project-progress,.tc-week-focus{grid-column:1}.tc-task-table-head{display:none}.tc-task-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title status" "title due" "assignee progress";min-height:96px}.tc-task-title-cell{grid-area:title}.tc-task-row>.tc-badge{grid-area:status;justify-self:end}.tc-task-row>.tc-assignee{grid-area:assignee}.tc-task-row>time{grid-area:due;justify-self:end}.tc-task-row>.tc-row-progress{grid-area:progress;min-width:100px}.tc-calendar-day{min-height:72px}}@media (max-width: 767px){.tc-shell{display:block;min-height:var(--app-vh, 100dvh)}.tc-sidebar{display:none}.tc-main{min-height:var(--app-vh, 100dvh)}.tc-topbar{height:56px;gap:8px;padding:0 12px}.tc-mobile-brand{display:flex;flex:0 0 auto}.tc-mobile-brand>span{width:32px;height:32px;flex-basis:32px;font-size:11px}.tc-mobile-brand strong{display:none}.tc-global-search{width:auto;flex:1;height:36px}.tc-create-button{width:36px;min-height:36px;padding:0}.tc-create-button span,.tc-user-button{display:none}.tc-top-actions{margin-left:0;gap:6px}.tc-top-actions .tc-icon-button{width:36px;height:36px;flex-basis:36px}.tc-content{min-height:calc(var(--app-vh, 100dvh) - 56px);padding-bottom:calc(68px + env(safe-area-inset-bottom))}.tc-page{padding:16px 12px}.tc-page-head{min-height:62px;margin-bottom:14px}.tc-page-head h1{font-size:20px}.tc-page-head p{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.tc-page-head>.tc-btn{min-height:36px;padding:0 10px}.tc-head-actions select{max-width:125px}.tc-head-actions .tc-btn span{display:none}.tc-metric-grid{gap:8px;margin-bottom:12px}.tc-metric-grid article{min-height:96px;grid-template-columns:34px 1fr;column-gap:9px;padding:12px}.tc-metric-grid article>div{width:34px;height:34px}.tc-metric-grid article>strong{font-size:21px}.tc-dashboard-grid{gap:11px}.tc-dashboard-task{grid-template-columns:4px minmax(0,1fr) auto;gap:9px;padding:9px 12px}.tc-dashboard-task>time{display:none}.tc-dashboard-task>.tc-badge{grid-column:3}.tc-filterbar{grid-template-columns:1fr 118px 38px;overflow-x:auto}.tc-filterbar select:nth-of-type(n+2){display:none}.tc-task-row{padding:10px 11px}.tc-task-title-cell strong{white-space:normal;line-height:1.4}.tc-board-page{padding-right:0}.tc-board{scroll-snap-type:x mandatory;grid-template-columns:repeat(5,84vw);padding-right:12px}.tc-board-column{min-width:84vw;scroll-snap-align:start}.tc-board-list{min-height:55vh}.tc-calendar{overflow-x:auto}.tc-calendar-toolbar,.tc-calendar-week,.tc-calendar-grid{min-width:720px}.tc-calendar-day{min-height:102px}.tc-project-grid{grid-template-columns:1fr}.tc-project-card,.tc-project-add{min-height:220px}.tc-analytics-grid{grid-template-columns:1fr}.tc-form-grid{grid-template-columns:1fr;padding:15px 13px}.tc-field-wide{grid-column:1}.tc-modal-mask{align-items:end;padding:0}.tc-dialog{max-height:92dvh;border-radius:8px 8px 0 0}.tc-dialog-head{position:sticky;top:0;z-index:2}.tc-drawer-mask{background:#fff}.tc-task-drawer{width:100%;box-shadow:none}.tc-drawer-head{height:62px;padding:9px 12px}.tc-drawer-head h2{max-width:calc(100vw - 130px);font-size:16px}.tc-drawer-body{height:calc(100dvh - 62px);padding:12px 12px calc(28px + env(safe-area-inset-bottom))}.tc-detail-properties{grid-template-columns:1fr 1fr}.tc-comment-form>div{grid-template-columns:1fr}.tc-profile-panel{grid-template-columns:54px 1fr;padding:14px}.tc-profile-avatar{width:50px;height:50px}.tc-profile-panel>a{grid-column:2}.tc-mobile-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;min-height:calc(62px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:5px 4px env(safe-area-inset-bottom);border-top:1px solid #d8dee8;background:#fffffffa}.tc-mobile-tabbar a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#667085;text-decoration:none}.tc-mobile-tabbar a>span{position:relative;height:22px}.tc-mobile-tabbar a b{position:absolute;top:-7px;right:-10px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;border-radius:8px;color:#fff;background:var(--tc-danger);font-size:8px}.tc-mobile-tabbar small{font-size:9px}.tc-mobile-tabbar a.router-link-exact-active{color:var(--tc-primary);font-weight:700}.tc-floating-home{right:14px;bottom:calc(74px + env(safe-area-inset-bottom));min-width:58px;height:40px;padding:0 12px;border-radius:20px;font-size:11px}}@media (max-width: 390px){.tc-page{padding-left:10px;padding-right:10px}.tc-page-head p{max-width:190px}.tc-metric-grid article{padding:10px}.tc-metric-grid article>small{display:none}.tc-detail-properties{grid-template-columns:1fr}}.tc-shell{display:flex;justify-content:center;grid-template-columns:none;min-height:100dvh;background:linear-gradient(180deg,#dbeafe,#eef2f7 42%,#d1fae5)}.tc-sidebar,.tc-topbar{display:none}.tc-main{position:relative;width:min(100%,430px);height:100dvh;min-height:0;overflow:hidden;background:var(--tc-bg);box-shadow:0 18px 48px #0f172a2e}.tc-shell-back{position:absolute;top:19px;left:12px;z-index:45;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:6px;color:#fff;background:#ffffff24;cursor:pointer}.tc-content{height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 0 calc(70px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.tc-page,.tc-narrow-page{width:100%;padding:0 0 18px}.tc-page-head,.tc-page-head.compact{min-height:76px;margin:0 0 10px;padding:13px 14px 14px;align-items:center;color:#fff;background:linear-gradient(135deg,#1d5fd1,#16a34a);box-shadow:0 2px 10px #0b5cd624}.tc-page-head>div:first-child{align-self:center;padding-left:43px}.tc-page-head span{color:#ffffffb8}.tc-page-head h1{margin:2px 0 3px;color:#fff;font-size:19px}.tc-page-head p{max-width:230px;overflow:hidden;color:#ffffffd1;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.tc-page-head .tc-btn.primary,.tc-page-head>.tc-icon-button{min-height:38px;border-color:#ffffff73;color:#fff;background:#ffffff24}.tc-page-head .tc-btn.primary:hover{background:#ffffff38}.tc-panel{margin:10px 12px;border-radius:8px}.tc-metric-grid{grid-template-columns:1fr 1fr;gap:8px;margin:10px 12px 12px}.tc-metric-grid article{min-height:96px;grid-template-columns:34px 1fr;column-gap:9px;padding:12px}.tc-metric-grid article>div{width:34px;height:34px}.tc-metric-grid article>strong{font-size:21px}.tc-dashboard-grid{grid-template-columns:1fr;gap:0}.tc-project-progress,.tc-week-focus{grid-column:1}.tc-task-table-head{display:none}.tc-task-table{overflow:hidden}.tc-task-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title status" "title due" "assignee progress";min-height:96px;padding:10px 11px}.tc-task-title-cell{grid-area:title}.tc-task-title-cell strong{white-space:normal;line-height:1.4}.tc-task-row>.tc-badge{grid-area:status;justify-self:end}.tc-task-row>.tc-assignee{grid-area:assignee}.tc-task-row>time{grid-area:due;justify-self:end}.tc-task-row>.tc-row-progress{grid-area:progress;min-width:92px}.tc-filterbar{grid-template-columns:minmax(0,1fr) 116px 38px;margin:10px 12px;overflow:visible}.tc-filterbar select:nth-of-type(n+2){display:none}.tc-project-grid,.tc-analytics-grid{grid-template-columns:1fr;margin-left:12px;margin-right:12px}.tc-project-card,.tc-project-add{min-height:210px}.tc-form-grid{grid-template-columns:1fr;padding:15px 13px}.tc-field-wide{grid-column:1}.tc-dialog{width:min(430px,100%);max-height:92dvh;border-radius:8px 8px 0 0}.tc-modal-mask{align-items:end;padding:0}.tc-drawer-mask{justify-content:center;background:#0f172a80}.tc-task-drawer{width:min(430px,100vw);box-shadow:0 0 30px #0f172a33}.tc-mobile-tabbar{position:absolute;left:0;right:0;bottom:0;z-index:40;min-height:calc(62px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 4px env(safe-area-inset-bottom);border-top:1px solid #d8dee8;background:#fffffff7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tc-mobile-tabbar a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#667085;text-decoration:none}.tc-mobile-tabbar a>span{position:relative;height:22px}.tc-mobile-tabbar a b{position:absolute;top:-7px;right:-10px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;border-radius:8px;color:#fff;background:var(--tc-danger);font-size:8px}.tc-mobile-tabbar a.router-link-exact-active{color:var(--tc-primary);font-weight:800}.tc-collaborator-picker{position:relative}.tc-collaborator-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.tc-collaborator-tags button{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:3px 7px 3px 4px;border:1px solid #c9d7ef;border-radius:5px;color:#24457f;background:#eef4ff;cursor:pointer}.tc-collaborator-tags i,.tc-collaborator-options i{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;border-radius:50%;color:#fff;background:var(--tc-primary);font-size:9px;font-style:normal;font-weight:800}.tc-collaborator-tags span{font-size:11px;font-weight:700}.tc-collaborator-search{position:relative;display:flex;align-items:center}.tc-collaborator-search svg{position:absolute;left:10px;z-index:1;color:#98a2b3}.tc-field .tc-collaborator-search input{padding-left:34px}.tc-field .tc-assignee-picker input{padding-right:34px}.tc-assignee-picker .tc-assignee-selected-icon{right:10px;left:auto;color:var(--tc-success)}.tc-collaborator-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:20;max-height:230px;overflow-y:auto;padding:5px;border:1px solid #d8dee8;border-radius:6px;background:#fff;box-shadow:0 12px 26px #0f172a29}.tc-collaborator-options button{width:100%;min-height:48px;display:grid;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:5px;color:var(--tc-text);background:#fff;text-align:left;cursor:pointer}.tc-collaborator-options button:hover{background:#f3f6fb}.tc-collaborator-options button>span{min-width:0;display:flex;flex-direction:column}.tc-collaborator-options b,.tc-collaborator-options small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-collaborator-options b{font-size:11px}.tc-collaborator-options small{margin-top:2px;color:var(--tc-muted);font-size:9px}.tc-collaborator-options>p{margin:16px;color:var(--tc-muted);text-align:center;font-size:11px}.tc-dashboard-task{min-height:82px;grid-template-columns:4px minmax(0,1fr) auto}.tc-dashboard-task-meta{display:flex!important;flex-flow:row wrap!important;align-items:center;gap:6px 10px!important;margin-top:3px}.tc-dashboard-task-meta em{padding:2px 6px;border-radius:4px;font-size:9px;font-style:normal;font-weight:700}.priority-label-urgent{color:var(--tc-priority-urgent);background:#fce8e6}.priority-label-high{color:var(--tc-priority-high);background:#fff2d9}.priority-label-medium{color:var(--tc-priority-medium);background:#e6eefb}.priority-label-low{color:var(--tc-priority-low);background:#eef1f5}.tc-dashboard-task-meta time{display:inline!important}.tc-board-area-heading{display:flex;align-items:center;gap:10px;margin:14px 14px 8px}.tc-board-area-heading>span,.tc-team-board-title>span{min-width:38px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#fff;font-size:10px;font-weight:800}.tc-board-area-heading>div,.tc-team-board-title>div{min-width:0}.tc-board-area-heading h2,.tc-board-area-heading p{margin:0}.tc-board-area-heading h2{font-size:15px}.tc-board-area-heading p{margin-top:2px;color:var(--tc-muted);font-size:9px}.tc-board-area-heading-personal>span{background:var(--tc-primary)}.tc-board-overview{overflow:hidden}.tc-personal-board-panel{border-top:3px solid var(--tc-primary)}.tc-board-overview>header .tc-icon-button{width:34px;height:34px;flex-basis:34px}.tc-board-chart-layout{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:center;gap:12px;padding:16px 14px}.tc-status-donut{width:132px;height:132px;display:grid;place-items:center;border-radius:50%}.tc-status-donut>div{width:84px;height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #dfe4ecb3}.tc-status-donut strong{font-size:25px;line-height:1}.tc-status-donut span{margin-top:5px;color:var(--tc-muted);font-size:10px}.tc-status-legend{display:grid;gap:4px}.tc-status-legend>div{min-height:29px;display:grid;grid-template-columns:8px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:0 7px;color:#475467}.tc-status-legend>div i{width:8px;height:8px;border-radius:2px}.tc-status-legend>div span{font-size:11px}.tc-status-legend>div strong{text-align:right;font-size:12px}.tc-board-controls{margin:10px 12px}.tc-status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:1px 0 7px}.tc-status-tabs button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:0 4px;border:1px solid #d8dee8;border-radius:6px;color:#667085;background:#fff;font-size:11px;cursor:pointer}.tc-status-tabs button.active{color:#fff;border-color:var(--tc-primary);background:var(--tc-primary);font-weight:700}.tc-status-tabs b{font-size:10px}.tc-board-controls>select{width:100%;height:38px;padding:0 10px;border:1px solid #d8dee8;border-radius:6px;color:#344054;background:#fff}.tc-board-feed{margin:12px}.tc-board-feed>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:8px}.tc-board-feed>header h2{margin:0;font-size:15px}.tc-board-feed>header p{margin:3px 0 0;color:var(--tc-muted);font-size:10px}.tc-mobile-task-card{margin-bottom:9px;padding:13px;border:1px solid var(--tc-line);border-radius:8px;background:#fff;cursor:pointer}.tc-mobile-task-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tc-type-badge{padding:3px 7px;border-radius:4px;color:#24539a;background:#eaf1fd;font-size:10px;font-weight:700}.tc-mobile-task-top select{max-width:105px;height:30px;padding:0 7px;border:1px solid #d8dee8;border-radius:5px;color:#344054;background:#fff;font-size:10px}.tc-mobile-task-card h3{margin:10px 0 4px;font-size:14px;line-height:1.45}.tc-mobile-task-code{margin:0;color:#98a2b3;font-size:9px}.tc-mobile-task-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px}.tc-mobile-task-meta>span,.tc-mobile-task-meta time{display:flex;align-items:center;gap:5px;color:#667085;font-size:10px}.tc-mobile-task-meta .tc-avatar{width:24px;height:24px;flex-basis:24px}.tc-mobile-task-meta time.overdue{color:var(--tc-danger);font-weight:700}.tc-mobile-task-progress{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:8px;margin-top:10px}.tc-mobile-task-progress>div{height:6px;overflow:hidden;border-radius:3px;background:#e9edf3}.tc-mobile-task-progress i{display:block;height:100%;border-radius:3px;background:var(--tc-primary)}.tc-mobile-task-progress strong{color:#667085;font-size:10px;text-align:right}.tc-assignee-progress{overflow:hidden}.tc-assignee-progress>header>svg{color:var(--tc-primary)}.tc-assignee-progress>article{padding:13px 14px;border-bottom:1px solid #edf0f4}.tc-assignee-progress>article:last-of-type{border-bottom:0}.tc-person-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px}.tc-person-head>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--tc-primary);font-size:11px;font-style:normal;font-weight:800}.tc-person-head>div{min-width:0;display:flex;flex-direction:column}.tc-person-head strong,.tc-person-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-person-head strong{font-size:12px}.tc-person-head span{margin-top:3px;color:var(--tc-muted);font-size:9px}.tc-person-head>b{color:var(--tc-primary);font-size:15px}.tc-person-progress{height:6px;overflow:hidden;margin-top:10px;border-radius:3px;background:#e9edf3}.tc-person-progress i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#2f5496,#2e7d32)}.tc-person-counts{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:8px;color:#667085;font-size:9px}.tc-person-counts .danger{color:var(--tc-danger);font-weight:700}.tc-work-hours,.tc-team-board{overflow:hidden}.tc-team-board{border-top:3px solid var(--tc-success)}.tc-work-hours>header>svg,.tc-team-board>header>svg{color:var(--tc-primary)}.tc-team-board-head{align-items:center}.tc-team-board-title{min-width:0;display:flex;align-items:center;gap:10px}.tc-team-board-title>span{background:var(--tc-success)}.tc-team-board-title h2,.tc-team-board-title p{margin:0}.tc-team-board-title p{margin-top:3px}.tc-hours-chart{min-height:174px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:7px;padding:16px 14px 10px;border-top:1px solid #edf0f4}.tc-hours-chart article{min-width:0;display:grid;grid-template-rows:22px 112px 20px;align-items:end;gap:5px;text-align:center}.tc-hours-chart strong{overflow:hidden;color:#344054;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tc-hours-chart span{color:#667085;font-size:9px}.tc-hours-track{width:100%;height:112px;display:flex;align-items:end;overflow:hidden;border-radius:5px 5px 2px 2px;background:#eef2f7}.tc-hours-track i{width:100%;min-height:2px;display:block;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#0b5cd6,#168344);transition:height .2s ease}.tc-hours-note{margin:0;padding:0 14px 13px;color:#667085;font-size:9px;line-height:1.55}.tc-team-person{padding:13px 14px;border-top:1px solid #edf0f4}.tc-team-person-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px}.tc-team-person-head>i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--tc-primary);font-size:12px;font-style:normal;font-weight:800}.tc-team-person-head>div{min-width:0;display:flex;flex-direction:column}.tc-team-person-head strong,.tc-team-person-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-team-person-head strong{font-size:12px}.tc-team-person-head span{margin-top:3px;color:var(--tc-muted);font-size:9px}.tc-team-person-head>b{color:var(--tc-primary);font-size:15px}.tc-team-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:9px}.tc-team-counts span{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:5px;color:#667085;background:#f7f9fc;font-size:8px}.tc-team-counts b{color:#344054;font-size:12px}.tc-team-counts span[class*=status-] b{color:var(--tc-state-color)}.tc-team-counts .success b{color:var(--tc-success)}.tc-team-counts .primary b{color:var(--tc-primary)}.tc-team-counts .danger,.tc-team-counts .danger b{color:var(--tc-danger);font-weight:700}.tc-board-error{margin:0 14px 14px}@media (max-width: 760px){.tc-main{width:100%;max-width:none;box-shadow:none}.tc-mobile-tabbar{position:fixed}}@media (max-width: 360px){.tc-board-chart-layout{grid-template-columns:122px minmax(0,1fr);gap:8px;padding-left:10px;padding-right:10px}.tc-status-donut{width:116px;height:116px}.tc-status-donut>div{width:74px;height:74px}.tc-hours-chart{gap:4px;padding-left:10px;padding-right:10px}.tc-hours-chart article{grid-template-rows:20px 96px 18px}.tc-hours-track{height:96px}}.tc-shell{--tc-primary: #0b5cd6;--tc-primary-soft: #eaf2ff;--tc-success: #168344;--tc-warning: #b86700;--tc-danger: #c6281d;--tc-text: #172033;--tc-muted: #667085;--tc-line: #dde4ee;--tc-bg: #f3f6fa}.tc-main{background:var(--tc-bg)}.tc-content{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.tc-page,.tc-narrow-page{padding:0 0 18px}.tc-page-head,.tc-page-head.compact{position:sticky;top:0;z-index:35;min-height:52px;display:flex;align-items:center;justify-content:center;margin:0 0 10px;padding:0 82px;color:#fff;background:linear-gradient(135deg,#1d5fd1,#16a34a);box-shadow:0 2px 10px #0b5cd624}.tc-page-head>div:first-child{width:100%;min-width:0;padding:0;text-align:center}.tc-page-head>div>span,.tc-page-head>div>p{display:none}.tc-page-head h1{overflow:hidden;margin:0;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.2}.tc-page-head>.tc-btn,.tc-page-head>.tc-icon-button{position:absolute;top:10px;right:12px;min-height:32px;height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;background:#ffffff24;font-size:12px}.tc-page-head>.tc-icon-button{width:36px;padding:0}.tc-page-head>.tc-btn.secondary{color:#fff;background:#ffffff24}.tc-page-head>.tc-btn:hover,.tc-page-head>.tc-icon-button:hover{background:#ffffff38}.tc-shell-back{top:10px;left:12px;z-index:50;width:auto;min-width:56px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:0 8px;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;background:#ffffff24;font-size:12px}.tc-panel{border-color:var(--tc-line);border-radius:12px;background:#fff;box-shadow:0 4px 14px #0f172a0f}.tc-panel>header{min-height:54px;padding:11px 14px}.tc-panel>header h2{font-size:14px}.tc-panel>header p{font-size:10px}.tc-dashboard-grid,.tc-analytics-grid{display:block}.tc-dashboard-grid>.tc-panel,.tc-analytics-grid>.tc-panel,.tc-board-page>.tc-panel,.tc-calendar{margin:10px 12px}.tc-completion-panel{padding-bottom:14px}.tc-completion-layout{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:12px;padding:14px}.tc-completion-layout .tc-rate-ring{width:118px;height:118px;margin:0 auto}.tc-completion-layout .tc-rate-ring:before{width:88px;height:88px}.tc-completion-layout .tc-rate-ring strong{font-size:21px}.tc-completion-layout .tc-status-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;padding:0}.tc-completion-layout .tc-status-legend>div{min-height:25px;padding:0 6px}.tc-week-focus{padding-bottom:0}.tc-focus-metrics{display:block;border-bottom:1px solid #edf0f4}.tc-focus-metrics>a{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:10px;min-height:62px;padding:9px 14px;color:var(--tc-text);text-decoration:none}.tc-focus-metrics>a+a{border-top:1px solid #edf0f4}.tc-focus-metrics>a>i{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:var(--tc-primary);background:var(--tc-primary-soft)}.tc-focus-metrics span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;color:var(--tc-muted);font-size:11px;font-weight:700}.tc-focus-metrics span b{color:var(--tc-text);font-size:12px}.tc-focus-metrics strong{min-width:30px;text-align:right;font-size:22px;line-height:1}.tc-focus-metrics small{color:var(--tc-muted);font-size:9px;font-weight:600}.tc-focus-metrics>a>svg:last-child{color:#98a2b3}.tc-focus-metrics>a.danger>i{color:var(--tc-danger);background:#fce8e6}.tc-focus-metrics>a.warning>i{color:var(--tc-warning);background:#fff2d9}.tc-week-focus>.tc-calendar-link{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--tc-primary);text-decoration:none;font-size:11px;font-weight:800}.tc-week-focus>.tc-calendar-link svg:last-child{margin-left:2px}.tc-dashboard-task{min-height:76px;padding:10px 12px}.tc-dashboard-task>div>strong{white-space:normal;line-height:1.4}.tc-dashboard-owner-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:10px 12px 8px;padding:3px;border-radius:8px;background:#eef2f7}.tc-dashboard-owner-tabs button{min-width:0;min-height:34px;border:0;border-radius:6px;color:var(--tc-muted);background:transparent;font-size:11px;font-weight:800}.tc-dashboard-owner-tabs button.active{color:var(--tc-primary);background:#fff;box-shadow:0 1px 4px #0f172a1a}.tc-dashboard-owner-tabs b{margin-left:4px;font-size:10px}.tc-dashboard-status-filter{display:flex;gap:6px;overflow-x:auto;padding:0 12px 10px;scrollbar-width:none}.tc-dashboard-status-filter::-webkit-scrollbar{display:none}.tc-dashboard-status-filter button{flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid var(--tc-line);border-radius:6px;color:var(--tc-muted);background:#fff;font-size:10px;font-weight:700}.tc-dashboard-status-filter button.active{border-color:var(--tc-state-color, var(--tc-primary));color:var(--tc-state-color, var(--tc-primary));background:var(--tc-state-soft, #eff6ff)}.tc-task-scope-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 12px 10px;padding:4px;border-radius:9px;background:#e8edf5}.tc-task-scope-tabs button{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px;border:0;border-radius:7px;color:var(--tc-muted);background:transparent}.tc-task-scope-tabs strong{font-size:11px}.tc-task-scope-tabs small{overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.tc-task-scope-tabs button.active{color:var(--tc-primary);background:#fff;box-shadow:0 1px 5px #0f172a1a}.tc-review-scope-note{margin:0 12px 10px;padding:9px 11px;border-left:3px solid var(--tc-warning);border-radius:6px;color:var(--tc-muted);background:#fff7e8;font-size:10px;line-height:1.5}.tc-inspection-searchbar{grid-template-columns:minmax(0,1fr) 104px 38px;gap:8px;margin:0;padding:0 12px 10px}.tc-inspection-searchbar .tc-filter-search,.tc-inspection-searchbar select,.tc-inspection-searchbar .tc-icon-button{height:40px;border-radius:8px}.tc-seg-tabs{position:sticky;top:52px;z-index:20;display:flex;overflow-x:auto;gap:4px;padding:0 12px 10px;background:var(--tc-bg)}.tc-seg-tabs::-webkit-scrollbar{display:none}.tc-seg-tabs button{min-width:62px;flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--tc-line);border-radius:8px;color:var(--tc-muted);background:#fff;font-size:10px;font-weight:800}.tc-seg-tabs button b{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 4px;border-radius:9px;color:#667085;background:#eef2f6;font-size:9px}.tc-seg-tabs button.active{border-color:var(--tc-state-color, var(--tc-primary));color:var(--tc-state-color, var(--tc-primary));background:var(--tc-state-soft, #eff6ff)}.tc-seg-tabs button.active b{color:#fff;background:var(--tc-state-color, var(--tc-primary))}.tc-task-card-list{min-width:0;display:grid;grid-template-columns:minmax(0,1fr)}.tc-inspection-task-card{width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin:0 12px 10px;padding:14px;cursor:pointer}.tc-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tc-task-card-head>div{min-width:0}.tc-task-card-head h3{margin:0;overflow:hidden;color:var(--tc-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px}.tc-task-card-head p{margin:4px 0 0;color:var(--tc-muted);font-size:10px}.tc-inspection-task-card .tc-mini-tags{margin:10px 0 0}.tc-task-card-route{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.tc-task-card-route span,.tc-task-card-route time{display:flex;align-items:center;gap:5px;color:var(--tc-muted);font-size:10px}.tc-task-card-route time{justify-content:flex-end;text-align:right}.tc-task-card-route time.overdue{color:var(--tc-danger);font-weight:800}.tc-inspection-task-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:12px;padding-top:10px;border-top:1px solid #f0f2f6;color:var(--tc-muted);font-size:11px}.tc-priority-chip{padding:3px 7px;border-radius:5px;font-size:9px;font-weight:800}.tc-badge[class*=status-],.tc-badge[class*=task-type-]{min-height:22px;gap:6px;padding:2px 10px;border-radius:999px}.tc-badge[class*=status-]:before,.tc-badge[class*=task-type-]:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor}.tc-badge[class*=task-type-]{color:var(--tc-state-color);background:var(--tc-state-soft)}.task-type-general{--tc-state-color: #0b5cd6;--tc-state-soft: #eaf2ff}.task-type-invoice{--tc-state-color: #c77800;--tc-state-soft: #fff2d9}.task-type-payment-collection{--tc-state-color: #168344;--tc-state-soft: #e8f6ed}.tc-inspection-task-card{position:relative;overflow:hidden;border:1px solid #e6eaf1;border-radius:12px;box-shadow:0 1px 2px #1018280a;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.tc-inspection-task-card:hover{border-color:#d6dce8;box-shadow:0 8px 20px #10182817;transform:translateY(-1px)}.tc-inspection-task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tc-priority-medium)}.tc-card-priority-urgent:before{background:var(--tc-priority-urgent)}.tc-card-priority-high:before{background:var(--tc-priority-high)}.tc-card-priority-medium:before{background:var(--tc-priority-medium)}.tc-card-priority-low:before{background:var(--tc-priority-low)}.tc-task-card-meta{display:flex;align-items:center;gap:6px;margin-bottom:5px}.tc-task-card-code{color:#98a2b3;font-size:10px;font-weight:600;letter-spacing:.2px}.tc-task-card-head h3{font-size:15px;font-weight:700;line-height:1.45}.tc-task-card-route span,.tc-task-card-route time{font-size:11px}.tc-task-card-route span svg,.tc-task-card-route time svg{color:#98a2b3}.tc-priority-chip{padding:4px 10px;border-radius:999px;font-size:10px;letter-spacing:.3px}.tc-dashboard-task{border-bottom:1px solid #f0f2f6}.tc-dashboard-task:hover{background:#f8fafc}.tc-dashboard-task>i{width:4px;height:40px;border-radius:0 2px 2px 0}.tc-dashboard-task-meta .tc-badge{min-height:18px;padding:1px 8px;font-size:10px}.tc-dashboard-task-meta .tc-badge:before{width:5px;height:5px;flex-basis:5px}.tc-dashboard-task-meta em,.tc-calendar-task-item .tc-calendar-task-meta small{border-radius:999px}.tc-calendar-task-item .tc-calendar-task-meta small.tc-badge{padding:2px 10px}.tc-calendar-task-item .tc-calendar-task-meta small.tc-badge:before{content:"";width:5px;height:5px;margin-right:6px;border-radius:50%;background:currentColor}.tc-calendar-task-item p{color:#98a2b3}.tc-priority-corner{position:absolute;top:0;left:0;z-index:2;display:inline-flex;align-items:center;gap:4px;min-width:46px;padding:4px 12px 4px 8px;color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:0 2px 5px #10182829}.tc-priority-corner:before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#ffffffeb}.tc-priority-corner.corner-urgent{background:var(--tc-priority-urgent)}.tc-priority-corner.corner-high{background:var(--tc-priority-high)}.tc-priority-corner.corner-medium{background:var(--tc-priority-medium)}.tc-priority-corner.corner-low{background:var(--tc-priority-low)}.tc-inspection-task-card .tc-task-card-meta{padding-left:54px}.tc-priority-tag{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;border-radius:6px;color:#fff;font-size:10px;font-weight:800;line-height:1.4}.tc-priority-tag.urgent{background:var(--tc-priority-urgent)}.tc-priority-tag.high{background:var(--tc-priority-high)}.tc-priority-tag.medium{background:var(--tc-priority-medium)}.tc-priority-tag.low{background:var(--tc-priority-low)}.tc-calendar-task-item .tc-calendar-task-meta small.tc-priority-tag{padding:2px 8px;border-radius:6px}.tc-task-card-times{display:flex;align-items:center;gap:10px;min-width:0}.tc-task-card-times time{white-space:nowrap}.tc-due-state{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.3px}.tc-due-state.due-overdue{background:var(--tc-danger)}.tc-due-state.due-soon{background:var(--tc-warning)}.tc-due-state.due-normal{background:#64748b}.tc-due-state{margin-left:auto}.tc-task-owner{display:inline-flex;align-items:center;gap:6px}.tc-task-owner strong{color:var(--tc-text);font-weight:600}.tc-task-owner-avatar{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;background:var(--tc-primary);font-size:10px;font-style:normal;font-weight:700}.tc-task-range{display:inline-flex;align-items:center;gap:4px}.tc-task-range svg{color:#98a2b3}.tc-mini-tags small{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;color:#475467;background:#f2f4f7}.tc-mini-tags small:before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--tag-color, #64748b)}.tc-tags-more{flex:0 0 auto;padding:2px 6px;border-radius:999px;color:#98a2b3;background:#eef1f5;font-size:9px;font-weight:700}.tc-task-card-list>.tc-empty{margin:0 12px 10px}.tc-board-chart-layout{padding:14px}.tc-assignee-progress>article{padding:13px 14px}.tc-person-head>i{background:var(--tc-primary)}.tc-person-progress{height:7px;border-radius:4px}.tc-person-progress i{background:var(--tc-primary)}.tc-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 12px}.tc-metric-grid article{min-height:94px;border-radius:12px;padding:12px;box-shadow:0 4px 14px #0f172a0d}.tc-horizontal-chart{grid-template-columns:76px minmax(60px,1fr) 34px 38px;padding:5px 12px}.tc-trend-panel{min-height:0}.tc-calendar-toolbar{height:52px}.tc-calendar-toolbar h2{width:108px;font-size:14px}.tc-calendar{overflow-x:hidden}.tc-calendar-toolbar,.tc-calendar-week,.tc-calendar-grid{min-width:0}.tc-calendar-day{min-height:62px;padding:5px 3px}.tc-calendar-task-marker{min-width:22px;height:16px;margin-top:5px;padding:0 4px}.tc-calendar-task-item{min-height:96px;padding:10px 12px}.tc-notification-list{margin:10px 12px}.tc-notification-list>button{min-height:76px;padding:11px 13px}.tc-dialog{border-radius:14px 14px 0 0;box-shadow:0 -14px 38px #0f172a38}.tc-dialog-head,.tc-drawer-head{min-height:58px;padding:10px 13px;border-bottom:0;color:#fff;background:linear-gradient(135deg,#1d5fd1,#16a34a)}.tc-dialog-head span,.tc-drawer-head span{color:#ffffffbf}.tc-dialog-head h2,.tc-drawer-head h2{color:#fff;font-size:16px}.tc-dialog-head>button,.tc-inline-actions button{width:34px;height:34px;border-color:#fff6;border-radius:8px;color:#fff;background:#ffffff24}.tc-form-grid{gap:13px;padding:15px 13px calc(18px + env(safe-area-inset-bottom))}.tc-field input:not([type=range]),.tc-field select,.tc-field textarea{min-height:42px;border-radius:8px}.tc-dialog-actions .tc-btn{min-height:40px;border-radius:8px}.tc-task-drawer{display:flex;flex-direction:column}.tc-drawer-head{flex:0 0 62px}.tc-drawer-body{flex:1;height:auto;padding:12px 12px calc(28px + env(safe-area-inset-bottom))}.tc-task-flow,.tc-detail-properties{border-radius:10px}.tc-inline-form{grid-template-columns:minmax(0,1fr) auto}.tc-inline-form button{min-width:70px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 11px;font-size:10px;font-weight:800}.tc-inline-form button:disabled{cursor:not-allowed;opacity:.55}.tc-inline-error{margin:7px 0 0;color:var(--tc-danger);font-size:10px}.tc-spin{animation:tc-detail-spin .8s linear infinite}.tc-comment-form-actions{display:flex!important;justify-content:flex-end}.tc-comment-form-actions .tc-btn{min-width:84px}.tc-terminal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tc-terminal-actions .tc-delete-task{margin:0}.tc-cancel-task{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #cbd5e1;border-radius:5px;color:#475569;background:#fff;cursor:pointer;font-size:10px}.tc-cancel-task:disabled{cursor:not-allowed;opacity:.55}.tc-pagination{min-height:42px;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px;padding:7px 10px;border:1px solid var(--tc-line);border-radius:7px;background:#fff}.tc-pagination button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #cfd8e5;border-radius:6px;color:var(--tc-primary);background:#f8fafc;cursor:pointer}.tc-pagination button:disabled{cursor:not-allowed;color:#aab4c3;background:#f3f5f8;opacity:.65}.tc-pagination span{color:#475467;font-size:10px;font-weight:700}.tc-mobile-tabbar{min-height:calc(62px + env(safe-area-inset-bottom));padding:5px 4px env(safe-area-inset-bottom);border-top-color:var(--tc-line);background:#fffffff5}.tc-mobile-tabbar a{display:grid;place-items:center;gap:2px;padding:4px 0;font-size:10px}.tc-mobile-tabbar a>span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#eef2ff}.tc-mobile-tabbar a.router-link-exact-active{color:var(--tc-primary);font-weight:900}.tc-mobile-tabbar a.router-link-exact-active>span{background:#dbeafe}.tc-mobile-tabbar small{font-size:10px}@media (max-width: 360px){.tc-page-head,.tc-page-head.compact{padding-right:72px;padding-left:72px}.tc-task-card-route{align-items:flex-start;flex-direction:column;gap:6px}.tc-task-card-route time{justify-content:flex-start}.tc-status-donut{width:108px;height:108px}.tc-status-donut>div{width:70px;height:70px}}.tc-workbench-page{padding:0 0 18px;background:var(--tc-bg)}.tc-workbench-hero{margin:0 0 -18px;padding:calc(28px + env(safe-area-inset-top)) 18px 42px;color:#fff;background:linear-gradient(135deg,#1d5fd1f7,#16a34ae0)}.tc-workbench-hero small{display:block;margin-bottom:8px;color:#ffffffc7;font-size:11px;font-weight:900}.tc-workbench-hero h1{margin:0 0 8px;color:#fff;font-size:24px;line-height:1.25}.tc-workbench-hero p{margin:0;color:#ffffffdb;font-size:13px;line-height:1.5}.tc-workbench-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 12px 10px;padding:14px 8px}.tc-workbench-stats>a{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 3px;border-right:1px solid #edf0f4;color:var(--tc-text);text-decoration:none}.tc-workbench-stats>a:last-child{border-right:0}.tc-workbench-stats>a:hover,.tc-workbench-stats>a:focus-visible{color:var(--tc-primary);outline:0}.tc-workbench-stats strong{font-size:21px;line-height:1.1}.tc-workbench-stats strong.warning{color:var(--tc-warning)}.tc-workbench-stats strong.danger{color:var(--tc-danger)}.tc-workbench-stats span{color:var(--tc-muted);font-size:11px}.tc-workbench-flow{display:flex;align-items:center;gap:8px;margin:0 12px 10px;padding:13px 10px}.tc-workbench-flow span{min-width:0;color:var(--tc-muted);font-size:11px;font-weight:800;white-space:nowrap}.tc-workbench-flow span.active{color:var(--tc-primary)}.tc-workbench-flow i{height:3px;min-width:0;flex:1;border-radius:2px;background:#cbd5e1}.tc-workbench-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 12px 16px;padding:14px 5px 12px}.tc-workbench-quick button,.tc-workbench-quick a{display:flex;min-width:0;min-height:92px;flex-direction:column;align-items:center;gap:9px;padding:2px;border:0;color:var(--tc-text);background:transparent;text-decoration:none;cursor:pointer}.tc-workbench-quick i{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:#fff;font-size:12px;font-style:normal;font-weight:900}.tc-workbench-quick i.quick-task{background:#0b5cd6}.tc-workbench-quick i.quick-mine{background:#168344}.tc-workbench-quick i.quick-review{background:var(--tc-status-review)}.tc-workbench-quick i.quick-calendar{background:#7c3aed}.tc-workbench-quick span{font-size:11px;font-weight:700;white-space:nowrap}.tc-workbench-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 14px 8px}.tc-workbench-section-title>div{min-width:0}.tc-workbench-section-title strong,.tc-workbench-section-title small{display:block}.tc-workbench-section-title strong{font-size:17px}.tc-workbench-section-title small{margin-top:4px;color:var(--tc-muted);font-size:10px}.tc-workbench-section-title>a{flex:0 0 auto;color:var(--tc-primary);font-size:11px;font-weight:800;text-decoration:none}.tc-workbench-alerts,.tc-workbench-completion,.tc-workbench-new-todos,.tc-workbench-my-tasks{margin:0 12px 16px}.tc-workbench-alerts{padding-bottom:0}.tc-workbench-alerts .tc-focus-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #edf0f4}.tc-workbench-alerts .tc-focus-metrics>a{position:relative;display:flex;min-height:102px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 5px;border-top:0;border-right:1px solid #edf0f4;text-align:center}.tc-workbench-alerts .tc-focus-metrics>a:last-child{border-right:0}.tc-workbench-alerts .tc-focus-metrics>a>i{width:32px;height:32px}.tc-workbench-alerts .tc-focus-metrics span{align-items:center;gap:2px}.tc-workbench-alerts .tc-focus-metrics span b{font-size:10px;white-space:nowrap}.tc-workbench-alerts .tc-focus-metrics small{font-size:8px;white-space:nowrap}.tc-workbench-alerts .tc-focus-metrics strong{min-width:0;font-size:20px;line-height:1}.tc-workbench-alerts .tc-focus-metrics>a>svg:last-child{display:none}.tc-workbench-completion{padding-bottom:4px}.tc-workbench-new-todos,.tc-workbench-my-tasks{overflow:hidden}.tc-workbench-my-tasks>header{min-height:58px}.tc-completion-layout .tc-status-legend>a{min-height:25px;display:grid;grid-template-columns:8px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:0 6px;border-radius:6px;color:#475467;text-decoration:none}.tc-completion-layout .tc-status-legend>a:hover,.tc-completion-layout .tc-status-legend>a:focus-visible{outline:0;color:var(--tc-primary);background:var(--tc-primary-soft)}.tc-completion-layout .tc-status-legend>a i{width:8px;height:8px;border-radius:2px}.tc-completion-layout .tc-status-legend>a span{font-size:11px}.tc-completion-layout .tc-status-legend>a b{text-align:right;font-size:12px}@media (max-width: 360px){.tc-workbench-hero{padding-right:14px;padding-left:14px}.tc-workbench-hero h1{font-size:22px}.tc-workbench-flow{gap:5px;padding-right:7px;padding-left:7px}.tc-workbench-flow span{font-size:10px}.tc-workbench-quick i{width:44px;height:44px}.tc-workbench-quick span{font-size:10px}}
