/* Scheduling workflow additions: scoped to the existing schedule table and panel. */
.schedule-table .schedule-entry-note {
  display: block;
  color: var(--muted, #64746d);
  font-size: 11px;
  white-space: normal;
  max-width: 160px;
}
.schedule-table .schedule-reference {
  display: flex;
  flex-direction: column;
  color: var(--muted, #64746d);
  opacity: 0.8;
  font-size: 10px;
  line-height: 1.5;
  white-space: normal;
}
.schedule-table th.calendar-holiday {
  background: #f8e8e4;
  color: #9c493f;
}
.schedule-table th.calendar-workday {
  background: #e4eee8;
  color: #356b51;
}
.scheduling-workflow details {
  margin-top: 12px;
}
.scheduling-workflow summary {
  cursor: pointer;
  padding: 8px 0;
}
.scheduling-workflow .schedule-workflow-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--border, #e0e6e1);
}
.scheduling-workflow .schedule-workflow-row > span {
  flex: 1;
  min-width: 180px;
}
.scheduling-workflow #schedule-review li {
  margin: 6px 0;
}
@media print {
  .scheduling-workflow {
    display: none !important;
  }
}
/* Compact roster workspace, matching the supplied weekly grid. */
.schedule-workspace {padding:16px;overflow:visible}
.schedule-toolbar {gap:8px;margin-bottom:14px}
.schedule-toolbar button,.schedule-toolbar a {padding:8px 12px;min-height:38px;font-size:13px}
.schedule-workspace .table-wrap {max-height:65vh;border:1px solid #cdd7db;border-radius:4px}
.schedule-workspace .schedule-table {table-layout:fixed;min-width:1550px;width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.schedule-workspace .schedule-table th,.schedule-workspace .schedule-table td {border-right:1px solid #d3dade;border-bottom:1px solid #d3dade;padding:5px 7px;height:42px}
.schedule-workspace .schedule-table th {background:#71818a;color:white;position:sticky;top:0;z-index:3;height:55px}
.schedule-workspace .schedule-table th.weekend {background:#4b5e68;color:#ffe179}
.schedule-workspace .schedule-table th.calendar-holiday {background:#8e5555;color:#fff0bc}
.schedule-workspace .schedule-table th.calendar-workday {background:#476f64;color:white}
.schedule-workspace .schedule-table tr:not(.schedule-group)>:first-child {width:42px;min-width:42px;left:0}
.schedule-workspace .schedule-table tr:not(.schedule-group)>:nth-child(2) {width:88px;min-width:88px;left:42px}
.schedule-workspace .schedule-table th:nth-child(-n+2) {z-index:5;background:#71818a}
.schedule-workspace .schedule-table tbody tr:nth-child(even) td {background:#f4f6f7}
.schedule-workspace .schedule-table tbody .schedule-group td {background:#dce2e5;font-weight:700;color:#40555c;height:30px}
.schedule-workspace .schedule-cell {display:flex;align-items:center;position:relative;min-height:32px;gap:2px;flex-wrap:wrap}
.schedule-workspace .schedule-pick {background:transparent;color:#223e46;border:0;box-shadow:none;padding:4px;min-height:30px;flex:1;text-align:left;font-size:14px}
.schedule-placeholder {opacity:0}
.schedule-pick:hover .schedule-placeholder,.schedule-pick:focus .schedule-placeholder {opacity:1}
.night-shift {color:#d35349!important}
.schedule-savebar {position:sticky;bottom:0;z-index:6;display:flex;align-items:center;justify-content:flex-end;gap:12px;background:#fff;padding:14px 0;border-top:1px solid #dce5e8;margin-top:12px}
.schedule-savebar>span {margin-right:auto;font-size:12px;color:var(--muted)}
@media(max-width:700px){.schedule-savebar>span{display:none}.schedule-workspace{padding:10px}}
@media print{.schedule-savebar,.schedule-toolbar,.schedule-context-menu{display:none!important}.schedule-workspace .table-wrap{max-height:none}}
.schedule-workspace .schedule-group-toggle {padding:0 4px;background:transparent;border:0;color:inherit;font-size:13px;min-height:24px;box-shadow:none}
.schedule-workspace .schedule-table tr[hidden] {display:none}
.schedule-workspace .schedule-table td.schedule-cell-selected {box-shadow:inset 0 0 0 2px #477d86;background:#edf5f5}
.schedule-workspace .schedule-table [data-schedule-cell] {touch-action:manipulation}
.schedule-workspace .schedule-table [data-schedule-cell]:focus-visible {outline:2px solid #477d86;outline-offset:-2px}
.schedule-context-menu {position:fixed;z-index:80;box-sizing:border-box;width:292px;max-width:calc(100vw - 16px);overflow:auto;padding:8px;background:#fff;border:1px solid #cbd8dc;border-radius:8px;box-shadow:0 6px 24px #263e4326;color:#29454b;font-size:12px;line-height:1.4}
.schedule-context-heading {display:flex;align-items:center;gap:8px;justify-content:space-between;padding:2px 2px 7px}
.schedule-context-heading strong {font-size:12px;white-space:nowrap}
.schedule-context-heading span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#64746d)}
.schedule-context-menu button {display:block;min-width:0;min-height:28px;height:28px;margin:0;padding:3px 6px;border:1px solid #dce5e8;border-radius:4px;background:#f7f9fa;color:inherit;box-shadow:none;font-size:12px;line-height:20px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;touch-action:manipulation}
.schedule-context-menu button:hover {background:#e9f1f2;border-color:#adc6cc}
.schedule-context-menu button:focus-visible {outline:2px solid #477d86;outline-offset:1px}
.schedule-context-menu button:disabled {opacity:.4;cursor:default}
.schedule-context-modes {display:flex;gap:4px;margin-bottom:7px}
.schedule-context-modes button {flex:1}
.schedule-context-modes button[aria-pressed="true"] {background:#e1eff0;border-color:#8db3b9;color:#255d67;font-weight:650}
.schedule-context-shifts {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.schedule-context-shifts button {width:100%;padding-inline:3px;font-size:13px}
.schedule-context-actions {display:flex;gap:6px;border-top:1px solid #e2e9eb;margin-top:8px;padding-top:7px}
.schedule-context-actions button {flex:1;border-color:transparent;background:transparent;font-size:11px}
.schedule-context-actions [data-context-action="clear"] {color:#a54d43}
.schedule-workspace .schedule-inline-note-form {flex:1 0 100%;min-width:0;display:grid;gap:4px;padding:5px 0 0;margin:0;text-align:left;white-space:normal}
.schedule-workspace .schedule-inline-note-form label {display:grid;gap:3px;margin:0;font-size:10px;font-weight:500}
.schedule-workspace .schedule-inline-note-form textarea,.schedule-workspace .schedule-inline-note-form select {box-sizing:border-box;display:block;width:100%;min-width:0;min-height:28px;padding:4px;margin:0;border:1px solid #afc5cb;border-radius:3px;background:#fff;font-size:12px;line-height:1.4}
.schedule-workspace .schedule-inline-note-form textarea {min-height:52px;max-height:120px;resize:vertical}
.schedule-workspace .schedule-inline-note-form .error {font-size:10px;margin:0;line-height:1.4}
.schedule-inline-note-actions {display:flex;gap:4px}
.schedule-workspace .schedule-inline-note-actions button {min-width:0;min-height:25px;padding:2px 7px;font-size:10px;line-height:20px;flex:1}
.schedule-workspace .schedule-inline-note-actions [data-inline-note-cancel] {background:#eef2f3;color:#526b72;border:1px solid #d8e3e6}
.schedule-workspace .schedule-entry-note {cursor:text;overflow-wrap:anywhere}
.schedule-review-results {margin:10px 0;padding:10px 12px;background:#f5f8f8;border:1px solid #dae5e7;border-radius:5px;font-size:12px}
.schedule-review-results .schedule-review-tools {display:flex;align-items:flex-start;gap:12px}
.schedule-review-results details {flex:1;min-width:0}
.schedule-review-results summary {cursor:pointer;font-weight:600;padding:5px 0}
.schedule-review-results button {flex-shrink:0;font-size:12px;min-height:30px;padding:4px 9px}
.schedule-review-results .note {margin:0 0 7px;font-size:12px}
.schedule-review-results .schedule-review-error {color:#a54d43;font-size:12px;margin:6px 0 0}
@media(max-width:700px){.schedule-review-results .schedule-review-tools{display:block}.schedule-review-results button{margin-top:6px}}
