:root {
  --ink: #10213a;
  --muted: #64748b;
  --line: #d9e2ec;
  --blue: #1769d2;
  --green: #16764a;
  --red: #b42318;
  --amber: #a15c00;
}

* { box-sizing: border-box; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body { margin: 0; background: #eef3f8; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 16px; line-height: 1.4; }
button, select, input, textarea { font: inherit; }
.site-header { display: flex; justify-content: space-between; gap: 20px; padding: 18px 4vw; border-bottom: 1px solid var(--line); background: #fff; }
.site-header h1 { margin: 0; font-size: clamp(26px, 3vw, 38px); }
.site-header p:last-child { margin: 4px 0 0; color: var(--muted); }
.eyebrow { margin: 0 0 4px; color: var(--blue); font-size: 13px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
nav { display: flex; align-items: center; gap: 8px; }
nav form { margin: 0; }
nav a { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: #294260; font-size: 14px; font-weight: 750; text-decoration: none; }
nav a[aria-current] { border-color: var(--blue); background: var(--blue); color: #fff; }
main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px 4vw 40px; }
main > *, .week-panel > *, .plan-toolbar > *, .operations-workspace > *, .primary-board > * { min-width: 0; }
.week-panel, .empty-plan, .plan-toolbar, .day-summary, .audit-panel, .messages p { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.week-panel, .plan-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px; }
.week-panel h2, .plan-toolbar h2 { margin: 0; }
.week-panel p:last-child, .plan-toolbar p { margin: 5px 0 0; color: var(--muted); }
.two-week-panel { display: grid; grid-template-columns: minmax(210px, auto) minmax(0, 1fr); }
.two-week-navigation { display: grid; grid-template-columns: auto repeat(2, minmax(335px, 1fr)) auto; align-items: stretch; gap: 7px; width: 100%; max-width: 100%; overflow-x: auto; }
.workspace-week { min-width: 335px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #f8fafc; }
.workspace-week.is-selected-week { border-color: #9fc4ed; background: #eff7ff; }
.workspace-week > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 7px; color: #294260; font-size: 11px; }
.workspace-week > header span { color: var(--muted); font-weight: 750; }
.workspace-week .day-navigation { gap: 3px; padding: 0 4px 4px; overflow: visible; }
.workspace-week .day-navigation a { min-width: 41px; padding: 4px; background: #fff; }
.workspace-week .day-navigation b { font-size: 16px; }
.workspace-day-step { display: grid; min-width: 36px; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #314761; font-weight: 850; text-decoration: none; }
.day-navigation { display: flex; gap: 5px; overflow-x: auto; }
.day-navigation a { display: grid; min-width: 48px; place-items: center; padding: 6px; border: 1px solid var(--line); border-radius: 8px; color: #314761; text-decoration: none; }
.day-navigation a[aria-current] { border-color: var(--blue); background: #eaf3ff; color: #0f58ac; }
.day-navigation span { font-size: 12px; }.day-navigation b { font-size: 19px; }
button { padding: 8px 11px; border: 1px solid #0e5bb7; border-radius: 7px; background: var(--blue); color: #fff; font-size: 14px; font-weight: 750; cursor: pointer; }
button.secondary { border-color: #b8c6d6; background: #fff; color: #294260; }
button.confirm { border-color: #0c6940; background: var(--green); }
button:disabled { opacity: .45; cursor: not-allowed; }
.empty-plan { padding: 24px; text-align: center; }.empty-plan h2 { margin-top: 0; }.empty-plan p { color: var(--muted); }
.plan-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.plan-actions form { margin: 0; }.plan-actions details { position: relative; }.plan-actions details a { display: block; padding: 5px; }
.day-summary { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 8px; padding: 0; border: 0; background: transparent; }
.day-status-item { display: grid; align-content: start; gap: 2px; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 1px 2px rgba(16, 33, 58, .04); }
.day-status-item small { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.day-status-item strong { overflow-wrap: anywhere; font-size: 15px; }
.day-status-item span { color: var(--muted); font-size: 12px; }
.day-status-item.is-ready { border-color: #9bcfb4; background: #effaf4; }
.day-status-item.is-ready strong { color: #12613b; }
.day-status-item.is-pending { border-color: #e1c17c; background: #fff9eb; }
.day-status-item.is-pending strong { color: #7d4d00; }
.day-status-item.is-alert { border-color: #e8aaa4; background: #fff3f1; }
.day-status-item.is-alert strong { color: #9d2f25; }
.interaction-status { margin: 0; padding: 10px 13px; border: 1px solid #b9d6fb; border-radius: 9px; background: #eff7ff; color: #244d78; font-size: 13px; }
.interaction-status.is-error { border-color: #f1b3ad; background: #fff1ef; color: var(--red); }
.operations-workspace { display: block; min-width: 0; }
.primary-board { display: grid; min-width: 0; grid-template-areas: "daily" "airport" "history"; gap: 14px; }
.daily-duty-board { grid-area: daily; }
.airport-overview { grid-area: airport; }
.legacy-airport-history { grid-area: history; }
.airport-overview, .daily-duty-board { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.section-heading h2 { margin: 0; }
.airport-overview, .daily-duty-board { padding: 14px; }
.section-heading { margin-bottom: 12px; }
.section-heading > div { min-width: 0; }
.section-heading h2 { min-width: 0; }
.section-heading > span { max-width: 480px; color: var(--muted); font-size: 13px; text-align: right; }
.section-heading > a { color: var(--blue); font-size: 13px; font-weight: 750; text-decoration: none; }
.section-collapse-trigger { display: flex; min-width: 0; align-items: center; gap: 12px; max-width: 100%; padding: 3px 5px 3px 0; border-color: transparent; background: transparent; color: var(--ink); text-align: left; }
.section-collapse-trigger:hover { border-color: #b8c6d6; background: #f4f8fc; }
.section-collapse-trigger > span:first-child { display: grid; min-width: 0; gap: 1px; font-size: 22px; line-height: 1.16; }
.section-collapse-trigger small { color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.3; }
.section-collapse-icon { flex: 0 0 auto; color: var(--muted); font-size: 18px; }
.section-collapsible-content[hidden] { display: none !important; }
.is-collapsed .section-heading { margin-bottom: 0; }
.run-addon-chip { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6px; min-width: 0; padding: 6px 8px; border: 1px solid #dfb85d; background: #fff; color: #67420b; font-size: 12px; text-align: left; }
.run-addon-chip time { font-size: 12px; font-weight: 900; }
.run-addon-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.duty-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; }
.duty-table { width: 100%; min-width: 840px; border-collapse: collapse; background: #fff; }
.duty-table th, .duty-table td { padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.duty-table tr:last-child > * { border-bottom: 0; }
.duty-table tr > *:last-child { border-right: 0; }
.duty-table thead th { position: sticky; top: 0; z-index: 1; background: #eaf1f8; color: #294260; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.duty-table tbody > tr > th { width: 150px; background: #f8fafc; }
.duty-table tbody > tr > th b, .duty-table tbody > tr > th span { display: block; }
.duty-table tbody > tr > th span { margin-top: 3px; color: var(--muted); font-size: 12px; text-transform: uppercase; }
.timed-work-cell { width: 45%; }
.duty-part { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 7px; margin-bottom: 5px; font-size: 13px; }
.duty-part time { color: #102f52; font-size: 15px; font-weight: 850; }
.duty-part span { color: var(--muted); }
.duty-part .run-occupancy { color: #315b85; font-size: 12px; font-weight: 800; white-space: nowrap; }
.daily-run-table { min-width: 880px; }
.daily-run-table .duty-group-body + .duty-group-body tr:first-child > * { border-top: 3px solid #c7d5e3; }
.daily-run-table .duty-group-body[hidden] { display: none !important; }
.family-group-row th { width: auto !important; padding: 6px 10px !important; border-top: 4px solid #fff !important; color: #294260; }
.family-group-controls { position: relative; display: flex; align-items: center; }
.family-collapse-trigger { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 5px 7px; border-color: transparent; background: transparent; color: inherit; text-align: left; }
.family-group-controls.has-order-control .family-group-title { margin-right: 117px !important; }
.family-collapse-trigger:hover { border-color: currentColor; background: rgba(255, 255, 255, .52); }
.family-group-title { display: flex !important; min-width: 0; align-items: baseline; gap: 8px; margin: 0 !important; color: inherit !important; }
.family-group-title strong { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.family-group-title small { overflow: hidden; color: currentColor; font-size: 12px; font-weight: 650; letter-spacing: 0; opacity: .78; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.family-collapse-icon { flex: 0 0 auto; margin: 0 !important; color: inherit !important; font-size: 15px !important; line-height: 1; }
.family-order-controls { position: absolute; z-index: 1; top: 50%; right: 34px; display: flex; transform: translateY(-50%); }
.family-order-toggle { display: flex; align-items: center; gap: 5px; padding: 6px 9px; border-color: rgba(85, 69, 140, .32); background: #fff; color: #55458c; font-size: 11px; white-space: nowrap; box-shadow: 0 1px 2px rgba(31, 22, 67, .12); }
.family-order-toggle:hover { border-color: #7764b5; background: #f8f6ff; }
.family-order-toggle span { display: inline !important; margin: 0 !important; color: #776d93 !important; font-size: 10px !important; text-transform: uppercase !important; }
.family-order-toggle strong { font-size: 11px; }
.family-header-body.is-collapsed .family-group-summary { font-weight: 800; opacity: 1; }
.family-group-area th { background: #e9f5f2 !important; color: #245f52; }
.family-group-wtse th { background: #eeeafb !important; color: #55458c; }
.family-group-wtsl th { background: #fff3dc !important; color: #805b18; }
.family-group-b1 th, .family-group-driver_1 th, .family-group-team_11 th { background: #edf3fa !important; }
.family-group-site_clearance th { background: #f8ecf4 !important; color: #7c4767; }
.family-group-airport th { background: #e9f7f3 !important; color: #176b58; }
.family-group-rubbish th { background: #f3eee7 !important; color: #6d5640; }
.duty-group-body.family-area > tr:not(.family-group-row) > th[scope="rowgroup"] { box-shadow: inset 5px 0 #8dc8ba; }
.duty-group-body.family-wtse > tr:not(.family-group-row) > th[scope="rowgroup"] { box-shadow: inset 5px 0 #b1a2df; }
.duty-group-body.family-wtsl > tr:not(.family-group-row) > th[scope="rowgroup"] { box-shadow: inset 5px 0 #e2bd72; }
.daily-run-table tbody > tr > th { width: 180px; }
.daily-run-table .timed-work-cell { min-width: 300px; }
.duty-heading-trigger { display: grid; gap: 2px; width: 100%; padding: 9px; border-color: #9fb7cf; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 1px 2px rgba(16, 33, 58, .08); }
.duty-heading-trigger:hover { border-color: var(--blue); background: #edf6ff; }
.duty-heading-trigger strong { font-size: 15px; }
.duty-heading-trigger span { margin: 0 !important; color: var(--muted); font-size: 12px; text-transform: uppercase; }
.duty-bus-slot { display: grid; gap: 5px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.duty-bus-slot > small { color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.duty-bus-slot > strong { display: flex; justify-content: space-between; gap: 5px; padding: 7px; border-radius: 6px; background: #e9f8f0; color: #12613b; font-size: 12px; }
.duty-bus-slot > em { color: var(--muted); font-size: 12px; font-style: normal; font-weight: 500; }
.duty-bus-trigger { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px; width: 100%; padding: 6px 7px; text-align: left; }
.duty-bus-trigger strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.duty-bus-trigger small { font-size: 11px; }
.assignment-picker-trigger { width: 100%; margin-top: 5px; padding: 7px 9px; border-color: #8aa9c9; background: #f5faff; color: #315b85; font-size: 13px; }
.assignment-picker-trigger:hover { border-color: var(--blue); background: #eaf3ff; }
.bus-picker-trigger { border-color: #71ad8d; background: #f2fbf6; color: #176642; }
.bus-picker-trigger:hover { border-color: var(--green); background: #e9f8f0; }
.duty-bus-trigger.is-assigned { border-color: #71ad8d; background: #e9f8f0; color: #12613b; }
.duty-bus-trigger.is-unassigned { border-color: #df9b94; background: #fff0ed; color: #9d2f25; }
.duty-bus-trigger.is-unassigned:hover { border-color: #b84238; background: #ffe3df; color: #84251e; }
.duty-bus-trigger.is-pending { border-color: #e1b96f; background: #fff4df; color: #7d4d00; }
.regular-run-chip { width: 100%; margin-bottom: 4px; border-color: #a8c6e7; background: #f1f7fe; color: var(--ink); text-align: left; box-shadow: inset 4px 0 #5b9bd5; }
.regular-run-chip:hover { border-color: var(--blue); background: #e5f1ff; }
.regular-run-chip time { color: #0f4f91; }
.support-run-chip { width: 100%; margin-bottom: 4px; color: var(--ink); text-align: left; }
.support-run-chip.support-admin { border-color: #d9b667; background: #fff8e8; box-shadow: inset 4px 0 #b7791f; }
.support-run-chip.support-admin:hover { border-color: #b7791f; background: #fff2cf; }
.support-run-chip.support-admin time { color: #7a4a08; }
.support-run-chip.support-site-clearance { border-color: #cfa8c2; background: #fbf2f8; box-shadow: inset 4px 0 #9b5f87; }
.support-run-chip.support-site-clearance:hover { border-color: #9b5f87; background: #f7e5f1; }
.support-run-chip.support-site-clearance time { color: #75445f; }
.support-run-chip.support-airport { border-color: #8fc7b7; background: #edf9f5; box-shadow: inset 4px 0 #29866e; }
.support-run-chip.support-airport:hover { border-color: #29866e; background: #def3ec; }
.support-run-chip.support-airport time { color: #176b58; }
.support-run-badge { display: inline-flex; margin-left: 5px; padding: 2px 5px; border-radius: 999px; background: rgba(255, 255, 255, .72); color: inherit; font-size: 10px; font-weight: 850; white-space: nowrap; }
.resource-assignment-cell { width: 175px; }
.resource-assignment-cell > span { display: flex; justify-content: space-between; gap: 5px; margin-bottom: 5px; padding: 7px; border-radius: 6px; background: #e9f8f0; color: #12613b; font-size: 12px; font-weight: 800; }
.resource-assignment-cell > button.assigned-driver-trigger { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 3px 6px; width: 100%; margin: 0 0 5px; padding: 7px; border-color: #71ad8d; background: #e9f8f0; color: #12613b; text-align: left; }
.resource-assignment-cell > button.assigned-driver-trigger:hover { border-color: var(--green); background: #dff3e8; }
.resource-assignment-cell > button.assigned-driver-trigger strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.resource-assignment-cell > button.assigned-driver-trigger small { font-size: 11px; text-align: right; }
.resource-assignment-cell > button.assigned-driver-trigger .auto-review-badge { grid-column: 1 / -1; justify-self: start; }
.fixed-vehicle-label { display: grid; gap: 1px; padding: 5px 7px; border: 1px solid #c9bba8; border-radius: 7px; background: #f8f3ec; color: #6d5640; }
.fixed-vehicle-label strong { font-size: 12px; }
.fixed-vehicle-label small { font-size: 10px; font-weight: 750; }
.resource-assignment-cell > span.unassigned { background: #fff0ed; color: #9d2f25; font-weight: 700; }
.resource-assignment-cell .auto-review-badge, .auto-review-badge { padding: 2px 5px; border-radius: 999px; background: #fff4df; color: #7d4d00; font-size: 10px; font-weight: 850; white-space: nowrap; }
.resource-assignment-cell > button.unassigned { width: 100%; margin: 0 0 5px; padding: 7px; border-color: #df9b94; background: #fff0ed; color: #9d2f25; font-size: 13px; font-weight: 750; text-align: left; }
.resource-assignment-cell > button.unassigned:hover { border-color: #b84238; background: #ffe3df; color: #84251e; }
.resource-assignment-cell > span.mixed-assignment { background: #fff4df; color: var(--amber); }
.resource-assignment-cell > button.mixed-assignment { display: grid; gap: 2px; width: 100%; border-color: #e1b96f; background: #fff4df; color: #7d4d00; font-size: 12px; text-align: left; }
.resource-assignment-cell > button.mixed-assignment small { color: #8e611b; font-size: 11px; }
.audit-panel { padding: 14px; }.audit-panel h2 { margin: 0; }.audit-panel ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }.audit-panel li { display: grid; grid-template-columns: 115px 1fr auto; gap: 9px; padding: 8px; background: #f8fafc; font-size: 13px; }.audit-panel time, .audit-panel span { color: var(--muted); }
.messages { display: grid; gap: 5px; }.messages p { margin: 0; padding: 9px 11px; }.messages .success { border-color: #a7d9c0; color: var(--green); }.messages .error { border-color: #f1b3ad; color: var(--red); }

.assignment-picker-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 14px; color: var(--ink); box-shadow: 0 24px 80px rgba(9, 24, 45, .28); }
.assignment-picker-dialog::backdrop { background: rgba(9, 24, 45, .54); }
.assignment-picker-shell { display: grid; grid-template-areas: "header" "scope" "range" "help" "coverage" "options" "footer"; grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto; height: min(760px, calc(100vh - 32px)); }
.assignment-picker-shell > header { grid-area: header; }
.assignment-picker-shell > .scope-picker { grid-area: scope; }
.assignment-picker-shell > .assignment-range-picker { grid-area: range; }
.assignment-picker-shell > .picker-help { grid-area: help; }
.assignment-picker-shell > .assignment-coverage { grid-area: coverage; }
.assignment-picker-shell > .assignment-option-list { grid-area: options; min-height: 0; }
.assignment-picker-shell > footer { grid-area: footer; }
.assignment-picker-shell > header, .assignment-picker-shell > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: #fff; }
.assignment-picker-shell > header { border-bottom: 1px solid var(--line); }
.assignment-picker-shell > header h2 { margin: 0; }
.dialog-close { width: 36px; height: 36px; padding: 0; border-color: var(--line); background: #fff; color: #314761; font-size: 22px; }
.scope-picker { display: flex; gap: 6px; padding: 12px 16px 0; background: #fff; }
.scope-picker button { flex: 1; border-color: #b8c6d6; background: #fff; color: #294260; }
.scope-picker button[aria-pressed="true"] { border-color: var(--blue); background: #eaf3ff; color: #0f58ac; }
.assignment-range-picker { display: grid; gap: 7px; padding: 8px 16px 0; background: #fff; }
.assignment-range-picker[hidden] { display: none; }
.assignment-range-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.assignment-range-picker button { min-height: 42px; padding: 7px; border-color: #b8c6d6; background: #fff; color: #294260; font-size: 12px; }
.assignment-range-picker button[aria-pressed="true"] { border-color: var(--blue); background: #eaf3ff; color: #0f58ac; }
.assignment-custom-range { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 8px; margin: 0; padding: 7px 9px 9px; border: 1px solid #c8d4e2; border-radius: 8px; }
.assignment-custom-range[hidden] { display: none; }
.assignment-custom-range legend { padding-inline: 4px; color: #294260; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.assignment-custom-range label { display: grid; gap: 3px; color: var(--muted); font-size: 11px; font-weight: 750; }
.assignment-custom-range input, .assignment-custom-range select { width: 100%; min-width: 0; padding: 7px; border: 1px solid #b8c6d6; border-radius: 7px; background: #fff; color: var(--ink); }
.assignment-handover { margin: 0; padding: 7px 9px; border-radius: 7px; background: #eef3f8; color: #40566e; font-size: 12px; font-weight: 750; }
.picker-help { margin: 0; padding: 10px 16px; background: #fff; color: var(--muted); font-size: 13px; }
.assignment-coverage { display: grid; gap: 5px; padding: 10px 16px; border-top: 1px solid #e2e8f0; background: #fffaf0; font-size: 12px; }
.assignment-coverage[hidden] { display: none; }
.assignment-coverage > strong { color: #7d4d00; font-size: 13px; }
.assignment-coverage > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top: 5px; border-top: 1px solid #f1dfbd; }
.assignment-coverage small { color: #35516e; font-weight: 750; text-align: right; }
.assignment-coverage .is-unassigned small { color: #a33a2b; }
.assignment-option-list { display: grid; align-content: start; gap: 6px; overflow-y: auto; padding: 12px 16px; background: #f4f7fa; }
.assignment-option-list h3 { margin: 2px 0 4px; color: #294260; font-size: 13px; text-transform: uppercase; }
.assignment-change-review { display: grid; gap: 8px; padding: 10px; border: 1px solid #d4dfeb; border-radius: 9px; background: #fff; }
.assignment-change-review section { display: grid; gap: 4px; }
.assignment-change-review strong { color: #294260; font-size: 12px; }
.assignment-review-boundary { margin: 0; color: #40566e; font-size: 11px; font-weight: 750; }
.assignment-change-review ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; color: #36516d; font-size: 11px; }
.assignment-change-review li { padding: 8px 9px; border: 1px solid #dbe4ed; border-radius: 7px; background: #f7fafc; line-height: 1.45; }
.driver-removal-review { gap: 10px; }
.driver-removal-preserved, .driver-removal-warning { margin: 0; padding: 7px 9px; border-radius: 7px; background: #edf4fa; color: #35516e; font-size: 11px; font-weight: 700; }
.driver-removal-warning { background: #fff1dc; color: #7d4d00; }
.driver-removal-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; padding: 9px; border: 1px solid #d4dfeb; border-radius: 8px; background: #f8fafc; }
.driver-removal-card h4 { margin: 0; color: #17232c; font-size: 13px; }
.driver-removal-card > small { color: #536b84; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.driver-removal-card ul { grid-column: 1 / -1; padding-left: 16px; }
.driver-removal-card label { display: flex; align-items: flex-start; gap: 7px; color: #7d2f27; font-weight: 750; }
.assignment-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 10px 12px; border-color: #c8d4e2; background: #fff; color: var(--ink); text-align: left; }
.assignment-option > span:first-child { display: grid; gap: 3px; }
.assignment-option small { color: var(--muted); font-weight: 600; }
.assignment-option .driver-roster-window { color: #315b85; }
.assignment-option .driver-other-work { color: #5c4a84; font-weight: 750; }
.assignment-option .driver-range-summary { display: grid; flex: 0 0 auto; gap: 3px; max-width: 220px; color: #315b85; font-size: 11px; font-weight: 800; text-align: right; }
.assignment-option .driver-range-summary strong { font-size: inherit; }
.assignment-option .driver-range-summary small { font-size: 11px; font-weight: 700; }
.assignment-option .fairness-summary { color: #5b6f84; font-size: 12px; font-weight: 750; text-align: right; }
.assignment-option.is-selected { border-color: var(--blue); outline: 2px solid #b9d6fb; }
.assignment-option.is-assigned { box-shadow: inset 4px 0 var(--green); }
.assignment-option.is-unavailable { border-color: #d7dde5; background: #eef1f4; color: #7d8997; }
.assignment-option.is-unavailable:disabled { cursor: not-allowed; opacity: 1; }
.assignment-option.is-unavailable small { color: #5f6c79; }
.assignment-option.is-in-use { border-color: #d9bd78; background: #fff8e8; color: #5f4a1d; }
.assignment-option.is-in-use small { color: #765d27; }
.placement-option .placement-state { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: #eaf3ff; color: #0f58ac; font-size: 11px; font-weight: 850; }
.placement-option.is-assigned .placement-state { background: #e9f8f0; color: var(--green); }
.placement-option.is-unavailable .placement-state { background: #e2e7ec; color: #6f7c8a; }
.candidate-placement-shell { grid-template-areas: "header" "body" "footer"; grid-template-rows: auto minmax(0, 1fr) auto; }
.candidate-placement-shell > .candidate-placement-body { grid-area: body; min-height: 0; overflow-y: auto; background: #f4f7fa; }
.candidate-placement-body > .assignment-option-list { overflow: visible; }
.candidate-summary { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 8px; margin: 0; padding: 12px 16px; background: #fff; }
.candidate-summary div { min-width: 0; padding: 8px; border-radius: 8px; background: #f4f7fa; }
.candidate-summary dt { color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.candidate-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 700; }
.candidate-route-parts, .candidate-route-part, .candidate-route-part > span { display: grid; gap: 3px; }
.candidate-route-parts { gap: 7px; }
.candidate-route-part { padding-top: 6px; border-top: 1px solid #dce4ec; }
.candidate-route-part:first-child { padding-top: 0; border-top: 0; }
.candidate-route-part > span { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.candidate-route-part small { color: var(--muted); font-weight: 650; }
.candidate-route-part em { padding: 2px 5px; border-radius: 999px; background: #fff4df; color: #7d4d00; font-size: 10px; font-style: normal; font-weight: 850; }
.assignment-picker-shell > footer { border-top: 1px solid var(--line); }
.assignment-picker-shell > footer label { display: grid; gap: 3px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.assignment-picker-shell > footer select { min-width: 150px; padding: 7px; border: 1px solid #c8d4e2; border-radius: 7px; background: #fff; }
.assignment-picker-shell > footer > div { display: flex; gap: 7px; }
button.danger { border-color: #e4a6a0; color: var(--red); }
.picker-loading, .picker-empty, .picker-error { margin: 0; padding: 16px; border-radius: 8px; background: #fff; color: var(--muted); text-align: center; }
.picker-error { color: var(--red); }

.assignment-reset-dialog { width: min(640px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 14px; color: var(--ink); box-shadow: 0 24px 80px rgba(9, 24, 45, .28); }
.assignment-reset-dialog::backdrop { background: rgba(9, 24, 45, .54); }
.assignment-reset-dialog > form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(760px, calc(100vh - 32px)); margin: 0; background: #f4f7fa; }
.assignment-reset-dialog header, .assignment-reset-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: #fff; }
.assignment-reset-dialog header { border-bottom: 1px solid var(--line); }
.assignment-reset-dialog footer { justify-content: flex-end; border-top: 1px solid var(--line); }
.assignment-reset-dialog h2, .assignment-reset-dialog header p { margin: 0; }
.assignment-reset-body { display: grid; gap: 10px; overflow-y: auto; padding: 14px 16px; }
.assignment-reset-body fieldset { display: grid; gap: 7px; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.assignment-reset-body legend { padding: 0 5px; color: #294260; font-size: 13px; font-weight: 850; }
.assignment-reset-body label { display: flex; align-items: flex-start; gap: 9px; padding: 8px; border: 1px solid #d5dee8; border-radius: 7px; background: #fff; cursor: pointer; }
.assignment-reset-body label:has(input:checked) { border-color: #82afe0; background: #eff7ff; }
.assignment-reset-body input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; }
.assignment-reset-body label span { display: grid; min-width: 0; gap: 2px; }
.assignment-reset-body label strong { font-size: 14px; }
.assignment-reset-body label small { color: var(--muted); font-size: 12px; }
.assignment-reset-impact { margin: 0; padding: 10px 12px; border: 1px solid #e1c17c; border-radius: 8px; background: #fff9eb; color: #7d4d00; font-size: 13px; font-weight: 800; }
.assignment-reset-dialog button.danger:not(:disabled) { border-color: var(--red); background: var(--red); color: #fff; }

.duty-actions-dialog { width: min(720px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 14px; color: var(--ink); box-shadow: 0 24px 80px rgba(9, 24, 45, .28); }
.duty-actions-dialog::backdrop { background: rgba(9, 24, 45, .54); }
.duty-actions-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); max-height: min(760px, calc(100vh - 32px)); background: #f4f7fa; }
.duty-actions-shell > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.duty-actions-shell > header h2 { margin: 0; }
.duty-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; overflow-y: auto; padding: 14px 16px 16px; }
.duty-action-grid > section { display: grid; align-content: start; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.duty-action-grid > section:not(.duty-training-actions) { grid-template-rows: auto minmax(0, 1fr) auto; }
.duty-action-grid h3, .duty-action-grid p { margin: 0; }
.duty-action-grid p { color: var(--muted); font-size: 13px; }
.duty-current-resources { display: flex; flex-wrap: wrap; gap: 5px; }
.duty-current-resources span { padding: 6px 8px; border-radius: 6px; background: #e9f8f0; color: #12613b; font-size: 12px; font-weight: 750; }
.duty-training-actions { grid-column: 1 / -1; }
.duty-training-actions > a { display: grid; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 8px; padding: 10px; border: 1px solid #b9d6fb; border-radius: 8px; background: #eff7ff; color: var(--ink); text-decoration: none; }
.duty-training-actions > a:hover { border-color: var(--blue); background: #e3f0ff; }
.duty-training-actions time { color: #0f4f91; font-size: 14px; font-weight: 850; }
.duty-training-actions a > span { display: grid; gap: 2px; }
.duty-training-actions small { color: var(--blue); font-size: 11px; }

.airport-day-timeline { display: grid; min-width: 0; align-content: start; gap: 8px; }
.airport-timeline-entry, .airport-duty-card.airport-boolgeeda { --airport-colour: #28866f; --airport-tint: rgba(40, 134, 111, .09); }
.airport-timeline-entry.airport-paraburdoo, .airport-duty-card.airport-paraburdoo { --airport-colour: #b96d22; --airport-tint: rgba(226, 146, 69, .12); }
.airport-timeline-entry { display: grid; min-width: 0; }
.site-clearance-duty-card, .airport-duty-card { position: relative; display: grid; min-width: 0; height: 100%; align-content: start; gap: 8px; padding: 11px; overflow: visible; border: 1px solid color-mix(in srgb, var(--airport-colour) 42%, var(--line)); border-radius: 8px; background: rgba(255, 255, 255, .94); box-shadow: inset 4px 0 var(--airport-colour); }
.airport-timeline-header { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 6px; padding-right: 28px; }
.airport-timeline-header > div { display: grid; min-width: 0; gap: 3px; }
.airport-timeline-header strong { overflow-wrap: anywhere; font-size: 15px; }
.airport-timeline-kind, .airport-duty-shape, .airport-timeline-status { display: inline-flex; width: fit-content; padding: 2px 6px; border-radius: 999px; background: var(--airport-tint); color: var(--airport-colour); font-size: 11px; font-weight: 850; }
.airport-timeline-badges { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 3px; }
.airport-timeline-status { background: #fff0ed; color: #9d2f25; }
.site-clearance-duty-card > p, .airport-duty-card > p { margin: 0; color: #40566e; font-size: 13px; }
.site-clearance-duty-card.is-not-operating, .airport-duty-card.is-not-operating { opacity: .62; filter: grayscale(.65); }
.airport-timeline-flight { overflow: hidden; color: #40566e; font-size: 12px !important; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.airport-timeline-detail { min-width: 0; border-top: 1px solid var(--line); }
.airport-timeline-detail > summary { width: fit-content; padding-top: 6px; color: var(--blue); font-size: 12px; font-weight: 800; cursor: pointer; }
.airport-timeline-detail-body { display: grid; gap: 7px; padding-top: 7px; }
.airport-timeline-detail p, .airport-timeline-detail-body p { margin: 0; color: #40566e; font-size: 12px; }
.airport-flight-detail, .airport-route-detail, .airport-shuttle { display: flex; flex-wrap: wrap; gap: 3px 8px; }
.airport-flight-detail b { color: #223f5d; }
.airport-provisional-recovery { display: grid; gap: 2px; padding: 8px; border-radius: 6px; background: #fff5df; }
.airport-provisional-recovery b { color: #81500d; }
.airport-shuttle { padding: 7px; border-radius: 6px; background: #edf4fb; }
.airport-resource-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: auto; padding-top: 3px; }
.airport-resource-group { display: grid; min-width: 0; gap: 5px; }
.airport-resource-control { display: grid; min-width: 0; gap: 1px; width: 100%; min-height: 52px; margin: 0; padding: 7px 9px; border: 1px solid; border-radius: 7px; text-align: left; text-decoration: none; }
.airport-resource-control small { font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.airport-resource-control strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.airport-resource-control span { font-size: 11px; font-weight: 700; }
.airport-resource-control.is-assigned { border-color: #71ad8d; background: #e9f8f0; color: #12613b; }
.assignment-context-badges { display: flex; min-width: 0; flex-wrap: wrap; gap: 3px; }
.airport-resource-control .assignment-context-badge { display: inline-flex; width: fit-content; padding: 2px 6px; border-radius: 999px; background: #d7ecff; color: #174f84; font-size: 11px; font-weight: 900; letter-spacing: .02em; line-height: 1.25; white-space: nowrap; }
button.airport-resource-control.is-assigned:hover { border-color: #0c6940; background: #dff3e8; }
.airport-resource-control.is-unassigned { border-color: #df9b94; background: #fff0ed; color: #9d2f25; }
button.airport-resource-control.is-unassigned:hover { border-color: #b84238; background: #ffe3df; color: #84251e; }
.support-bus-inheritance { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 750; }
.airport-card-menu { position: absolute; top: 7px; right: 7px; z-index: 3; }
.airport-card-menu > summary { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid transparent; border-radius: 6px; color: #40566e; cursor: pointer; list-style: none; }
.airport-card-menu > summary::-webkit-details-marker { display: none; }
.airport-card-menu > summary:hover, .airport-card-menu > summary:focus-visible, .airport-card-menu[open] > summary { border-color: var(--line); outline: 0; background: #edf3f8; color: var(--ink); }
.airport-card-menu > summary span { font-size: 20px; font-weight: 900; line-height: 1; transform: translateY(-1px); }
.airport-card-menu:not([open]) .airport-card-menu-panel { display: none; }
.airport-card-menu-panel { position: absolute; top: 30px; right: 0; width: max-content; max-width: min(210px, calc(100vw - 32px)); padding: 5px; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: 0 8px 24px rgba(9, 24, 45, .2); }
.airport-card-menu-panel form { margin: 0; }
.airport-card-menu-panel button { width: 100%; margin: 0; padding: 7px 9px; font-size: 12px; text-align: left; white-space: nowrap; }
.catalog-transition-review { display: grid; gap: 4px; padding: 8px; border: 1px solid #e1b96f; border-radius: 7px; background: #fff8e8; color: #7d4d00; font-size: 11px; }
.catalog-transition-review form { margin: 0; }
.catalog-transition-review button { width: auto; justify-self: start; font-size: 11px; }
.legacy-airport-history { overflow: hidden; border: 1px solid #d7dee7; border-radius: 10px; background: #f8fafc; }
.legacy-airport-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; color: #294260; cursor: pointer; list-style: none; }
.legacy-airport-disclosure > summary::-webkit-details-marker { display: none; }
.legacy-airport-disclosure > summary:hover, .legacy-airport-disclosure > summary:focus-visible { background: #edf3f8; }
.legacy-airport-disclosure > summary span { display: grid; gap: 2px; }
.legacy-airport-disclosure > summary b { font-size: 14px; }
.legacy-airport-disclosure > summary small { color: var(--muted); font-size: 12px; font-weight: 650; }
.legacy-airport-disclosure > summary em { flex: 0 0 auto; color: var(--blue); font-size: 12px; font-style: normal; font-weight: 800; }
.legacy-airport-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: #f3f7fb; }
.legacy-airport-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; padding: 10px; }
.legacy-airport-list article { display: grid; gap: 6px; padding: 9px; border: 1px solid #e1b96f; border-radius: 8px; background: #fffaf0; }
.legacy-airport-list header { display: flex; justify-content: space-between; gap: 8px; }
.legacy-airport-list header strong { font-size: 13px; }
.legacy-airport-list header span { color: #7d4d00; font-size: 11px; font-weight: 800; }
.legacy-airport-list p { margin: 0; color: var(--muted); font-size: 12px; }
.legacy-airport-list article > div { display: flex; flex-wrap: wrap; gap: 5px; font-size: 12px; }
.legacy-airport-list small { color: var(--muted); font-weight: 800; text-transform: uppercase; }
.ambiguous-additional-duties { display: grid; gap: 5px; margin-bottom: 10px; padding: 9px; border: 1px solid #d5b3ca; border-radius: 8px; background: #fbf2f8; font-size: 12px; }
.ambiguous-additional-duties > span { color: var(--muted); }
.ambiguous-additional-duties a { display: flex; justify-content: space-between; gap: 8px; padding: 6px; border-radius: 6px; background: #fff; color: #5f4054; text-decoration: none; }
.ambiguous-additional-duties small { color: var(--muted); }
.additional-duties { display: grid; gap: 4px; margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--line); }
.additional-duties > small { color: #7c4767; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.additional-duties > a { display: grid; gap: 1px; padding: 5px; border-radius: 6px; background: #fbf2f8; color: #5f4054; text-decoration: none; }
.additional-duties b { overflow-wrap: anywhere; font-size: 11px; }
.additional-duties em { color: var(--muted); font-size: 10px; font-style: normal; }

@media (min-width: 1320px) {
  .primary-board { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); grid-template-areas: "daily airport" "history history"; align-items: start; }
  .airport-overview .section-heading > span { display: none; }
  .airport-overview .section-collapse-trigger > span:first-child { font-size: 18px; }
  .airport-overview .section-collapse-trigger { gap: 7px; }
  .daily-run-table { min-width: 820px; }
}

@media (max-width: 980px) {
  .site-header, .week-panel, .plan-toolbar { align-items: flex-start; flex-direction: column; }
  .two-week-panel { display: grid; grid-template-columns: 1fr; }
  .day-navigation { width: 100%; }
  .day-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .operations-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 1180px) {
  .airport-week-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .duty-table-wrap:has(.daily-run-table) { overflow: visible; border: 0; }
  .daily-run-table { display: block; min-width: 0; background: transparent; }
  .daily-run-table thead { display: block; margin-bottom: 5px; }
  .daily-run-table thead tr, .daily-run-table .duty-group-body tr { display: grid; grid-template-columns: minmax(78px, .72fr) minmax(0, 1.8fr) minmax(76px, .78fr); }
  .daily-run-table thead th { width: auto; min-width: 0; padding: 6px; }
  .daily-run-table .duty-group-body { display: block; margin-bottom: 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
  .daily-run-table .family-header-body { display: block; margin: 14px 0 6px; overflow: hidden; border-radius: 9px; }
  .daily-run-table .family-header-body:first-of-type { margin-top: 0; }
  .daily-run-table .duty-group-body + .duty-group-body tr:first-child > * { border-top: 0; }
  .daily-run-table .duty-group-body tr { border-bottom: 1px solid var(--line); }
  .daily-run-table .family-group-row { display: block; border: 0; }
  .daily-run-table .family-group-row th { display: block; }
  .daily-run-table .duty-group-body tr:last-child { border-bottom: 0; }
  .daily-run-table .duty-group-body tr > * { width: auto; min-width: 0; padding: 6px; border: 0; border-right: 1px solid #edf1f5; }
  .daily-run-table .duty-group-body tr > *:last-child { border-right: 0; }
  .daily-run-table .duty-continuation-row .timed-work-cell { grid-column: 2; }
  .daily-run-table .duty-continuation-row .resource-assignment-cell { grid-column: 3; }
  .daily-run-table th[scope="rowgroup"] { background: #f2f6fa; }
  .daily-run-table .duty-heading-trigger { padding: 5px; }
  .daily-run-table .duty-heading-trigger strong { overflow-wrap: anywhere; font-size: 13px; }
  .daily-run-table .duty-bus-slot { margin-top: 7px; padding-top: 6px; }
  .daily-run-table .duty-bus-trigger { display: block; padding: 5px; }
  .daily-run-table .timed-work-cell { min-width: 0; }
  .daily-run-table .duty-part { grid-template-columns: 44px minmax(0, 1fr); padding: 5px; }
  .daily-run-table .duty-part time { font-size: 12px; }
  .daily-run-table .duty-part .run-occupancy { grid-column: 2; white-space: normal; }
  .daily-run-table .resource-assignment-cell > span, .daily-run-table .resource-assignment-cell > button { overflow-wrap: anywhere; }
}

@media (max-width: 620px) {
  .site-header, main { padding-inline: 12px; }
  nav { width: 100%; overflow-x: auto; }
  .plan-actions { justify-content: flex-start; }
  .audit-panel li { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading > span { text-align: left; }
  .airport-overview, .daily-duty-board { padding: 10px; }
  .day-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .day-summary { display: grid; gap: 5px; }
  .assignment-picker-dialog { width: 100%; max-width: none; max-height: 88vh; max-height: 88dvh; margin: auto 0 0; overflow-y: auto; border-radius: 16px 16px 0 0; }
  .assignment-picker-shell { height: auto; min-height: 88vh; min-height: 88dvh; }
  .assignment-picker-shell > .assignment-option-list { overflow: visible; }
  .assignment-range-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .assignment-range-options button:last-child { grid-column: 1 / -1; }
  .assignment-custom-range { grid-template-columns: minmax(0, 1fr) 110px; }
  .duty-actions-dialog { width: 100%; max-width: none; max-height: 88vh; margin: auto 0 0; border-radius: 16px 16px 0 0; }
  .duty-actions-shell { max-height: 88vh; }
  .duty-action-grid { grid-template-columns: 1fr; }
  .duty-training-actions { grid-column: 1; }
  .assignment-picker-shell > footer { align-items: stretch; flex-direction: column; }
  .assignment-picker-shell > footer select { width: 100%; }
  .assignment-picker-shell > footer > div { display: grid; grid-template-columns: 1fr 1fr; }
  .assignment-option { align-items: flex-start; flex-direction: column; }
  .assignment-option .fairness-summary { text-align: left; }
  .assignment-option .driver-range-summary { max-width: none; text-align: left; }
  .candidate-summary { grid-template-columns: 1fr 1fr; }
  .candidate-summary div:last-child { grid-column: 1 / -1; }
  .family-group-controls.has-order-control .family-group-title { margin-right: 80px !important; }
  .family-order-toggle span { display: none !important; }
}

.allocation-calculation-progress { display: grid; gap: 7px; min-width: 0; margin: 10px 18px; padding: 12px 14px; border: 1px solid #9ab6d1; border-radius: 10px; background: #f4f9ff; color: #294260; }
.allocation-calculation-progress[hidden] { display: none; }
.allocation-calculation-progress-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; }
.allocation-calculation-progress-heading strong { overflow-wrap: anywhere; }
.allocation-calculation-progress-heading span { flex: 0 0 auto; color: #0f58ac; font-size: 18px; font-weight: 900; }
.allocation-calculation-progress progress { width: 100%; height: 12px; accent-color: var(--blue); }
.allocation-calculation-progress p { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; color: #526980; font-size: 12px; font-weight: 750; }
.allocation-calculation-progress[data-state="succeeded"] { border-color: #82be9f; background: #effaf4; color: #12613b; }
.allocation-calculation-progress[data-state="succeeded"] progress { accent-color: var(--green); }
.allocation-calculation-progress[data-state="failed"] { border-color: #dc928b; background: #fff3f1; color: #9d2f25; }
.allocation-calculation-progress[data-state="failed"] progress { accent-color: var(--red); }
.allocation-calculation-progress[data-state="stale"] { border-color: #d9b463; background: #fff9eb; color: #7d4d00; }
.allocation-calculation-progress[data-state="stale"] progress { accent-color: var(--amber); }
button.allocation-action-busy:disabled { opacity: .78; }
.allocation-action-busy { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.allocation-action-busy::before { width: 12px; height: 12px; flex: 0 0 auto; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ""; animation: allocation-progress-spin .75s linear infinite; }
@keyframes allocation-progress-spin { to { transform: rotate(1turn); } }
@media (prefers-reduced-motion: reduce) { .allocation-action-busy::before { animation: none; } }

.allocation-review-dialog { width: min(1180px, calc(100vw - 32px)); max-height: min(880px, calc(100vh - 32px)); }
.allocation-review-shell { grid-template-areas: "header" "settings" "summary" "state" "progress" "variants" "options" "footer"; grid-template-rows: auto auto auto auto auto auto minmax(0, 1fr) auto; height: min(880px, calc(100vh - 32px)); background: #f4f7fa; }
.allocation-review-settings { grid-area: settings; min-width: 0; }
.allocation-review-settings > summary { display: none; }
.allocation-review-shell > .allocation-review-summary { grid-area: summary; }
.allocation-review-shell > .allocation-review-state { grid-area: state; }
.allocation-review-shell > .allocation-calculation-progress { grid-area: progress; }
.allocation-review-shell > .allocation-review-variants { grid-area: variants; }
.allocation-review-shell > .allocation-review-list { grid-area: options; }
.allocation-review-shell > header > div { min-width: 0; }
.allocation-review-shell > header h2 { font-size: 24px; }
.allocation-review-shell > header p:last-child { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.allocation-review-range-picker { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.2fr); gap: 8px 14px; align-items: center; padding: 10px 18px; border-top: 1px solid var(--line); background: #fff; }
.allocation-review-range-picker h3, .allocation-review-range-picker p { margin: 0; }
.allocation-review-range-picker h3 { color: #294260; font-size: 14px; }
.allocation-review-range-picker p { margin-top: 2px; color: var(--muted); font-size: 12px; }
.allocation-review-range-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.allocation-review-range-options button { min-height: 38px; padding: 6px 8px; border-color: #b8c6d6; background: #fff; color: #294260; font-size: 13px; }
.allocation-review-range-options button[aria-pressed="true"] { border-color: var(--blue); background: #eaf3ff; color: #0f58ac; }
.allocation-review-custom-range { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: end; gap: 10px; min-width: 0; margin: 0; padding: 7px 10px 9px; border: 1px solid #cbd7e3; border-radius: 8px; background: #f7f9fb; }
.allocation-review-custom-range[hidden] { display: none; }
.allocation-review-custom-range legend { padding: 0 4px; color: #40566e; font-size: 12px; font-weight: 850; }
.allocation-review-custom-range label { display: grid; flex: 1 1 180px; gap: 3px; min-width: 0; color: #526980; font-size: 12px; font-weight: 800; }
.allocation-review-custom-range input, .allocation-review-custom-range select { width: 100%; min-width: 0; min-height: 36px; }
.allocation-review-recommendations { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(350px, 1.2fr); align-items: center; gap: 5px 14px; min-width: 0; padding: 8px 18px; border-top: 1px solid var(--line); background: #f8fafc; }
.allocation-review-recommendations h3, .allocation-review-recommendations p { margin: 0; }
.allocation-review-recommendations h3 { color: #294260; font-size: 14px; }
.allocation-review-recommendations > div:first-child p { margin-top: 2px; color: var(--muted); font-size: 12px; }
.allocation-review-recommendation-options { display: grid; grid-template-columns: minmax(140px, .8fr) minmax(210px, 1.2fr); align-items: end; gap: 8px; min-width: 0; }
.allocation-review-recommendation-options > label:first-child { display: grid; gap: 2px; min-width: 0; color: #526980; font-size: 12px; font-weight: 800; }
.allocation-review-recommendation-options select { width: 100%; min-width: 0; min-height: 34px; }
.allocation-review-trainee-option { display: flex; min-height: 34px; align-items: center; gap: 7px; min-width: 0; padding: 5px 8px; border: 1px solid #cbd7e3; border-radius: 7px; background: #fff; color: #40566e; font-size: 13px; font-weight: 800; }
.allocation-review-trainee-option input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; }
.allocation-review-trainee-option span { overflow-wrap: anywhere; }
.allocation-review-filter-summary { grid-column: 2; overflow-wrap: anywhere; color: #40566e; font-size: 12px; font-weight: 750; }
.allocation-review-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 8px; margin: 0; padding: 12px 18px; background: #fff; }
.allocation-review-summary > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; }
.allocation-review-summary > [hidden] { display: none; }
.allocation-review-summary dt { color: var(--muted); font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.allocation-review-summary dd { margin: 0; font-size: 20px; font-weight: 900; }
.allocation-review-summary .is-assigned { border-color: #9bcfb4; background: #effaf4; color: #12613b; }
.allocation-review-summary .is-proposed { border-color: #9fc4ed; background: #eff7ff; color: #0f58ac; }
.allocation-review-summary .is-review-required { border-color: #e1c17c; background: #fff9eb; color: #7d4d00; }
.allocation-review-summary .is-unfilled { border-color: #e8aaa4; background: #fff3f1; color: #9d2f25; }
.allocation-review-summary .is-trainee { border-color: #c6b8e5; background: #f6f2ff; color: #6349a0; }
.allocation-review-state { margin: 0; padding: 9px 18px; border-block: 1px solid var(--line); background: #eef3f8; color: #40566e; font-size: 13px; font-weight: 750; }
.allocation-review-state.is-ready { background: #effaf4; color: #12613b; }
.allocation-review-state.is-attention { background: #fff9eb; color: #7d4d00; }
.allocation-review-state.is-error { background: #fff3f1; color: #9d2f25; }
.allocation-review-variants { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; min-width: 0; padding: 8px 18px; border-bottom: 1px solid var(--line); background: #fff; }
.allocation-review-variants[hidden] { display: none; }
.allocation-review-variants button { min-height: 36px; padding: 6px 10px; }
.allocation-review-variants p { display: flex; align-items: baseline; justify-content: center; gap: 8px; min-width: 0; margin: 0; text-align: center; }
.allocation-review-variants strong { overflow: hidden; color: #163f6c; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.allocation-review-variants span { color: var(--muted); font-size: 12px; font-weight: 800; }
.allocation-review-list { display: grid; align-content: start; gap: 12px; min-height: 0; overflow-y: auto; padding: 14px 18px 18px; }
.allocation-review-list > [data-allocation-results] { display: grid; gap: 16px; min-width: 0; }
.allocation-review-date-options { display: flex; min-height: 40px; gap: 5px; overflow-x: auto; padding-bottom: 2px; }
.allocation-review-date-options[hidden] { display: none; }
.allocation-review-date-options button { flex: 0 0 auto; min-height: 38px; padding: 6px 10px; }
.allocation-review-date-options button[aria-pressed="true"] { border-color: var(--blue); background: #eaf3ff; color: #0f58ac; }
.allocation-review-core, .allocation-review-support { display: grid; gap: 8px; min-width: 0; }
.allocation-review-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.allocation-review-group-heading h3, .allocation-review-group-heading p { margin: 0; }
.allocation-review-group-heading h3 { color: #213e5d; font-size: 17px; }
.allocation-review-group-heading p { color: var(--muted); font-size: 12px; text-align: right; }
.allocation-review-grid-wrap { min-width: 0; overflow-x: auto; border: 1px solid #cbd7e3; border-radius: 9px; background: #fff; }
.allocation-review-grid { width: max-content; min-width: 100%; table-layout: auto; border-collapse: collapse; }
.allocation-review-grid th, .allocation-review-grid td { min-width: 116px; padding: 5px; border-right: 1px solid #dbe4ed; border-bottom: 1px solid #dbe4ed; vertical-align: middle; }
.allocation-review-grid tr:last-child > * { border-bottom: 0; }
.allocation-review-grid tr > *:last-child { border-right: 0; }
.allocation-review-grid thead th { background: #eaf1f8; color: #294260; font-size: 12px; font-weight: 850; text-align: center; }
.allocation-review-grid thead th:first-child { width: 148px; min-width: 148px; text-align: left; }
.allocation-review-grid tbody th { overflow-wrap: anywhere; background: #f8fafc; color: #294260; font-size: 13px; text-align: left; }
.allocation-review-grid td.is-empty { color: #98a7b8; text-align: center; }
.allocation-review-cell { display: grid; width: 100%; min-height: 48px; place-items: center; padding: 6px; border-color: #b8c6d6; background: #fff; color: #294260; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; text-align: center; }
.allocation-review-assignment-label { min-width: 0; overflow-wrap: anywhere; }
.allocation-review-context { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: 3px; }
.allocation-review-context-badge { display: inline-flex; padding: 2px 5px; border-radius: 999px; background: #d7ecff; color: #174f84; font-size: 10px; font-weight: 900; line-height: 1.2; white-space: nowrap; }
.allocation-review-context-badge.is-airport { background: #d8f1e9; color: #176b58; }
.allocation-review-context-badge.is-site-clearance { background: #f3deec; color: #75445f; }
.allocation-review-context-badge.is-support { background: #f8e8bd; color: #7a4a08; }
.allocation-review-cell:hover, .allocation-review-cell:focus-visible { border-color: var(--blue); background: #edf6ff; }
.allocation-review-cell.is-assigned { border-color: #7fbd9d; background: #effaf4; color: #12613b; }
.allocation-review-cell.is-proposed { border-color: #88b7e9; background: #eff7ff; color: #0f58ac; }
.allocation-review-cell.is-review-required { border-color: #d6ad57; background: #fff8e8; color: #7d4d00; }
.allocation-review-cell.is-unfilled { border-color: #db8f87; background: #fff1ef; color: #9d2f25; }
.allocation-review-support-day { display: grid; gap: 5px; min-width: 0; }
.allocation-review-support-day h4 { margin: 0; color: #526980; font-size: 13px; }
.allocation-review-training { display: grid; gap: 8px; min-width: 0; }
.allocation-review-training[hidden] { display: none; }
.allocation-staffing-review { display: grid; gap: 12px; min-width: 0; padding: 14px; border: 1px solid #d2aa55; border-left: 5px solid #c88a16; border-radius: 10px; background: #fffaf0; }
.allocation-staffing-review.is-confirmed { border-color: #68a98a; border-left-color: #267454; background: #f3fbf7; }
.allocation-staffing-heading { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.allocation-staffing-heading h3, .allocation-staffing-heading p { margin: 0; }
.allocation-staffing-heading .eyebrow { color: #875500; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.allocation-staffing-heading h3 { margin-top: 2px; color: #5f3e00; font-size: 20px; }
.allocation-staffing-intro { margin-top: 4px !important; color: #6d5a34; font-size: 13px; }
.allocation-staffing-workload { display: grid; flex: 0 0 auto; gap: 2px; padding: 8px 10px; border: 1px solid #dfc486; border-radius: 8px; background: #fff; text-align: right; }
.allocation-staffing-workload span { color: var(--muted); font-size: 11px; font-weight: 800; }
.allocation-staffing-workload strong { color: #6c4500; font-size: 14px; }
.allocation-staffing-responsibilities { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
.allocation-staffing-card { display: grid; gap: 3px; min-width: 0; padding: 10px; border: 1px solid #ddc794; border-radius: 8px; background: #fff; }
.allocation-staffing-card h4, .allocation-staffing-card p { margin: 0; overflow-wrap: anywhere; }
.allocation-staffing-card small { color: #7c6941; font-weight: 850; }
.allocation-staffing-card h4 { color: #3d4f61; font-size: 14px; }
.allocation-staffing-driver { color: #174f84; font-size: 16px; }
.allocation-staffing-card p { color: #526980; font-size: 12px; }
.allocation-staffing-support { display: grid; gap: 6px; }
.allocation-staffing-support h4 { margin: 0; color: #4b5661; font-size: 13px; }
.allocation-staffing-support ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.allocation-staffing-support li { display: grid; grid-template-columns: 90px minmax(0, 1fr) minmax(100px, auto); gap: 8px; align-items: center; padding: 6px 8px; border-radius: 6px; background: #fff; color: #526980; font-size: 12px; }
.allocation-staffing-support strong { color: #3d4f61; }
.allocation-staffing-warning { margin: 0; color: #8f3b2f; font-size: 12px; font-weight: 800; }
.allocation-staffing-confirmation { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 10px; border: 1px solid #c9a24f; border-radius: 8px; background: #fff; color: #694500; font-size: 13px; font-weight: 850; }
.allocation-staffing-confirmation input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
.allocation-training-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.allocation-training-card { display: grid; gap: 7px; min-width: 0; padding: 11px; border: 1px solid #b9c8d8; border-left: 4px solid #7e9fbe; border-radius: 9px; background: #fff; }
.allocation-training-card.is-selected { border-color: #4d8f73; border-left-color: #267454; background: #f0faf5; }
.allocation-training-card-heading { display: flex; align-items: center; gap: 8px; color: #213e5d; }
.allocation-training-card-heading input { width: 17px; height: 17px; margin: 0; }
.allocation-training-identity { display: grid; min-width: 0; }
.allocation-training-identity strong, .allocation-training-identity small { overflow-wrap: anywhere; }
.allocation-training-identity small, .allocation-training-range, .allocation-training-trainers, .allocation-training-note { margin: 0; color: #526980; font-size: 12px; }
.allocation-training-duration { display: grid; gap: 3px; color: #40566e; font-size: 12px; font-weight: 800; }
.allocation-training-duration select { width: 100%; min-height: 34px; }
.allocation-review-support-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.allocation-review-support-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 46px; align-items: center; justify-items: stretch; gap: 8px; padding: 7px 9px; text-align: left; }
.allocation-review-support-item strong, .allocation-review-support-item span { overflow-wrap: anywhere; }
.allocation-review-support-item strong { color: #294260; font-size: 13px; }
.allocation-review-support-item span { font-size: 12px; text-align: right; }
.allocation-review-badge { justify-self: start; padding: 3px 7px; border-radius: 999px; background: #edf2f7; color: #40566e; font-size: 11px; font-weight: 850; white-space: nowrap; }
.is-assigned .allocation-review-badge { background: #e9f8f0; color: #12613b; }
.is-proposed .allocation-review-badge { background: #eaf3ff; color: #0f58ac; }
.is-review-required .allocation-review-badge { background: #fff4df; color: #7d4d00; }
.is-unfilled .allocation-review-badge { background: #fff0ed; color: #9d2f25; }
.allocation-review-detail { display: grid; gap: 7px; min-width: 0; padding: 10px; border: 2px solid #89add3; border-radius: 9px; background: #f8fbff; outline: 0; }
.allocation-review-detail[hidden] { display: none; }
.allocation-review-detail > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.allocation-review-detail h3 { margin: 0; color: #213e5d; font-size: 16px; }
.allocation-review-detail > header button { min-width: 34px; padding: 4px 8px; font-size: 18px; }
.allocation-review-detail-item { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(140px, .8fr) minmax(180px, 1.2fr) auto; align-items: center; gap: 5px 10px; min-width: 0; padding: 8px; border: 1px solid var(--line); border-left-width: 4px; border-radius: 7px; background: #fff; }
.allocation-review-detail-item.is-assigned { border-left-color: var(--green); }
.allocation-review-detail-item.is-proposed { border-left-color: var(--blue); }
.allocation-review-detail-item.is-review-required { border-left-color: var(--amber); }
.allocation-review-detail-item.is-unfilled { border-left-color: var(--red); }
.allocation-review-detail-item > header { display: flex; align-items: center; gap: 6px; min-width: 0; }
.allocation-review-detail-item > header strong { overflow-wrap: anywhere; font-size: 13px; }
.allocation-review-detail-item p { margin: 0; overflow-wrap: anywhere; }
.allocation-review-detail-assignment { color: #294260; font-size: 13px; font-weight: 800; }
.allocation-review-detail-window { color: #526980; font-size: 13px; }
.allocation-review-reason { color: #526980; font-size: 12px; }
.allocation-review-detail-item a { justify-self: end; color: var(--blue); font-size: 13px; font-weight: 800; }
.allocation-review-empty, .allocation-review-loading { margin: 0; padding: 24px; border: 1px dashed #b8c6d6; border-radius: 9px; background: #fff; color: var(--muted); text-align: center; }
.allocation-review-shell > footer p { max-width: 500px; margin: 0; color: var(--muted); font-size: 12px; }
.allocation-review-shell > footer > div { flex: 0 0 auto; }

@media (max-width: 900px) {
  .allocation-review-range-picker { grid-template-columns: 1fr; }
  .allocation-review-recommendations { grid-template-columns: 1fr; }
  .allocation-review-filter-summary { grid-column: 1; }
  .allocation-review-range-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .allocation-staffing-heading { display: grid; }
  .allocation-staffing-workload { justify-self: stretch; text-align: left; }
  .allocation-review-summary { padding-block: 8px; }
  .allocation-review-grid thead th:first-child { width: 124px; min-width: 124px; }
  .allocation-review-grid th, .allocation-review-grid td { padding: 4px; }
  .allocation-review-cell { min-height: 46px; padding: 5px 3px; font-size: 11px; }
  .allocation-review-support-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .allocation-review-detail-item { grid-template-columns: minmax(150px, 1fr) minmax(140px, 1fr); }
  .allocation-review-detail-item .allocation-review-reason { grid-column: 1; }
  .allocation-review-detail-item a { grid-column: 2; grid-row: 2; }
  .allocation-review-shell > footer { align-items: stretch; flex-direction: column; }
  .allocation-review-shell > footer p { max-width: none; }
  .allocation-review-shell > footer > div { justify-content: flex-end; }
}

@media (max-width: 680px) {
  .allocation-review-dialog { width: 100%; max-width: none; max-height: 92dvh; margin: auto 0 0; border-radius: 16px 16px 0 0; }
  .allocation-review-shell { height: 92dvh; min-height: 0; }
  .allocation-review-shell > header, .allocation-review-shell > footer { padding-inline: 12px; }
  .allocation-review-shell > header h2 { font-size: 20px; }
  .allocation-review-settings > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-block: 1px solid var(--line); background: #fff; color: #294260; font-size: 13px; font-weight: 850; cursor: pointer; list-style: none; }
  .allocation-review-settings > summary::-webkit-details-marker { display: none; }
  .allocation-review-settings > summary small { color: var(--blue); font-size: 12px; }
  .allocation-review-range-picker { padding: 8px 12px; }
  .allocation-review-range-picker > div:first-child p { display: none; }
  .allocation-review-custom-range { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(98px, .8fr); gap: 6px; }
  .allocation-review-recommendations { gap: 4px; padding: 6px 12px; }
  .allocation-review-recommendations > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
  .allocation-review-recommendations > div:first-child p { text-align: right; }
  .allocation-review-recommendation-options { grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); gap: 5px; }
  .allocation-review-filter-summary { white-space: normal; }
  .allocation-review-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 8px 12px; }
  .allocation-review-summary > div { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 6px; }
  .allocation-review-summary .is-trainee { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; }
  .allocation-review-summary dt { font-size: 11px; }
  .allocation-review-summary dd { font-size: 17px; }
  .allocation-review-state { padding-inline: 12px; }
  .allocation-calculation-progress { margin: 8px 12px; padding: 10px 11px; }
  .allocation-calculation-progress-heading { align-items: start; }
  .allocation-calculation-progress-heading span { font-size: 16px; }
  .allocation-calculation-progress p { display: grid; gap: 2px; }
  .allocation-review-variants { padding-inline: 12px; }
  .allocation-review-variants button { padding-inline: 7px; font-size: 12px; }
  .allocation-review-variants p { display: grid; justify-items: center; gap: 1px; }
  .allocation-review-variants strong { font-size: 13px; }
  .allocation-review-variants span { display: block; font-size: 11px; }
  .allocation-review-list { padding: 11px 12px 14px; }
  .allocation-review-group-heading { display: grid; gap: 1px; }
  .allocation-review-group-heading p { text-align: left; }
  .allocation-review-grid th, .allocation-review-grid td { min-width: 0; }
  .allocation-review-grid thead th:first-child { width: 42%; min-width: 0; }
  .allocation-review-grid th, .allocation-review-grid td { padding: 5px; }
  .allocation-review-grid thead th, .allocation-review-grid tbody th { font-size: 13px; }
  .allocation-review-cell { min-height: 44px; padding: 6px; font-size: 13px; }
  .allocation-review-support-list { grid-template-columns: 1fr; }
  .allocation-training-list { grid-template-columns: 1fr; }
  .allocation-review-detail-item { grid-template-columns: 1fr; }
  .allocation-review-detail-item .allocation-review-reason, .allocation-review-detail-item a { grid-column: 1; grid-row: auto; }
  .allocation-review-detail-item a { justify-self: start; }
  .allocation-review-shell > footer > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .allocation-review-shell > footer button { min-height: 44px; }
  .allocation-review-shell > footer [data-allocation-apply] { grid-column: 1; grid-row: 1; }
}

.schedule-assignment-trigger.is-driver[data-current-resource-id] {
  cursor: grab;
}

.schedule-assignment-trigger.is-driver.is-dragging {
  cursor: grabbing;
  opacity: .55;
}

.schedule-assignment-trigger.is-driver.is-drag-target {
  outline: 2px solid var(--accent, #b85c38);
  outline-offset: -2px;
  background: color-mix(in srgb, var(--accent, #b85c38) 14%, white);
}
