.schedule-view{min-width:0}.schedule-mobile{display:none}.schedule-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.schedule-toolbar label{display:flex;align-items:center;gap:8px;font-weight:600}.schedule-toolbar select{min-height:var(--input-h);border:1px solid var(--line);background:var(--surface);border-radius:var(--r-input);color:var(--ink);padding:0 12px}.schedule-legend,.schedule-toolbar>span{color:var(--muted);font-size:13px}.schedule-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--r-card)}.schedule-grid{width:calc(var(--gantt-label-w) + var(--schedule-width))}.schedule-row{display:grid;grid-template-columns:var(--gantt-label-w) var(--schedule-width);min-height:68px;border-bottom:1px solid var(--line)}.schedule-label{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 14px;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;font-size:13px;cursor:pointer}.schedule-label:hover{background:var(--hover)}.schedule-label small{color:var(--muted)}.schedule-track{position:relative;min-width:0}.schedule-axis{min-height:42px;background:var(--surface-2)}.schedule-axis .schedule-label{background:var(--surface-2);cursor:default}.schedule-date{position:absolute;top:14px;padding-left:5px;white-space:nowrap;color:var(--muted);font-size:12px}.schedule-group h2{position:sticky;left:0;width:var(--gantt-label-w);margin:0;padding:12px 14px;font-size:13px;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}.schedule-today,.schedule-week{position:absolute;top:0;bottom:0;border-left:1px dashed var(--line);pointer-events:none}.schedule-today{z-index:1;border-left:1px solid var(--red)}.schedule-bar{position:absolute;top:calc(50% - 11px);height:var(--gantt-bar-h);border:0;border-radius:var(--r-gantt-bar);background:var(--neutral-status);cursor:pointer}.schedule-bar.jalan{background:var(--violet)}.schedule-bar.keblok{background:var(--red)}.schedule-bar.beres{background:var(--green)}.schedule-bar.routine{z-index:2;height:22px;background:none;border-top:2px dashed var(--neutral-status);border-radius:0;top:calc(50% - 1px);text-align:left}.schedule-bar.routine.jalan{border-top-color:var(--violet)}.schedule-bar.routine>span{position:sticky;left:calc(var(--gantt-label-w) + 6px);display:inline-block;margin-top:4px;padding:0 6px;color:var(--muted);background:var(--surface);font-size:12px;white-space:nowrap}.schedule-bar.overdue{outline:2px solid var(--red);outline-offset:1px}.schedule-bar.milestone{height:14px;top:calc(50% - 7px);border:3px solid var(--amber);border-radius:50%;background:var(--surface)}.schedule-undated{display:block;padding:24px 14px;color:var(--muted);font-size:13px}.schedule-timeline{display:grid;gap:16px}.schedule-week-group>summary{display:flex;align-items:center;gap:12px;min-height:var(--btn-h);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}.schedule-week-group>summary:before{content:"+";font-size:18px}.schedule-week-group[open]>summary:before{content:"−"}.schedule-week-group>summary>span{margin-left:auto;white-space:nowrap;font-size:13px}.schedule-week-group>div{display:grid;gap:8px}.schedule-item{display:flex;width:100%;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-list);color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.schedule-item:hover{background:var(--hover)}.schedule-item>i{width:12px;height:12px;flex:0 0 12px;border:2px solid var(--violet);border-radius:50%;margin-top:3px}.schedule-item>i.milestone{border-color:var(--amber)}.schedule-item>span{display:grid;gap:6px;min-width:0}.schedule-item strong{font-size:14px}.schedule-item small{color:var(--muted);font-size:13px}.schedule-item-meta{margin-left:auto;flex-shrink:0;justify-items:end}.schedule-item time,.schedule-status{font-size:12px;color:var(--muted)}.schedule-status.jalan{color:var(--violet)}.schedule-status.keblok{color:var(--red)}.schedule-status.beres{color:var(--green)}@media (max-width:899px){.schedule-view{--gantt-label-w:150px}.schedule-mobile{display:block}.schedule-desktop,.schedule-forced .schedule-mobile{display:none}.schedule-forced .schedule-desktop{display:block}.schedule-item,.schedule-mobile .banner{flex-wrap:wrap}.schedule-item>span:not(.schedule-item-meta){flex:1}.schedule-item-meta{width:100%;grid-template-columns:1fr auto;padding-left:24px}.schedule-item-meta time{justify-self:start}}