dialog.day-editor{width:min(790px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:0;overflow:auto;background:#1c282f;color:#edf4f7;border:1px solid #536773;border-radius:9px}
.day-editor *{box-sizing:border-box}
.day-editor [hidden]{display:none!important}
.day-editor-heading{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 13px;background:#1c282f;border-bottom:1px solid #40515b}
.day-editor-heading .eyebrow{font-size:9px;letter-spacing:1.5px;color:#a6c5cf}
.day-editor-heading h2{margin:4px 0 0;font-size:20px;text-transform:none}
.day-editor-close{flex:none;font-size:23px;line-height:1;width:34px;min-height:34px;padding:0;border:0;background:transparent!important;color:#d8e6ec}
.day-editor-body{padding:14px 20px 8px}
.day-editor-notice{margin:0 0 12px;font-size:12px;line-height:1.5;color:#b6cad4}
.day-editor-holiday{margin:0 0 10px;padding:7px 10px;border-left:2px solid #ac6676;background:#6f3c491f;font-size:12px}
.day-editor-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;margin-bottom:14px}
.day-editor-event{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;background:#21414a;border-left:3px solid #55d4df;border-radius:3px}
.day-editor-event.external{background:#3b3526;border-left-color:#e3c775}
.day-editor-event-symbol{color:#68dce3;font-size:17px;width:23px;height:23px;flex:none}.day-editor-event.external .day-editor-event-symbol{color:#e3c775}
.day-editor-event strong,.day-editor-event small{display:block;font-size:12px;overflow-wrap:anywhere}.day-editor-event small{margin-top:3px;font-size:10px;color:#c1d4da}
.day-editor-event .day-editor-draft-event{color:#f0d095;font-weight:650}
.day-editor-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:0 0 9px;margin-bottom:9px;border-bottom:1px solid #374a54}
.day-editor-selection{flex:1;min-width:130px;font-size:11px;color:#b9cbd3}
.day-editor-controls button{font-size:11px;padding:7px 10px;border-radius:4px;min-height:32px}
.day-editor-controls button[data-day-action=teach]{border-color:#589789;background:#284b45}
.day-editor-controls button[data-day-action=cancel]{border-color:#a26b77;background:#4b323c}
.day-editor-controls button[data-day-action=reset]{background:#2b3b45}
.day-editor button:disabled{opacity:.45;cursor:default}
.day-editor button:focus-visible,.day-editor input:focus-visible,.day-editor summary:focus-visible{outline:2px solid #acd7e7;outline-offset:2px}
.day-editor-location{margin-top:14px}
.day-editor-location-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:7px;border-bottom:1px solid #43555e}
.day-editor-location-heading>small{font-size:10px;color:#a7bbc6}
.day-editor label.day-editor-select-location,.day-editor label.day-editor-select-room{display:flex;align-items:center;gap:8px;margin:0;cursor:pointer;min-width:0;font-weight:600}
.day-editor label.day-editor-select-location{font-size:14px}
.day-editor input[type=checkbox]{appearance:auto;flex:none;width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:#6faeb6;cursor:pointer}
.day-editor-room-selection{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0 7px}
.day-editor label.day-editor-select-room{gap:5px;font-size:10px;color:#c4d4dc;font-weight:400}
.day-editor-select-room span{border-bottom:2px solid var(--room-color);padding-bottom:2px}
.day-editor-row{display:grid;grid-template-columns:18px 53px minmax(0,1fr) 104px 23px;align-items:center;gap:9px;padding:9px 8px;border-bottom:1px solid #344952;border-left:3px solid var(--room-color);min-height:59px;background:#23333b;cursor:pointer}
.day-editor-row:nth-child(even){background:#203039}
.day-editor-row.is-skipped{background:#1c282e;border-left-color:color-mix(in srgb,var(--room-color) 55%,#35414a)}
.day-editor-row.is-changed{background:#2b3e46}
.day-editor-row:hover{background:#2b3d46}
.day-editor-row.is-selected{background:#304951;box-shadow:inset 0 0 0 1px #63949f}
.day-editor-times{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;color:#edf4f7}
.day-editor-times small{display:block;margin-top:2px;font-size:10px;font-weight:400;color:#a9bdc8}
.day-editor-course{min-width:0}
.day-editor-course>strong{display:block;font-size:12px;line-height:1.35;overflow-wrap:anywhere;font-weight:650}
.day-editor-course>small{display:block;font-size:10px;color:#b7cbd4;line-height:1.4;margin-top:3px}
.day-editor-course .day-editor-skip-reason{color:#d3b1b8}
.day-editor-course .day-editor-published-note{color:#ebca87}
.day-editor-row-status{font-size:10px;line-height:1.4;color:#d3acb6;font-weight:600}
.day-editor-row-status.active{color:#9cddc8}
.day-editor-row-status>small{display:block;font-size:9px;color:#cddfe5;font-weight:400;margin-top:2px}
.day-editor-row .day-editor-row-undo{font-size:17px;min-height:27px;width:25px;padding:1px;border:0;background:transparent;color:#c3dde8}
.day-editor-empty{font-size:12px;color:#a6b9c4;margin:10px 0 15px}
.day-editor label.day-editor-reason{display:grid;gap:5px;margin:17px 0 13px;font-size:11px;font-weight:500}
.day-editor-reason input{width:100%;min-height:35px;padding:8px 10px;border-radius:4px;font-size:12px}
.day-editor-review{border-top:1px solid #4b626b;padding-top:11px;margin-top:8px;font-size:12px}
.day-editor-review-heading{margin-bottom:6px;font-size:12px;color:#c2e6e3}
.day-editor-review p{margin:4px 0;font-size:11px;line-height:1.5}
.day-editor-impact{padding:8px 0;border-bottom:1px solid #344952}
.day-editor-impact>strong{font-size:11px}
.day-editor-impact details,.day-editor-public-impact{font-size:10px;color:#acc6d2;margin-top:5px}
.day-editor details summary{cursor:pointer;padding:3px 0}
.day-editor-shifts{display:flex;gap:4px 12px;flex-wrap:wrap;margin:4px 0 3px;padding-left:11px;color:#bfd1d9}
.day-editor-shifts span{display:block;font-variant-numeric:tabular-nums}
.day-editor-review .day-editor-warning{color:#f0d095;border-left:2px solid #b59959;padding:5px 9px;background:#493e292d;margin-top:8px}
.day-editor-footer{position:sticky;bottom:0;z-index:2;background:#1c282ff5;backdrop-filter:blur(8px);padding:10px 20px 12px;border-top:1px solid #435661}
.day-editor-save-actions{display:flex;justify-content:flex-end;gap:8px}
.day-editor-save-actions button{font-size:12px;min-height:36px;border-radius:4px;padding:8px 13px}
.day-editor-footer>small{display:block;margin-top:7px;font-size:10px;line-height:1.4;color:#a5bdc9}
.day-editor-footer .day-editor-error{color:#ffb9c5}.day-editor-footer .day-editor-message{color:#a9dfcd}
.day-editor-error:empty,.day-editor-message:empty{display:none}
.day-editor-error,.day-editor-message{font-size:12px;line-height:1.45;margin:0 0 8px}
.day-editor-discard{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 20px 0;padding:10px;border:1px solid #ad8590;background:#4b323b;font-size:12px}
.day-editor-discard span{flex:1;min-width:200px}.day-editor-discard button{font-size:11px;min-height:32px}
@media(max-width:650px){
 dialog.day-editor{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:7px}
 .day-editor-heading{padding:13px 12px 11px}.day-editor-heading h2{font-size:18px;line-height:1.25}
 .day-editor-body{padding:12px 10px 7px}.day-editor-notice{font-size:11px}
 .day-editor-selection{flex-basis:100%;font-size:11px;padding-bottom:3px}
 .day-editor-controls{gap:5px}.day-editor-controls button{font-size:11px;min-height:40px;padding:6px 8px;flex:1}
 .day-editor-row{grid-template-columns:18px 44px minmax(0,1fr) 22px;gap:7px;padding:9px 6px}
 .day-editor-course>strong{font-size:12px}.day-editor-course>small{font-size:10px}
 .day-editor-row-status{grid-column:3;grid-row:2;font-size:10px;margin-top:-2px}
 .day-editor-row-status>small{display:inline;margin-left:6px}
 .day-editor-row>input,.day-editor-row>.day-editor-times{grid-row:1 / span 2}
 .day-editor-row>.day-editor-row-undo{grid-column:4;grid-row:1 / span 2}
 .day-editor-times{font-size:11px}.day-editor-times small{font-size:10px}
 .day-editor input[type=checkbox]{width:18px;height:18px}
 .day-editor-room-selection{gap:4px 12px;padding:5px 0}.day-editor label.day-editor-select-room{min-height:32px}
 .day-editor-footer{padding:10px}.day-editor-save-actions{gap:6px}.day-editor-save-actions button{min-height:43px;padding:8px;font-size:11px;flex:1}
 .day-editor-save-actions .primary{flex:1.45}.day-editor-footer>small{font-size:9px}
 .day-editor-discard{margin:10px;padding:9px}.day-editor-discard button{min-height:38px}
}
@media print{dialog.day-editor{display:none!important}}
.viewer-day>header .viewer-day-open{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;margin:0;min-height:0;border:0;background:transparent;box-shadow:none;border-radius:0;color:inherit;text-align:left;font:inherit}
.viewer-day>header .viewer-day-open:hover{background:transparent;box-shadow:none;color:#d4f2f2}
.viewer-day>header .viewer-day-open:focus-visible{outline:2px solid #a9dce1;outline-offset:4px}
.viewer-day>header .viewer-day-open>h2{margin:0}

.day-editor-review{scroll-margin-top:90px}
.mobile-day-edit{margin:0 0 12px;min-height:40px}
