/* Superfícies de dados; calendário e barras não representam execução real. */
.scrim:has(> .schedule-workspace) { padding:0; }
.schedule-workspace.modal.wide { width: min(1500px,calc(100vw - var(--sp-4))); min-width:0; max-width: none; height: calc(100dvh - var(--sp-4)); min-height:0; max-height: none; display:flex; flex-direction:column; overflow:hidden; resize:none; }
.schedule-workspace.modal.wide::after { display:none; }
.schedule-workspace .modal-head,.schedule-workspace .modal-foot { flex:none; }
.schedule-workspace .modal-body { flex:1; min-height:0; overflow:auto; }
.schedule-workspace .modal-foot { border-top:1px solid var(--line); background:var(--surface); }
.schedule-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-3); }
.schedule-fields > :nth-child(n+4) { grid-column:1/-1; }
.schedule-scroll { min-width:0; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:var(--r); }
.schedule-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.schedule-table { width:100%; min-width:850px; border-collapse:collapse; font-size:var(--text-sm); line-height:var(--leading-normal); }
.schedule-table caption { text-align:left; color:var(--text-2); padding:var(--gap-3); }
.schedule-table th,.schedule-table td { text-align:left; vertical-align:top; padding:var(--gap-3); border-top:1px solid var(--line); overflow-wrap:anywhere; }
.schedule-table thead th { color:var(--text-3); font-weight:500; background:var(--sunken); }
.schedule-table tbody th { max-width:260px; font-weight:600; }
.schedule-table .hint { margin:var(--gap-2) 0 0; }
.schedule-edit-table { min-width:1050px; }
.schedule-edit-table .input { min-width:80px; }
.schedule-edit-table td:first-child { min-width:230px; }
.schedule-edit-table td:nth-child(2) { min-width:140px; }
.schedule-edit-table .field { margin:0; }
.schedule-edit-table td:nth-child(-n+3) > .field label,.schedule-edit-table td:nth-child(5) label,.schedule-edit-table td:nth-child(6) label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.schedule-edit-table td:nth-child(3) { width:100px; }
.schedule-edit-table td:nth-child(3) .input { width:90px; }
.schedule-scene { margin-top:var(--sp-2); }
.schedule-scene summary { cursor:pointer; color:var(--text-3); }
.schedule-preview-side { min-width:0; display:grid; align-content:start; gap:var(--sp-3); }
.schedule-preview-side > p { margin:0; }
.schedule-editor-grid { display:grid; gap:var(--sp-5); min-width:0; }
@media(min-width:1200px) { .schedule-editor-grid { grid-template-columns:minmax(0,1fr) 300px; align-items:start; } .schedule-preview-side { position:sticky; top:0; } }
.schedule-dependencies { min-width:150px; }
.schedule-dependencies > summary { cursor:pointer; padding:var(--gap-2) 0; }
.schedule-dependencies > .field,.schedule-dependencies > .stack-sm { margin-top:var(--sp-2); }
.schedule-proposal { display:grid; gap:var(--sp-3); min-width:0; }
.schedule-proposal h4,.schedule-proposal > p { margin:0; }
.schedule-gantt { min-width:560px; padding:var(--gap-3); }
.schedule-gantt-ruler { height:32px; position:relative; border-bottom:1px solid var(--line); color:var(--text-3); font-size:var(--text-sm); }
.schedule-gantt-ruler span { position:absolute; white-space:nowrap; }
.schedule-gantt-label { font-size:var(--text-sm); padding:var(--gap-2) 0; overflow-wrap:anywhere; position:sticky; left:0; width:min(400px,90vw); }
.schedule-gantt-track { height:20px; position:relative; background:var(--sunken); border-radius:var(--r-s); }
.schedule-gantt-bar { position:absolute; height:100%; min-width:1px; background:var(--accent); border-radius:var(--r-s); }
.schedule-gantt-bar.is-late { background:var(--pend); }
.schedule-preview[data-stale=true] .schedule-proposal { opacity:.5; }
.schedule-preview { min-width:0; }
.schedule-preview .schedule-gantt { min-width:0; }
.schedule-availability { border:1px solid var(--line); border-radius:var(--r); padding:var(--gap-3); }
.schedule-availability > summary { cursor:pointer; }
.schedule-availability-list { margin-top:var(--sp-3); display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--sp-3); }
.schedule-weekdays { display:flex; flex-wrap:wrap; gap:var(--gap-3); }
.schedule-resource-add { display:grid; align-content:start; gap:var(--gap-3); padding:var(--gap-3); }
@media(max-width:680px) { .schedule-workspace.modal.wide { width:100vw; height:100dvh; border-radius:0; } .schedule-workspace .modal-body { padding:var(--sp-3); } .schedule-fields { grid-template-columns:minmax(0,1fr); } .schedule-fields > * { grid-column:1; } .schedule-workspace .modal-foot { padding:var(--sp-3); } }
