.task-schedule{min-width:0;color:#24262b}.task-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0}.task-schedule-tools{display:flex;align-items:center;gap:12px;font-size:12px;color:#656a73}.task-schedule-tools .text-button{font-size:12px;padding:4px 0;color:#0068c9}
.task-schedule-viewport{--schedule-title:224px;width:100%;max-height:min(55vh,600px);overflow:auto;overscroll-behavior:contain;border:1px solid #e1e6ed;border-radius:10px;background:#fff;scrollbar-gutter:stable}
.task-schedule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;margin:0;font-size:12px}.task-schedule-table th,.task-schedule-table td{box-sizing:content-box;padding:0;border:0;border-bottom:1px solid #e8ecf2;text-align:left;font-weight:400}
.task-schedule-table thead th{position:sticky;top:0;z-index:3;background:#f4f6f9;color:#586270}.task-schedule-table .task-schedule-title{position:sticky;left:0;z-index:2;width:var(--schedule-title);min-width:var(--schedule-title);max-width:var(--schedule-title);background:#fff;border-right:1px solid #dce2eb;box-shadow:3px 0 5px #2b416006}.task-schedule-table thead .task-schedule-title{z-index:4;background:#f4f6f9;box-sizing:border-box;padding:0 12px;font-size:12px;font-weight:600;height:38px}
.task-schedule-title>button{display:block;box-sizing:border-box;width:100%;padding:9px 11px;border:0;background:transparent;color:#24262b;text-align:left;font:inherit;cursor:pointer}.task-schedule-title>button:hover{background:#f3f7fc}.task-schedule-title strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:12px;line-height:1.5;font-weight:550;margin:0 10px}.task-schedule-title button>span{display:block;margin:4px 10px 0;color:#656a73;font-size:11px}
.task-schedule-axis{position:relative;height:38px}.task-schedule-axis>span{position:absolute;top:0;height:38px;display:flex;align-items:center;justify-content:center;border-left:1px solid #dce2eb;box-sizing:border-box;white-space:nowrap;font-size:11px}
.task-schedule-track{position:relative;height:76px;overflow:hidden;background-image:linear-gradient(to right,#edf0f5 1px,transparent 1px)}
.task-schedule-bar{position:absolute;top:15px;height:22px;box-sizing:border-box;min-width:1px;border:1px solid #a6c8ee;border-radius:5px;background:#dcecff;color:#215b95;cursor:pointer;font:inherit;font-size:10px;overflow:hidden;white-space:nowrap;text-align:center;padding:0 3px}.task-schedule-bar.done{background:#e3f2e8;border-color:#a2cfb1;color:#286e3f}.task-schedule-bar.review{background:#fff0d6;border-color:#e5c791;color:#85580e}.task-schedule-bar.late{background:#fbe7e6;border-color:#e3adab;color:#a13131}.task-schedule-bar.closed{background:#eceef1;border-color:#c7cbd2;color:#626873}.task-schedule-bar.blocked{border-style:dashed}.task-schedule-bar.milestone{height:12px;top:19px;transform:translateX(-50%) rotate(45deg);border-radius:2px;padding:0}
.task-schedule-date-note{position:absolute;bottom:8px;left:10px;color:#5f6977;font-size:10px;line-height:1.5;white-space:nowrap}.task-schedule-today{position:absolute;top:0;bottom:0;width:1.5px;background:#c55050;z-index:1;pointer-events:none}
.task-schedule-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 16px;color:#656a73;font-size:11px}.task-schedule-legend>span{display:inline-flex;align-items:center;gap:5px}.task-schedule-legend>span:last-child{margin-left:auto}.task-schedule-legend i{width:8px;height:8px;border-radius:2px;background:#7baee4}.task-schedule-legend i.done-dot{background:#428653}.task-schedule-legend i.late-dot{background:#bd5652}.task-schedule-legend i.today-dot{background:#c55050;width:2px;height:10px}
.task-schedule-pending{font-size:12px;color:#5f6977;border-top:1px solid #e1e6ed;padding-top:12px;margin-top:14px}.task-schedule-pending summary{cursor:pointer}.task-schedule-pending>button{display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;width:100%;padding:10px 5px;border:0;border-bottom:1px solid #e5eaf0;color:#293442;background:transparent;font:inherit;text-align:left;cursor:pointer}.task-schedule-pending strong{font-weight:550;overflow-wrap:anywhere}.task-schedule-pending>button>span{font-size:11px;color:#656a73;flex:0 0 auto}
.task-schedule button:focus-visible,.task-schedule-viewport:focus-visible,.task-schedule-pending summary:focus-visible{outline:2px solid #0068c9;outline-offset:2px}.task-graph-schedule>summary{cursor:pointer;color:#3f6089;font-size:13px;font-weight:600;padding:10px 0}.task-graph-schedule{margin-top:18px;border-top:1px solid #dce3ed}
.task-schedule-mobile-hint{display:none;margin:0 0 10px;color:#656a73;font-size:11px;line-height:1.6}
@media(max-width:760px){.task-schedule-viewport{--schedule-title:166px;max-height:360px}.task-schedule-tools{flex-basis:100%;font-size:11px;justify-content:space-between}.task-schedule-title strong{font-size:11px;margin:0 8px}.task-schedule-title button>span{font-size:10px;margin-left:8px}.task-schedule-pending>button{flex-wrap:wrap;gap:4px}.task-schedule-pending>button>span{flex-basis:100%}.task-schedule-legend>span:last-child{margin-left:0;flex-basis:100%}.task-schedule .task-graph-help{font-size:11px}.task-schedule-mobile-hint{display:block}}
