/* polish-schedule */
.schedule-editor { max-width: min(1500px, 96vw); font-family: "Montserrat", system-ui, sans-serif; }
.schedule-heading h2 { color: #0b3a4c; letter-spacing: -0.01em; }
.schedule-plan-badge { background: #e8f1f4; color: #0b3a4c; border-radius: 999px; padding: 4px 12px; font-weight: 600; font-size: 12px; white-space: nowrap; }
.schedule-empty { padding: 32px 16px; text-align: center; color: #5b7480; border: 1px dashed #c3d3da; border-radius: 12px; margin-bottom: 12px; }
.schedule-empty b { display: block; color: #0b3a4c; font-size: 16px; margin-bottom: 6px; }
.schedule-empty ~ .schedule-labels { display: none; }
.schedule-row { border-radius: 12px; transition: box-shadow .15s ease, background .15s ease; }
.schedule-row.active-person { box-shadow: 0 0 0 2px #0b3a4c33; }
.schedule-row:not(.schedule-labels):hover { background: #f6fafb; }
.schedule-mini span { display: inline-block; min-width: 26px; text-align: center; margin-right: 2px; }
.schedule-candidate-option { transition: border-color .12s ease, background .12s ease; }
.schedule-candidate-option:hover:not(:disabled) { border-color: #0b3a4c; }
.schedule-candidate-option.selected { border-color: #0b3a4c; background: #e8f1f4; }
.schedule-candidate-option.unavailable, .schedule-candidate-option:disabled { opacity: .55; cursor: not-allowed; }
.schedule-candidate-option small { display: block; color: #5b7480; }
.schedule-effect b { font-size: 18px; color: #0b3a4c; font-variant-numeric: tabular-nums; }
.schedule-totals b { font-variant-numeric: tabular-nums; }
.schedule-footer .data-note[role="alert"] { color: #e31e25; font-weight: 600; }
.schedule-editor button:focus-visible, .schedule-editor select:focus-visible, .schedule-editor input:focus-visible { outline: 2px solid #e31e25; outline-offset: 2px; }
.schedule-editor .btn-primary:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 1100px) {
  .schedule-person-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .schedule-person-tabs button { white-space: nowrap; }
  .schedule-result { flex-wrap: wrap; gap: 8px; }
}
@media (min-width: 1600px) {
  .schedule-editor { font-size: 15px; }
}
@media print {
  .overlay.schedule-overlay { position: static; background: none; }
  .schedule-editor { box-shadow: none; max-height: none; max-width: none; }
  .schedule-footer button, .btn-x, .schedule-person-tabs { display: none !important; }
}

.schedule-need { color: #a5121a; font-weight: 700; font-size: 11.5px; margin: 0 0 8px; }
.schedule-warn { background: #fff7ed; color: #8a4a08; border-radius: 10px; padding: 8px 12px; font-weight: 700; }
.schedule-candidate { background: #eef3f6; border-radius: 10px; padding: 8px 10px; font-size: 11px; font-weight: 600; color: #2c424d; line-height: 1.5; margin-top: 8px; }
.schedule-candidate span { margin-right: 10px; display: inline-block; }
.schedule-editor .btn-x { min-width: 42px; min-height: 42px; }
.schedule-editor .btn-primary { background: #e31e25; }
@media (max-width: 820px) {
  .schedule-editor { max-width: 100vw; width: 100vw; border-radius: 0; }
  .schedule-row { display: block !important; padding: 12px 14px; }
  .schedule-row > * { margin-bottom: 10px; }
  .schedule-labels { display: none !important; }
  .schedule-actions { flex-wrap: wrap; }
  .schedule-actions .pill { min-height: 44px; min-width: 44px; }
  .schedule-candidate-options { display: grid; grid-template-columns: 1fr; }
  .schedule-candidate-option { min-height: 44px; }
  .schedule-effect { text-align: left; }
  .schedule-totals { display: flex; flex-wrap: wrap; gap: 8px 20px; width: 100%; }
  .schedule-footer .btn { flex: 1 1 140px; min-height: 48px; }
  .schedule-all { flex-wrap: wrap; gap: 8px; }
}

.schedule-candidate-option.unavailable small, .schedule-candidate-option:disabled small { color: #9a3b2e; font-weight: 600; }

.schedule-current-comment { margin:4px 0;font-size:11px;line-height:1.4;color:#617785;overflow-wrap:anywhere; }

/* Date text follows the interval state rather than the native select's cached paint. */
.schedule-date-control { position:relative;min-width:0;flex:1 1 0; }
.schedule-date-control select { display:block;width:100%;appearance:none;-webkit-appearance:none;color:transparent!important;-webkit-text-fill-color:transparent; }
.schedule-date-control select option { color:#0b3a4c;-webkit-text-fill-color:#0b3a4c; }
.schedule-date-label { position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 10px;pointer-events:none;color:#0b3a4c;font-size:12px;font-weight:600;white-space:nowrap; }
.schedule-date-text { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.schedule-date-chevron { font-size:14px;color:#6f8491; }

.schedule-replacement-mode { display:flex;gap:4px;padding:4px;margin:0 0 12px;border:1px solid #d8e2e7;border-radius:10px;background:#f5f8fa; }
.schedule-replacement-mode .schedule-mode-choice { display:flex;justify-content:center;align-items:center;flex:1;min-width:0;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#5b707b;font-size:12px;font-weight:600;cursor:pointer;text-align:center;box-shadow:none; }
.schedule-replacement-mode .schedule-mode-choice.on,.schedule-replacement-mode .schedule-mode-choice.selected { border-color:#0b3a4c;background:#0b3a4c;color:#fff; }
.absence-replacement-choice { margin:14px 0; }
.absence-replacement-choice>b { display:block;margin-bottom:8px;font-size:12px;color:#5b707b; }
.schedule-remaining {padding:16px 24px;background:#f1f7fa;border-top:1px solid #d8e2e7;}
.schedule-remaining>p {font-size:12px;color:#627b88;margin:6px 0 12px;}
.schedule-tail {display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:12px 14px;margin-top:8px;background:#fff;border:1px solid #cbdce5;border-radius:10px;color:#0b3a4c;text-align:left;cursor:pointer;}
.schedule-tail:hover {border-color:#0b3a4c;background:#f8fcff;}
.schedule-tail span {display:grid;gap:4px;}.schedule-tail small {color:#627b88;}.schedule-tail strong {font-size:12px;white-space:nowrap;}

/* Compact batch editor: one interval at a time, all changes stay in the shared draft. */
.schedule-editor {width:1180px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border-radius:16px;}
.schedule-editor .schedule-heading {padding:12px 18px;gap:12px;}
.schedule-editor .schedule-heading h2 {font-size:19px;margin:0;}
.schedule-editor .schedule-heading p {margin:4px 0 0;font-size:11px;}
.schedule-editor .schedule-heading .btn-x {width:34px;height:34px;min-width:34px;min-height:34px;}
.schedule-editor .schedule-all {padding:8px 18px;gap:6px;}
.schedule-editor .schedule-all .pill {min-height:30px;padding:5px 10px;line-height:18px;}
.schedule-editor .schedule-person-tabs {display:flex;flex:none;gap:6px;padding:10px 18px;overflow:auto;background:#fff;border-bottom:1px solid #e1e8ec;scroll-padding-inline:18px;}
.schedule-editor .schedule-person-tabs button {flex:none;white-space:nowrap;min-height:32px;padding:6px 12px;border:1px solid #d8e2e7;border-radius:999px;background:#fff;color:#506c7b;font-size:11px;font-weight:600;}
.schedule-editor .schedule-person-tabs button.on {background:#0b3a4c;border-color:#0b3a4c;color:#fff;}
.schedule-editor .schedule-body {padding:12px 16px;}
.schedule-editor .schedule-row {display:none!important;}
.schedule-editor .schedule-row.active-person {display:grid!important;grid-template-columns:260px minmax(0,1fr);gap:12px 20px;padding:14px;background:#fff;border:1px solid #e0e8ed;border-radius:12px;box-shadow:none;}
.schedule-editor .schedule-row.active-person>div {min-width:0;margin:0;}
.schedule-editor .schedule-row.active-person>div:first-child {grid-column:1;grid-row:1;}
.schedule-editor .schedule-action-cell {grid-column:1;grid-row:2;}
.schedule-editor .schedule-replacements {grid-column:2;grid-row:1/4;}
.schedule-editor .schedule-row.active-person .schedule-effect {grid-column:1;grid-row:3;padding:8px 10px;border:1px solid #e1e8ec;background:#f7fafb;border-radius:8px;text-align:left;}
.schedule-editor .schedule-effect b {font-size:16px;}
.schedule-editor .schedule-effect p {display:inline;margin:0 0 0 8px;}
.schedule-editor .schedule-effect small {display:block;margin-top:4px;}
.schedule-editor .schedule-role {margin:3px 0 10px 30px;font-size:11px;}
.schedule-editor .schedule-field-caption {font-size:9px;margin:5px 0;}
.schedule-editor .schedule-dates {margin:5px 0 8px;gap:6px;}
.schedule-editor .schedule-dates select {min-height:32px;height:32px;}
.schedule-editor .schedule-mini {display:flex;align-items:center;flex-wrap:wrap;gap:3px;padding:3px 0;line-height:18px;}
.schedule-editor .schedule-mini span {min-width:20px;height:20px;padding:0 3px;margin:0;box-sizing:border-box;border-radius:5px;}
.schedule-editor .schedule-actions {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;}
.schedule-editor .schedule-actions .pill {min-height:40px;padding:5px 2px;}
.schedule-editor .schedule-actions .pill b {font-size:12px;}.schedule-editor .schedule-actions .pill small {font-size:8px;}
.schedule-editor .schedule-action-hint {font-size:10px;line-height:1.45;margin:6px 0;}
.schedule-editor .schedule-replacement-mode {padding:4px;margin-bottom:8px;gap:4px;}
.schedule-editor .schedule-replacement-mode .schedule-mode-choice {min-height:32px;padding:6px 10px;font-size:11px;}
.schedule-editor .schedule-candidate-heading {margin:6px 0;}
.schedule-editor .schedule-candidate-options {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:300px;overflow:auto;padding:3px;scroll-padding:3px;}
.schedule-editor .schedule-candidate-option {padding:8px;min-height:64px;border-radius:8px;}
.schedule-editor .schedule-candidate-option.selected {padding:7px;}
.schedule-editor .schedule-candidate-option b {font-size:11px;}
.schedule-editor .schedule-candidate-option small {font-size:10px;line-height:1.4;}
.schedule-editor .schedule-candidate-option strong {font-size:11px;}
.schedule-editor .schedule-candidate {padding:7px 9px;font-size:10px;gap:4px 10px;}
.schedule-editor .schedule-candidate span {margin:0;}.schedule-editor .schedule-warn {padding:5px 8px;border-radius:6px;}
.schedule-editor .schedule-no-replacement {padding:10px;font-size:11px;}
.schedule-editor .schedule-footer {padding:10px 18px;}
.schedule-editor .schedule-footer>label {font-size:11px;gap:10px;}
.schedule-editor .schedule-footer input {min-height:32px;padding:6px 9px;box-sizing:border-box;}
.schedule-editor .schedule-result {margin-top:8px;gap:8px;}
.schedule-editor .schedule-result>.schedule-totals {flex:1 1 auto;}
.schedule-editor .schedule-totals {gap:5px 18px;}.schedule-editor .schedule-totals>div {gap:2px;}
.schedule-editor .schedule-totals b {font-size:14px;}.schedule-editor .schedule-totals small {font-size:8px;}
.schedule-editor .schedule-totals p {display:none;}
.schedule-editor .schedule-result .btn {min-height:36px;padding:7px 12px;font-size:11px;}
.schedule-editor .schedule-next-person {display:none;}
.schedule-editor .schedule-remaining {margin-top:10px;padding:10px;border:1px solid #dce7ed;border-radius:10px;}
.schedule-editor .schedule-remaining>p {margin:4px 0 8px;font-size:11px;}
.schedule-editor .schedule-tail {padding:8px 10px;margin-top:6px;}
@media(max-width:1000px) {.schedule-editor .schedule-row.active-person {grid-template-columns:240px minmax(0,1fr);gap:12px;}.schedule-editor .schedule-candidate-options {grid-template-columns:minmax(0,1fr);}.schedule-editor .schedule-result>.schedule-totals {flex-basis:auto;}.schedule-editor .schedule-effect .schedule-mobile-label {display:none;}}
@media(max-width:700px) {
 .schedule-overlay {padding:0;}.schedule-editor {width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;}
 .schedule-editor .schedule-heading {padding:10px 12px;}.schedule-editor .schedule-heading h2 {font-size:17px;}
 .schedule-editor .schedule-all {padding:8px 12px;gap:5px;}.schedule-editor .schedule-all>b {flex-basis:auto;font-size:9px;}
 .schedule-editor .schedule-person-tabs {padding:8px 12px;scroll-padding-inline:12px;}.schedule-editor .schedule-person-tabs button {min-height:34px;padding:7px 10px;font-size:10px;}
 .schedule-editor .schedule-body {padding:10px;}.schedule-editor .schedule-row.active-person {grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;}
 .schedule-editor .schedule-row.active-person>div {grid-column:1!important;grid-row:auto!important;}
 .schedule-editor .schedule-action-cell .schedule-mobile-label {display:none;}.schedule-editor .schedule-action-hint {margin:5px 0;}
 .schedule-editor .schedule-candidate-options {max-height:none;overflow:visible;}
 .schedule-editor .schedule-footer {padding:8px 12px;}.schedule-editor .schedule-footer>label {margin:0;}.schedule-editor .schedule-footer>label input {font-size:11px;}
 .schedule-editor .schedule-result {gap:6px;}.schedule-editor .schedule-result>.schedule-totals {flex-basis:100%;}.schedule-editor .schedule-totals {gap:6px 14px;}
 .schedule-editor .schedule-totals small {font-size:8px;}.schedule-editor .schedule-result .btn {min-height:38px;}
 .schedule-editor .schedule-result>.btn-outline:not(.schedule-next-person) {display:block;}.schedule-editor .schedule-result .btn-primary {flex:1;}
}
@media(hover:none) and (pointer:coarse) {.schedule-editor .schedule-actions .pill,.schedule-editor .schedule-all .pill,.schedule-editor .schedule-replacement-mode .schedule-mode-choice {min-height:44px;}}

.schedule-editor .schedule-row.active-person>div.schedule-person-panel {grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:260px 250px minmax(0,1fr);gap:20px;padding-bottom:10px;border-bottom:1px solid #e5edf1;}
.schedule-editor .schedule-person-panel>div {min-width:0;}.schedule-editor .schedule-person-panel .schedule-field-caption {margin-top:0;}
.schedule-editor .schedule-person-panel .schedule-role {margin-bottom:0;}
.schedule-editor .schedule-replacements {grid-row:2;}
.schedule-editor .schedule-row.active-person .schedule-effect {grid-row:2;align-self:end;margin-top:88px;display:block;}
.schedule-editor .schedule-actions .pill {display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;grid-column:auto!important;min-width:0;white-space:normal;}
.schedule-editor .schedule-actions .pill small {display:block;text-align:center;line-height:11px;max-width:100%;overflow-wrap:anywhere;}
@media(max-width:1000px) {.schedule-editor .schedule-row.active-person>div.schedule-person-panel {grid-template-columns:240px minmax(0,1fr);gap:12px;}.schedule-editor .schedule-preview {grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}.schedule-editor .schedule-preview>.schedule-field-caption {margin:0;}}
@media(max-width:700px) {.schedule-editor .schedule-row.active-person>div.schedule-person-panel {grid-column:1;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}.schedule-editor .schedule-person-panel .schedule-role {margin-bottom:0;}.schedule-editor .schedule-row.active-person .schedule-effect {margin-top:0;}.schedule-editor .schedule-actions {grid-template-columns:repeat(5,minmax(0,1fr));}.schedule-editor .schedule-preview {display:block;}}

.schedule-editor .schedule-actions .pill small {font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:11px;}
@media(max-width:700px) {.schedule-editor .schedule-actions .pill small {font-size:9px!important;}}

/* Employee capsules contain their own short interval chips. */
.schedule-editor .grouped-person-tabs {align-items:stretch;gap:8px;padding:9px 18px 7px;}
.schedule-employee-capsule {flex:none;max-width:min(460px,85vw);padding:6px 8px;background:#f8fafb;border:1px solid #dce6ec;border-radius:14px;}
.schedule-employee-capsule.active {background:#f0f6f8;border-color:#9bb7c5;}
.schedule-editor .schedule-person-tabs .schedule-employee-title {display:flex;align-items:center;gap:8px;min-height:22px;padding:0 3px;margin:0 0 5px;border:0;border-radius:0;background:transparent;color:#264b5e;text-align:left;font-size:11px;}
.schedule-pending-count {display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#fff0d7;color:#996017;font-size:9px;box-sizing:border-box;}
.schedule-period-chips {display:flex;flex-wrap:wrap;gap:4px;}
.schedule-editor .schedule-person-tabs .schedule-period-chip {display:inline-flex;align-items:center;gap:4px;min-height:25px;padding:4px 8px;border-radius:999px;font-size:10px;line-height:15px;}
.schedule-editor .schedule-person-tabs .schedule-period-chip.unseen {border:1px dashed #d1a356;background:#fff8eb;color:#895d1c;}
.schedule-editor .schedule-person-tabs .schedule-period-chip.changed {border-color:#bad4c4;background:#f0f8f3;color:#286947;}
.schedule-editor .schedule-person-tabs .schedule-period-chip.on {border:1px solid #0b3a4c;background:#0b3a4c;color:#fff;}
.schedule-period-state {font-size:11px;font-weight:700;line-height:1;}
.schedule-editor .schedule-person-tabs .schedule-period-chip.tail {background:#fff8eb;border-style:dashed;}
.schedule-review-progress {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 18px 8px;background:#fff;color:#718491;font-size:10px;}
.schedule-review-pending {color:#996017;}
.schedule-next-unreviewed {padding:3px 0;border:0;background:transparent;color:#315f75;font-size:10px;font-weight:600;cursor:pointer;}
@media(max-width:700px){.schedule-editor .grouped-person-tabs {padding:7px 12px;}.schedule-employee-capsule {max-width:85vw;}.schedule-editor .schedule-person-tabs .schedule-period-chip {min-height:28px;}.schedule-review-progress {padding:2px 12px 7px;}}

/* Stable editor frame with a quiet employee list on the left. */
.schedule-editor {height:min(860px,calc(100dvh - 32px));}
.schedule-workspace {display:grid;grid-template-columns:220px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;background:#fff;}
.schedule-people-sidebar {display:flex;flex-direction:column;min-height:0;border-right:1px solid #dfe8ee;background:#f8fafb;}
.schedule-sidebar-heading {padding:12px 14px 7px;color:#748896;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.schedule-editor .schedule-people-sidebar .grouped-person-tabs {display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;gap:0;padding:0 8px 8px;background:transparent;border:0;}
.schedule-people-sidebar .schedule-employee-capsule {flex:none;max-width:none;margin:2px 0;padding:10px 8px;border:0;border-left:2px solid transparent;border-radius:7px;background:transparent;}
.schedule-people-sidebar .schedule-employee-capsule.active {border-left-color:#0b3a4c;background:#edf4f7;}
.schedule-editor .schedule-people-sidebar .schedule-employee-title {width:100%;justify-content:space-between;min-height:24px;padding:0;margin-bottom:7px;white-space:normal;}
.schedule-people-sidebar .schedule-period-chips {gap:5px;}
.schedule-people-sidebar .schedule-review-progress {flex-direction:column;align-items:flex-start;gap:5px;padding:9px 14px;border-top:1px solid #dfe8ee;background:#f8fafb;}
.schedule-editor .schedule-workspace>.schedule-body {min-width:0;min-height:0;overflow:auto;flex:initial;padding:12px;}
.schedule-editor .schedule-footer {flex:none;}
@media(max-width:1150px) and (min-width:701px) {
 .schedule-workspace {grid-template-columns:190px minmax(0,1fr);}
 .schedule-editor .schedule-row.active-person {grid-template-columns:210px minmax(0,1fr);}
 .schedule-editor .schedule-row.active-person>div.schedule-person-panel {grid-template-columns:210px minmax(0,1fr);gap:12px;}
 .schedule-editor .schedule-person-panel .schedule-preview {grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
}
@media(max-width:700px) {
 .schedule-editor {height:100dvh;}.schedule-workspace {display:flex;flex-direction:column;}
 .schedule-people-sidebar {flex:none;max-height:156px;border-right:0;border-bottom:1px solid #dfe8ee;}
 .schedule-sidebar-heading {display:none;}
 .schedule-editor .schedule-people-sidebar .grouped-person-tabs {flex:none;flex-direction:row;gap:6px;max-height:112px;padding:7px 10px;}
 .schedule-people-sidebar .schedule-employee-capsule {width:185px;max-width:185px;padding:7px 8px;margin:0;}
 .schedule-people-sidebar .schedule-review-progress {flex-direction:row;align-items:center;padding:4px 12px;border-top:0;}
 .schedule-editor .schedule-workspace>.schedule-body {flex:1;min-height:0;padding:9px;}
}

.schedule-existing-assignments {margin:0 0 8px;padding:9px 11px;border:1px solid #d6e4ec;border-radius:8px;background:#f2f7fa;font-size:11px;color:#34576b;}
.schedule-existing-assignments p {margin:4px 0;}.schedule-existing-assignments small {display:block;margin-top:6px;color:#627b88;font-size:10px;line-height:1.4;}

/* Clear list hierarchy and independent draft removal controls. */
.schedule-people-sidebar .schedule-employee-capsule {margin:0;padding:12px 9px;border-bottom:1px solid #d7e2e8;border-radius:0;transition:background .15s;}
.schedule-people-sidebar .schedule-employee-capsule:hover {background:#eaf1f5;}
.schedule-people-sidebar .schedule-employee-capsule.active {background:#e3eef3;}
.schedule-employee-heading {display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.schedule-list-number {font-size:10px;color:#78909d;min-width:16px;font-variant-numeric:tabular-nums;}
.schedule-editor .schedule-people-sidebar .schedule-employee-title {flex:1;min-width:0;margin:0;gap:6px;}
.schedule-editor .schedule-person-tabs button.schedule-remove-employee,
.schedule-editor .schedule-person-tabs button.schedule-remove-period {display:flex;align-items:center;justify-content:center;flex:none;padding:0;width:23px;height:23px;min-height:23px;border:0;border-radius:5px;background:transparent;color:#82949f;font-size:17px;line-height:1;}
.schedule-editor .schedule-person-tabs button.schedule-remove-employee:hover,
.schedule-editor .schedule-person-tabs button.schedule-remove-period:hover {background:#fbe6e2;color:#ac493b;}
.schedule-people-sidebar .schedule-period-chips {padding-left:23px;gap:5px;}
.schedule-period-item {display:flex;align-items:center;border:1px solid #d7e2e8;border-radius:8px;background:#fff;overflow:hidden;}
.schedule-period-item:hover {border-color:#8aaab9;box-shadow:0 0 0 1px #8aaab933;}
.schedule-editor .schedule-person-tabs .schedule-period-item .schedule-period-chip {border:0;border-radius:6px;margin:0;flex:1;}
.schedule-editor .schedule-person-tabs .schedule-period-item .schedule-remove-period {margin:0 2px;width:20px;height:23px;font-size:15px;}
.schedule-period-item:has(.on) {border-color:#0b3a4c;background:#e4edf1;}
.schedule-period-item:has(.unseen) {border-color:#dfc79d;}
.schedule-heading {gap:12px;}
.schedule-heading>div:first-child {flex:none;}
.schedule-group-menu {position:relative;margin-right:auto;font-size:12px;}
.schedule-group-menu summary {cursor:pointer;list-style:none;padding:9px 12px;border:1px solid #d5e2e9;border-radius:8px;background:#f4f8fa;color:#234c60;font-weight:600;}
.schedule-group-menu summary::after {content:'⌄';margin-left:10px;}
.schedule-group-menu .schedule-all {position:absolute;top:calc(100% + 6px);left:0;z-index:8;width:225px;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px;border:1px solid #d5e2e9;border-radius:10px;background:white;box-shadow:0 10px 30px #12344525;}
.schedule-group-menu .schedule-all b {font-size:10px;margin-bottom:4px;}
.schedule-employee-capsule {cursor:pointer;}
.schedule-period-item {border-radius:8px;}
.schedule-editor .schedule-person-tabs .schedule-period-item .schedule-period-chip {border-radius:0;min-height:28px;padding:4px 8px;}
.schedule-editor .schedule-person-tabs .schedule-period-item .schedule-remove-period {align-self:stretch;border-left:1px solid #d5e2e9;border-radius:0;margin:0;width:25px;height:auto;min-height:28px;background:#f2f6f8;}
.schedule-remove-overlay {position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px;background:#183b4f55;border-radius:16px;cursor:default;}
.schedule-remove-confirm {width:min(360px,100%);padding:22px;border-radius:14px;background:white;box-shadow:0 12px 50px #12344540;}
.schedule-remove-confirm h3 {margin:0 0 14px;font-size:18px;}
.schedule-remove-confirm p {margin:8px 0;font-size:13px;}
.schedule-remove-confirm small {display:block;color:#718693;line-height:1.5;}
.schedule-remove-confirm>div {display:flex;justify-content:flex-end;gap:8px;margin-top:20px;}
@media(max-width:700px){.schedule-heading{flex-wrap:wrap;}.schedule-group-menu{order:3;}.schedule-group-menu .schedule-all{width:230px;}.schedule-heading>.btn-x{margin-left:auto;}}
.schedule-people-sidebar .schedule-employee-capsule.active:hover {background:#d9e9f0;}
/* Shared compact calendar, with the same day grid as the plan period picker. */
.shared-date-field {min-width:0;width:100%;}
.shared-date-trigger {display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 10px;border:1px solid #ccdde6;border-radius:8px;background:#fff;color:#163f53;font:600 11px/1.45 Montserrat,system-ui,sans-serif;text-align:left;cursor:pointer;}
.shared-date-trigger:hover {background:#f1f7f9;border-color:#8cabbc;}
.shared-date-trigger:disabled {opacity:.55;cursor:default;}
.shared-date-back {position:fixed;inset:0;z-index:1100;}
.cal-pop.shared-date-pop {position:fixed;z-index:1101;width:320px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:12px;box-sizing:border-box;overflow:auto;}
.shared-date-hint {font-size:11px;color:#69818e;margin:10px 2px 2px;}
.shared-date-pop .cal-d:disabled {opacity:.25;cursor:default;}
.schedule-editor .schedule-row.active-person>div.schedule-person-panel {grid-template-columns:minmax(245px,1.2fr) minmax(180px,1fr) 115px minmax(135px,.8fr);gap:14px;align-items:start;}
.schedule-identity .schedule-action-cell {margin:10px 0 8px;}
.schedule-editor .schedule-person-panel .schedule-actions {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;}
.schedule-editor .schedule-person-panel .schedule-actions .pill {min-width:0;padding:5px 2px;min-height:46px;}
.schedule-editor .schedule-person-panel .schedule-action-hint {font-size:10px;margin:6px 0 0;}
.schedule-editor .schedule-person-panel .schedule-effect {grid-column:auto;grid-row:auto;align-self:start;margin:0;padding:8px;border:1px solid #dfE8ed;border-radius:8px;background:#f7fafb;}
.schedule-editor .schedule-person-panel .schedule-effect p {display:block;margin:5px 0;font-size:11px;}
.schedule-editor .schedule-person-panel .schedule-effect small {font-size:10px;line-height:1.5;}
.schedule-editor .schedule-person-panel .schedule-preview {grid-column:auto;display:block;}
.schedule-editor .schedule-person-panel .schedule-mini {margin-top:6px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px;}
.schedule-editor .schedule-row.active-person .schedule-replacements {grid-column:1/-1;grid-row:2;}
@media(max-width:1200px){.schedule-editor .schedule-row.active-person>div.schedule-person-panel{grid-template-columns:minmax(220px,1.3fr) minmax(160px,1fr) 110px;}.schedule-editor .schedule-person-panel .schedule-effect{grid-column:3;}.schedule-editor .schedule-person-panel .schedule-preview{grid-column:3;grid-row:1;}.schedule-editor .schedule-person-panel .schedule-effect{grid-row:2;}.schedule-editor .schedule-person-panel .schedule-identity{grid-row:1/3;}.schedule-editor .schedule-person-panel .schedule-period-fields{grid-row:1/3;}}
@media(max-width:700px){.schedule-editor .schedule-row.active-person>div.schedule-person-panel{grid-template-columns:minmax(0,1fr);gap:12px;}.schedule-editor .schedule-person-panel .schedule-identity,.schedule-editor .schedule-person-panel .schedule-period-fields,.schedule-editor .schedule-person-panel .schedule-preview,.schedule-editor .schedule-person-panel .schedule-effect{grid-column:1;grid-row:auto;}.schedule-editor .schedule-person-panel .schedule-effect{margin:0;}}
.schedule-editor .schedule-row.active-person>div.schedule-person-panel>.schedule-effect {grid-column:4;grid-row:1;align-self:start;margin:0;padding:8px;background:#f7fafb;}
@media(max-width:1200px){.schedule-editor .schedule-row.active-person>div.schedule-person-panel>.schedule-effect{grid-column:3;grid-row:2;}}
@media(max-width:700px){.schedule-editor .schedule-row.active-person>div.schedule-person-panel>.schedule-effect{grid-column:1;grid-row:auto;}}
.schedule-cost-caption {display:block;margin:5px 0 4px;font-size:9px;color:#69818e;line-height:1.4;}
.schedule-effect .schedule-cost-caption:first-child {margin-top:0;}
.schedule-effect .schedule-net-cost {font-size:13px!important;}
.schedule-effect .schedule-replacement-hours {margin-bottom:9px;}
/* Unified employee cards: a single full-width batch editing list. */
.schedule-editor .schedule-workspace {display:flex;flex-direction:column;}
.schedule-editor .schedule-workspace>.schedule-body {flex:1;padding:14px 18px;}
.schedule-editor .schedule-row.schedule-employee-card {position:relative;display:block!important;padding:18px;margin:0 0 12px;border:1px solid #dce6ec;border-radius:12px;background:#fff;box-shadow:0 2px 6px #193d4f04;}
.schedule-editor .schedule-row.schedule-employee-card:hover {background:#fff;border-color:#b8ccd7;}
.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel {display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(235px,1fr) minmax(180px,.8fr);gap:24px;align-items:start;border:0;padding:0;}
.schedule-editor .schedule-employee-card .schedule-person-panel>.schedule-identity,
.schedule-editor .schedule-employee-card .schedule-person-panel>.schedule-period-fields {grid-column:auto;grid-row:auto;}
.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel>.schedule-effect {grid-column:3;grid-row:1;margin:0 20px 0 0;max-width:240px;background:#f7fafb;}
.schedule-person-name {flex-wrap:wrap;gap:8px;}
.schedule-current-types {display:inline-flex;align-items:center;gap:4px;margin-left:auto;}
.schedule-current-types>span {display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:23px;padding:0 5px;border:1px solid #cfdee5;border-radius:6px;font-size:10px;font-weight:700;}
.schedule-current-types .cw {background:#d7e8f0;}.schedule-current-types .cr{background:#f5f7f9;}.schedule-current-types .cv{background:#ffe6ad;}.schedule-current-types .cb{background:#f7d7dd;}.schedule-current-types .cop{background:#e0dff7;}
.schedule-editor .schedule-employee-card .schedule-identity .schedule-actions {margin-top:8px;}
.schedule-pick-button {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;margin-top:10px;padding:8px 11px;border:1px solid #cddde5;border-radius:8px;background:#f4f8fa;color:#224e64;font:600 12px Montserrat,system-ui,sans-serif;cursor:pointer;text-align:left;}
.schedule-pick-button:hover,.schedule-pick-button[aria-expanded=true] {border-color:#729cae;background:#eaf2f5;}
.schedule-pick-button.chosen {background:#edf7f1;border-color:#b7d6c4;color:#286248;}
.schedule-pick-button svg {flex:none;}
.schedule-without-note {display:block;margin-top:5px;color:#82959f;font-size:10px;}
.schedule-editor .schedule-employee-card .schedule-replacements {margin-top:16px;padding-top:14px;border-top:1px solid #e0e9ee;}
.schedule-picker-footer {display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e0e9ee;}
.schedule-picker-none {margin-right:auto;}
.schedule-editor .schedule-employee-card .schedule-candidate-options {max-height:280px;overflow:auto;}
.schedule-card-remove {position:absolute;right:8px;top:7px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:#8298a3;font-size:19px;cursor:pointer;}
.schedule-card-remove:hover {background:#fbe6e2;color:#ac493b;}
.schedule-card-remove-period {display:block;margin:0 0 10px auto;border:0;background:transparent;color:#81939f;font-size:10px;cursor:pointer;}
.schedule-editor .schedule-remaining {display:block;}
@media(max-width:1000px){.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel{grid-template-columns:minmax(240px,1.3fr) minmax(210px,1fr);gap:18px;}.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel>.schedule-effect{grid-column:2;grid-row:2;margin:0;max-width:none;}.schedule-editor .schedule-employee-card .schedule-person-panel>.schedule-identity{grid-row:1/3;}}
@media(max-width:700px){.schedule-editor .schedule-workspace>.schedule-body{padding:10px;}.schedule-editor .schedule-row.schedule-employee-card{padding:14px;margin-bottom:10px;}.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel{grid-template-columns:minmax(0,1fr);gap:14px;}.schedule-editor .schedule-employee-card .schedule-person-panel>.schedule-identity,.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel>.schedule-effect{grid-column:1;grid-row:auto;}.schedule-picker-footer{flex-wrap:wrap;}.schedule-picker-footer .btn{min-height:36px;padding:7px 10px;font-size:11px;}.schedule-picker-accept{flex:1;}.schedule-editor .schedule-employee-card .schedule-candidate-options{max-height:250px;}}
.schedule-current-types {margin-left:6px!important;width:auto!important;height:auto!important;background:transparent!important;color:#31586d!important;border-radius:0!important;}
.schedule-person-name .schedule-current-types>span {color:#31586d;}
.schedule-person-name .schedule-current-types>.cv {color:#875811;}.schedule-person-name .schedule-current-types>.cb{color:#8c4050;}
.schedule-picker-footer {position:sticky;top:-14px;z-index:2;margin:0 0 12px;padding:10px 0;background:#fff;border-top:0;border-bottom:1px solid #e0e9ee;}
.schedule-current-types {flex:none;}.schedule-person-name {padding-right:16px;}
/* Full-screen employee editing while selecting a substitute. */
.schedule-editor.schedule-picker-screen {position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0;}
.schedule-picker-screen>.schedule-heading,.schedule-picker-screen>.schedule-footer {display:none;}
.schedule-editor.schedule-picker-screen .schedule-workspace {height:100%;min-height:0;}
.schedule-editor.schedule-picker-screen .schedule-workspace>.schedule-body {display:flex;flex-direction:column;padding:0;overflow:hidden;}
.schedule-editor.schedule-picker-screen .schedule-employee-card:not(.choosing),
.schedule-picker-screen .schedule-remaining {display:none!important;}
.schedule-editor.schedule-picker-screen .schedule-row.schedule-employee-card.choosing {display:flex!important;flex-direction:column;flex:1;min-height:0;width:100%;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;}
.schedule-picker-screen .schedule-card-remove,.schedule-picker-screen .schedule-card-remove-period {display:none;}
.schedule-picker-topbar {display:flex;align-items:center;gap:24px;flex:none;min-height:48px;padding:0 24px;border-bottom:1px solid #dce7ed;background:#f4f8fa;}
.schedule-picker-topbar>b {font-size:13px;color:#35596b;}
.schedule-picker-back {display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#2c5368;font:600 12px Montserrat,system-ui,sans-serif;cursor:pointer;padding:8px 0;}
.schedule-editor.schedule-picker-screen .schedule-employee-card.choosing>div.schedule-person-panel {flex:none;position:relative;z-index:3;padding:16px 24px;margin:0;border-bottom:1px solid #dce7ed;background:#fff;grid-template-columns:minmax(280px,1.2fr) minmax(235px,1fr) minmax(180px,.8fr);}
.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-replacements {display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:14px 24px 0;border:0;overflow:hidden;}
.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-candidate-options {flex:1;min-height:0;max-height:none;overflow:auto;align-content:start;padding:3px 6px 10px 3px;}
.schedule-picker-screen .schedule-picker-footer {position:relative;top:auto;flex:none;order:10;margin:0;padding:12px 0;border:0;border-top:1px solid #dce7ed;background:#fff;}
.schedule-picker-screen .schedule-candidate-heading {flex:none;margin-top:0;}
.schedule-picker-screen .schedule-candidate {flex:none;max-height:90px;overflow:auto;}
.schedule-picker-screen .schedule-existing-assignments {max-height:90px;overflow:auto;flex:none;}
@media(max-width:900px){.schedule-editor.schedule-picker-screen .schedule-employee-card.choosing>div.schedule-person-panel{grid-template-columns:minmax(240px,1.2fr) minmax(210px,1fr);gap:14px;}.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-person-panel>.schedule-effect{grid-column:2;grid-row:2;}.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-person-panel>.schedule-identity{grid-row:1/3;}}
@media(max-width:600px){.schedule-picker-topbar{min-height:42px;padding:0 12px;gap:16px;}.schedule-picker-topbar>b{font-size:11px;}.schedule-picker-back{font-size:11px;}.schedule-editor.schedule-picker-screen .schedule-employee-card.choosing>div.schedule-person-panel{padding:10px 12px;grid-template-columns:minmax(0,1fr);gap:8px;}.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-person-panel>.schedule-identity,.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-person-panel>.schedule-effect{grid-column:1;grid-row:auto;}.schedule-picker-screen .schedule-action-hint,.schedule-picker-screen .schedule-role,.schedule-picker-screen .schedule-current-comment,.schedule-picker-screen .schedule-without-note{display:none;}.schedule-editor.schedule-picker-screen .schedule-person-panel>.schedule-effect{display:none;}.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-replacements{padding:10px 12px 0;}.schedule-picker-screen .schedule-pick-button{margin-top:6px;}.schedule-picker-screen .schedule-candidate-heading{font-size:11px;}.schedule-picker-screen .schedule-candidate{max-height:65px;}.schedule-picker-screen .schedule-need{font-size:10px;margin-bottom:4px;}}
/* Balanced employee summary: aligned controls and two compact monetary figures. */
.schedule-editor .schedule-row.schedule-employee-card {padding:16px 18px;}
.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel {grid-template-columns:minmax(290px,1.2fr) minmax(250px,1fr) minmax(265px,.85fr);gap:24px;}
.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel>.schedule-effect {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;max-width:none;margin:0 12px 0 0;padding:12px 14px;border:1px solid #e0e9ee;background:#f5f9fb;border-radius:10px;}
.schedule-stat {min-width:0;}
.schedule-effect .schedule-stat .schedule-cost-caption {margin:0 0 5px;font-size:9px;line-height:1.4;color:#6b8290;white-space:normal;}
.schedule-editor .schedule-effect .schedule-stat>b {display:block;font-size:17px!important;line-height:1.3;white-space:nowrap;letter-spacing:-.4px;}
.schedule-editor .schedule-effect .schedule-stat>small {display:block;margin:5px 0 0;font-size:9px;line-height:1.4;color:#8396a1;}
.schedule-effect-meta {display:flex;flex-wrap:wrap;gap:5px 12px;grid-column:1/-1;padding-top:9px;border-top:1px solid #dfe9ee;font-size:9px;color:#708895;line-height:1.5;}
.schedule-editor .schedule-person-panel .schedule-identity .schedule-actions {margin-top:8px;}
.schedule-editor .schedule-person-panel .schedule-action-hint {margin:6px 0 0;font-size:9px;line-height:1.5;color:#8395a0;}
.schedule-editor .schedule-person-panel .schedule-role {margin-top:4px;font-size:10px;}
.schedule-person-name {font-size:13px;}
.schedule-current-types>span {height:22px;}
.schedule-editor.schedule-picker-screen .schedule-row.schedule-employee-card.choosing {align-items:stretch;padding:0;}
.schedule-editor.schedule-picker-screen .choosing>.schedule-picker-topbar,
.schedule-editor.schedule-picker-screen .choosing>div.schedule-person-panel,
.schedule-editor.schedule-picker-screen .choosing>.schedule-replacements {width:100%;box-sizing:border-box;align-self:stretch;}
.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-candidate-options {grid-auto-rows:max-content;grid-template-rows:none;align-items:start;}
.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-candidate-option {height:auto;min-height:100px;align-self:start;grid-template-rows:auto auto;overflow:visible;}
@media(max-width:1100px){.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel{grid-template-columns:minmax(250px,1fr) minmax(240px,1fr);gap:16px;}.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel>.schedule-effect{grid-column:2;grid-row:2;margin:0;}.schedule-editor .schedule-employee-card .schedule-person-panel>.schedule-identity{grid-row:1/3;}}
@media(max-width:700px){.schedule-editor .schedule-row.schedule-employee-card{padding:14px;}.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel{grid-template-columns:minmax(0,1fr);gap:12px;}.schedule-editor .schedule-row.schedule-employee-card>div.schedule-person-panel>.schedule-effect,.schedule-editor .schedule-employee-card .schedule-person-panel>.schedule-identity{grid-column:1;grid-row:auto;}.schedule-editor .schedule-effect .schedule-stat>b{font-size:16px!important;}.schedule-editor.schedule-picker-screen .schedule-row.schedule-employee-card.choosing>div.schedule-person-panel>.schedule-effect{display:none;}.schedule-editor.schedule-picker-screen .schedule-employee-card .schedule-candidate-option{min-height:120px;}}
.schedule-comment-field {display:flex;align-items:center;gap:12px;position:relative;margin-bottom:9px;font-size:11px;}
.schedule-comment-field>label {flex:none;color:#6b8290;white-space:nowrap;}
.schedule-required-mark {color:#d15034;font-weight:700;}
.schedule-comment-input-wrap {position:relative;flex:1;min-width:0;}
.schedule-comment-input-wrap>input {width:100%;padding-right:34px!important;border:1px solid #d0dfe7;border-radius:8px;background:#fff;color:#244d61;font:inherit;}
.schedule-comment-input-wrap>input[aria-invalid=true] {border-color:#d87a60;background:#fffaf8;}
.schedule-comment-info {position:absolute;right:7px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #cbdbe4;border-radius:50%;background:#f3f8fa;color:#638393;font-size:11px;font-weight:700;cursor:pointer;}
.schedule-comment-bubble {position:absolute;right:0;bottom:calc(100% + 8px);max-width:min(320px,80vw);padding:9px 12px;border:1px solid #e4c9b5;border-radius:9px;background:#fff9f1;color:#815a36;box-shadow:0 5px 20px #183c4c18;font-size:11px;line-height:1.5;z-index:20;}
.schedule-editor .schedule-totals {gap:6px 16px;flex-wrap:wrap;}
.schedule-editor .schedule-totals>div {min-width:90px;}
.schedule-editor .schedule-totals>div>small:last-child:not(:first-child) {font-size:8px;color:#8499a4;}
@media(max-width:700px){.schedule-comment-field{display:block;margin-bottom:8px;}.schedule-comment-field>label{display:block;margin-bottom:5px;}.schedule-editor .schedule-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;}.schedule-editor .schedule-totals>div{min-width:0;}.schedule-editor .schedule-totals small{min-height:0;font-size:8px!important;}}
/* Selection view: compact context and actions at the top, candidate list below. */
.schedule-editor.schedule-picker-screen .choosing>div.schedule-person-panel {display:none;}
.schedule-picker-topbar {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 24px;min-height:76px;box-sizing:border-box;}
.schedule-picker-context {display:flex;flex-direction:column;gap:5px;min-width:0;}
.schedule-picker-context b {font-size:15px;color:#173e52;}
.schedule-picker-context small {font-size:11px;color:#7c929e;}
.schedule-picker-screen .schedule-picker-topbar .schedule-picker-footer {display:flex;order:initial;flex:0 0 auto;gap:8px;position:static;top:auto;margin:0;padding:0;border:0;background:transparent;}
.schedule-picker-screen .schedule-picker-topbar .schedule-picker-none {margin-right:0;}
.schedule-picker-screen .schedule-employee-card .schedule-replacements {padding-top:16px!important;padding-bottom:12px!important;}
@media(max-width:650px){.schedule-picker-topbar{display:block;padding:12px;min-height:0;}.schedule-picker-context b{font-size:13px;}.schedule-picker-context small{font-size:10px;}.schedule-picker-screen .schedule-picker-topbar .schedule-picker-footer{margin-top:12px;flex-wrap:nowrap;}.schedule-picker-screen .schedule-picker-topbar .schedule-picker-footer .btn{min-height:36px;white-space:nowrap;font-size:11px;padding:6px 10px;}.schedule-picker-screen .schedule-picker-topbar .schedule-picker-accept{flex:1;}}
/* Inline candidate expansion keeps the original editor window and employee header. */
.schedule-inline-picker>.schedule-footer,.schedule-inline-picker .schedule-group-menu,
.schedule-inline-picker .schedule-employee-card:not(.choosing),.schedule-inline-picker .schedule-remaining {display:none!important;}
.schedule-editor.schedule-inline-picker .schedule-workspace>.schedule-body {display:flex;flex-direction:column;padding:0;overflow:hidden;}
.schedule-editor.schedule-inline-picker .schedule-row.schedule-employee-card.choosing {display:flex!important;flex-direction:column;align-items:stretch;flex:1;min-height:0;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;}
.schedule-inline-picker .schedule-card-remove,.schedule-inline-picker .schedule-card-remove-period {display:none;}
.schedule-editor.schedule-inline-picker .choosing>div.schedule-person-panel {flex:none;padding:14px 18px;margin:0;border-bottom:1px solid #dce7ed;background:#fff;box-sizing:border-box;}
.schedule-editor.schedule-inline-picker .schedule-employee-card .schedule-replacements {display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:0 18px 12px;border:0;overflow:hidden;}
.schedule-inline-picker .schedule-picker-topbar {flex:none;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 0;gap:12px;border-bottom:1px solid #e1e9ee;background:#fff;margin-bottom:10px;}
.schedule-inline-picker .schedule-picker-context b {font-size:12px;}
.schedule-inline-picker .schedule-picker-footer {display:flex;flex:none;position:static;order:initial;gap:8px;margin:0;padding:0;border:0;}
.schedule-inline-picker .schedule-picker-none {margin-right:0;}
.schedule-editor.schedule-inline-picker .schedule-employee-card .schedule-candidate-options {flex:1;min-height:0;max-height:none;overflow:auto;grid-auto-rows:max-content;grid-template-rows:none;align-items:start;align-content:start;padding:3px 5px 8px 3px;}
.schedule-editor.schedule-inline-picker .schedule-candidate-option {height:auto;min-height:110px;align-self:start;}
.schedule-inline-picker .schedule-candidate {flex:none;max-height:65px;overflow:auto;}
.schedule-inline-picker .schedule-existing-assignments {flex:none;max-height:65px;overflow:auto;}
@media(max-width:700px){.schedule-editor.schedule-inline-picker .choosing>div.schedule-person-panel{padding:10px 12px;gap:8px;}.schedule-editor.schedule-inline-picker .choosing>div.schedule-person-panel>.schedule-effect{display:none;}.schedule-inline-picker .schedule-role,.schedule-inline-picker .schedule-action-hint,.schedule-inline-picker .schedule-current-comment,.schedule-inline-picker .schedule-without-note{display:none;}.schedule-editor.schedule-inline-picker .schedule-employee-card .schedule-replacements{padding:0 12px 10px;}.schedule-inline-picker .schedule-picker-topbar{display:block;padding:8px 0;}.schedule-inline-picker .schedule-picker-context{display:none;}.schedule-inline-picker .schedule-picker-footer{display:flex;flex-wrap:nowrap;}.schedule-inline-picker .schedule-picker-footer .btn{white-space:nowrap;font-size:11px;padding:6px 9px;min-height:36px;}.schedule-inline-picker .schedule-picker-accept{flex:1;}.schedule-inline-picker .schedule-pick-button{margin-top:5px;}}
.schedule-overlay {padding:16px;box-sizing:border-box;overflow:hidden;}
@media(max-width:700px){.schedule-overlay{padding:0;}}
/* Primary editing controls share one left-aligned header row. */
.schedule-editor .schedule-heading {display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;}
.schedule-header-actions {display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:1;}
.schedule-header-actions>.btn {min-height:36px;padding:8px 12px;font-size:11px;white-space:nowrap;border-radius:8px;}
.schedule-header-actions>.btn-primary {order:0;}
.schedule-header-actions>.btn-outline {order:1;}
.schedule-header-actions>.schedule-group-menu {order:2;margin:0;font-size:11px;}
.schedule-header-actions>.schedule-group-menu>summary {display:flex;align-items:center;min-height:36px;box-sizing:border-box;padding:8px 12px;border:1px solid #d5e2e9;border-radius:8px;background:#fff;color:#244d61;font-size:11px;font-weight:600;}
.schedule-header-actions>.schedule-group-menu>summary:hover {background:#edf4f7;border-color:#a4bdcb;}
.schedule-inline-picker .schedule-header-actions {display:none;}
.schedule-inline-picker .schedule-picker-topbar {justify-content:flex-start;gap:16px;}
.schedule-inline-picker .schedule-picker-topbar .schedule-picker-context {display:none;}
.schedule-inline-picker .schedule-picker-footer {justify-content:flex-start;width:auto;}
.schedule-editor .schedule-result {justify-content:flex-start;}
@media(max-width:900px){.schedule-editor .schedule-heading>.schedule-plan-badge{display:none;}.schedule-editor .schedule-heading>.btn-x{margin-left:auto;}.schedule-header-actions{flex-basis:100%;order:3;}.schedule-header-actions .schedule-group-menu{order:2;}}
@media(max-width:700px){.schedule-header-actions{gap:6px;flex-wrap:wrap;}.schedule-header-actions>.btn{min-height:34px;font-size:10px;padding:7px 10px;}.schedule-header-actions>.schedule-group-menu>summary{min-height:34px;padding:7px 10px;font-size:10px;}.schedule-inline-picker .schedule-picker-footer{width:100%;}.schedule-inline-picker .schedule-picker-accept{flex:none;}}
/* Actions first, context to the right; neutral focus until a save is attempted. */
.schedule-editor .schedule-heading>.schedule-header-actions {order:0;flex:0 1 auto;}
.schedule-editor .schedule-heading>.schedule-heading-text {order:1;margin-left:auto;text-align:right;flex:none;}
.schedule-editor .schedule-heading>.btn-x {order:2;margin-left:0;}
.schedule-inline-picker .schedule-picker-accept {order:0;}
.schedule-inline-picker .schedule-picker-cancel {order:1;}
.schedule-inline-picker .schedule-picker-none {order:2;}
.schedule-editor #schedule-comment {outline:none;box-shadow:none;}
.schedule-editor #schedule-comment:focus-visible {outline:2px solid #b7d0dc;outline-offset:1px;border-color:#9ebdcd;}
.schedule-editor #schedule-comment[aria-invalid=true] {border-color:#cf765e;}
.schedule-editor #schedule-comment[aria-invalid=true]:focus-visible {outline-color:#e0a38f;}
.schedule-required-mark {color:#9c8b69;font-weight:600;}
@media(max-width:900px){.schedule-editor .schedule-heading>.schedule-header-actions{flex-basis:100%;order:0;}.schedule-editor .schedule-heading>.schedule-heading-text{order:1;}.schedule-editor .schedule-heading>.btn-x{order:2;}}
.schedule-editor .schedule-heading>.schedule-header-actions>.btn,
.schedule-editor .schedule-heading .schedule-header-actions>.schedule-group-menu>summary {height:36px;min-height:36px;max-height:36px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:16px;padding:8px 12px;}
.schedule-group-menu summary::after {content:"";display:block;flex:none;align-self:center;width:6px;height:6px;margin:0 2px 3px 10px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);box-sizing:border-box;}
.schedule-editor .schedule-heading>.schedule-heading-text {margin-left:auto;}
@media(max-width:700px){.schedule-editor .schedule-heading>.schedule-header-actions>.btn,.schedule-editor .schedule-heading .schedule-header-actions>.schedule-group-menu>summary{height:34px;min-height:34px;max-height:34px;padding:7px 10px;}}
.schedule-editor .schedule-heading>.schedule-picker-footer {position:static;order:0;display:flex;justify-content:flex-start;align-items:center;flex:0 0 auto;gap:8px;width:auto;margin:0;padding:0;border:0;background:transparent;}
.schedule-editor .schedule-heading>.schedule-picker-footer>.btn {height:36px;min-height:36px;box-sizing:border-box;padding:8px 12px;font-size:11px;border-radius:8px;white-space:nowrap;}
@media(max-width:900px){.schedule-editor .schedule-heading>.schedule-picker-footer{flex-basis:100%;}}
@media(max-width:700px){.schedule-editor .schedule-heading>.schedule-picker-footer{gap:6px;flex-wrap:nowrap;}.schedule-editor .schedule-heading>.schedule-picker-footer>.btn{height:34px;min-height:34px;padding:7px 10px;font-size:10px;}}
