dialog:has(.shift-editor){width:min(1220px,97vw);max-width:none;height:min(850px,94vh);max-height:94vh;padding:0;overflow:hidden}
.shift-editor{display:flex;flex-direction:column;height:100%;min-height:0;padding:18px 20px 0}
.shift-editor header{flex-shrink:0}.shift-editor h2{font-size:22px;line-height:1.25;margin:0}.shift-editor header p{font-size:13px;color:var(--muted);margin-top:5px}
.shift-period-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:13px 0 10px;flex-shrink:0}.shift-period-controls label{font-size:12px;gap:3px}.shift-period-controls input{width:150px;padding:7px 9px;font-size:13px}.shift-period-controls button{font-size:12px;padding:8px 11px;white-space:nowrap}.shift-presets{display:flex;gap:5px;margin-left:auto}
.shift-page-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-shrink:0;font-size:12px}.shift-page-bar button{font-size:12px;padding:4px 8px}.shift-page-bar [hidden]{display:none}
.shift-grid-scroll{min-height:0;flex:1;overflow:auto;border:1px solid var(--line);border-radius:9px;background:white}.shift-grid{width:100%;min-width:830px;table-layout:fixed;border-collapse:separate;border-spacing:0}.shift-grid thead th{position:sticky;top:0;z-index:2;background:#edf3e7;padding:8px 10px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--green);border-bottom:1px solid var(--line);text-align:left}.shift-grid thead th:first-child{width:116px;left:0;z-index:3}.shift-grid thead small{display:block;font-size:11px;font-weight:400;margin-top:2px}.shift-grid tbody th{position:sticky;left:0;z-index:1;background:#fbfcf9;padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.shift-grid tbody th strong{font-size:13px;display:block}.shift-grid tbody th span{font-size:12px;color:var(--muted);display:block}.shift-grid tbody td{padding:6px 7px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;white-space:normal;min-width:0}.shift-grid select{display:block;width:100%;padding:5px 7px;font-size:12px;border-radius:5px;min-width:0;height:31px}.shift-grid select+select{margin-top:4px}.shift-grid .shift-note{display:block;max-width:100%;font-size:11px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:3px}.shift-grid tbody tr:last-child td,.shift-grid tbody tr:last-child th{border-bottom:0}.shift-grid .shift-weekend th{background:#f0f4e9}.shift-grid td.shift-changed{background:#f1f8e7}
.shift-editor-footer{flex-shrink:0;position:relative;background:#fff;padding:11px 0 14px}.shift-editor-footer .error{margin:0 0 8px;font-size:13px;max-height:80px;overflow:auto}.shift-editor-footer .error:empty{display:none}.shift-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.shift-save-row p{font-size:12px;color:var(--muted);max-width:58%}.shift-save-row button{font-size:13px;padding:8px 13px}.shift-save-row .actions{flex-shrink:0}
@media(max-width:750px){.shift-editor{padding:14px 12px 0}.shift-editor h2{font-size:19px}.shift-period-controls{gap:7px}.shift-presets{margin-left:0}.shift-page-bar{align-items:flex-start;flex-wrap:wrap}.shift-save-row{align-items:flex-start;flex-wrap:wrap}.shift-save-row p{max-width:100%}.shift-save-row .actions{margin-left:auto}.shift-grid-scroll{border-radius:6px}}
