/* Dispatch workspace: one job per agenda row; employee lanes for planning. */
.schedule-page { --ready:#4b58ad; --short:#9b5906; --progress:#1463c8; --completed:#08765a; --overlap:#b22c4d; }
.schedule-page .schedule-heading { margin-bottom: 22px; }
.schedule-page .schedule-controls { display: flex; flex-wrap: wrap; gap: 12px; padding: 14px 18px; background: #fff; align-items: center; border-radius: 18px; margin-bottom: 12px; }
.schedule-page .schedule-date-nav { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.schedule-page .schedule-date-nav button { min-height: 38px; min-width: 38px; border: 1px solid #d1dced; border-radius: 10px; background: #f4f7fd; color: #304e85; font-size: 13px; padding: 8px 12px; }
.schedule-page .schedule-date-nav strong { margin-left: 10px; font-size: 16px; letter-spacing: -.025em; color: #24385b; }
.schedule-date-picker { display: flex; align-items: center; gap: 7px; color: #4368af; padding: 7px 10px; background: #edf2fc; border-radius: 10px; margin-left: auto; }
.schedule-date-picker input { max-width: 145px; min-width: 0; background: transparent; border: 0; color: #33496e; font-size: 13px; }
.schedule-page .schedule-views { margin: 0; }
.schedule-hours-summary { display: flex; align-items: center; gap: 7px; flex-basis: 100%; font-size: 12px; color: #63708a; border-top: 1px solid #e5eaf4; padding-top: 10px; }
.schedule-hours-summary a { margin-left: auto; font-size: 11px; color: #4d68a1; text-decoration: none; }
.schedule-week-strip { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 7px; margin: 0 0 18px; }
.schedule-week-strip button { display: grid; justify-items: center; gap: 2px; padding: 10px 6px; border: 1px solid #d2ddf0; border-radius: 14px; background: #e5ebf7; color: #536485; }
.schedule-week-strip button > span { font-size: 11px; font-weight: 650; }.schedule-week-strip button > strong { font-size: 22px; font-weight: 750; color: #314a78; line-height: 1.3; }.schedule-week-strip button > small { font-size: 10px; }
.schedule-week-strip button[aria-current] { background: #345cce; color: #e2eaff; border-color: #345cce; box-shadow: 0 5px 12px #345cce25; }.schedule-week-strip button[aria-current] strong { color: white; }
.schedule-page .crew-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.schedule-page .crew-overview > div { display: flex; gap: 12px; align-items: center; padding: 16px; border-radius: 16px; border: 1px solid #c7d5ed; background: #e3ebfc; min-width: 0; }
.schedule-page .crew-overview > div > i { display: grid; place-items: center; width: 37px; height: 37px; flex-shrink: 0; border-radius: 12px; background: #ffffffb5; color: #4364ae; font-size: 19px; }
.schedule-page .crew-overview strong { display: block; font-size: 28px; letter-spacing: -.04em; line-height: 1.1; color: #23385d; }.schedule-page .crew-overview small { display: block; color: #435b7d; font-size: 11px; margin-top: 5px; }
.schedule-page .crew-overview .summary-ready { background: #e9e7fc; border-color: #d5d1ef; }.schedule-page .crew-overview .summary-ready > i { color: #6156a6; }
.schedule-page .crew-overview .summary-short { background: #fff0d9; border-color: #e6c897; }.schedule-page .crew-overview .summary-short > i { color: #a76a15; }
.schedule-page .crew-overview .summary-complete { background: #dff3e9; border-color: #b9ddcd; }.schedule-page .crew-overview .summary-complete > i { color: #178267; }
.schedule-page .unassigned-panel { background: #fff8ed; border: 1px solid #e5c693; border-radius: 18px; padding: 17px 19px; margin-bottom: 20px; }
.schedule-page .unassigned-panel.empty { display: none; }
.schedule-page .unassigned-head { display: flex; gap: 11px; align-items: center; margin-bottom: 12px; }
.schedule-page .unassigned-head > span { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; flex-shrink: 0; }
.schedule-page .unassigned-head h2 { font-size: 15px; margin: 0 0 3px; }.schedule-page .unassigned-head p { font-size: 12px; margin: 0; }.schedule-page .unassigned-head > strong { margin-left: auto; padding: 5px 10px; border-radius: 9px; font-size: 17px; }
.schedule-page .unassigned-scroll { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; overflow: visible; }
.staffing-queue-item { display: flex; text-align: left; align-items: center; gap: 10px; min-width: 0; padding: 12px 14px; background: #fff; border: 1px solid #ead3af; border-radius: 12px; color: #684e2c; }
.staffing-queue-item > span { min-width: 0; flex: 1; }.staffing-queue-item strong { display: block; font-size: 13px; color: #533e25; }.staffing-queue-item small { display: block; font-size: 11px; margin-top: 3px; color: #7c6b55; }.staffing-queue-item b { font-size: 12px; white-space: nowrap; padding: 5px 8px; background: #fff0d5; border-radius: 8px; color: #955506; }
.schedule-workspace { padding: 0; overflow: hidden; }
.schedule-board-header { display: flex; align-items: center; gap: 14px; padding: 20px 22px; background: #fff; }
.schedule-board-header .eyebrow { margin-bottom: 4px; font-size: 10px; }.schedule-board-header h2 { font-size: 20px; margin: 0; font-weight: 750; letter-spacing: -.03em; }
.schedule-presentation { margin-left: auto; display: flex; padding: 4px; border-radius: 12px; background: #e9eef8; gap: 4px; }
.schedule-presentation button { min-height: 38px; display: flex; align-items: center; gap: 7px; padding: 8px 12px; border: 0; color: #53678a; border-radius: 9px; background: transparent; font-size: 12px; font-weight: 650; }
.schedule-presentation button.active { color: #304fa1; background: #fff; box-shadow: 0 2px 5px #263e6420; }
.schedule-agenda-tools { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 22px; background: #f1f5fc; border-block: 1px solid #dbe3f0; align-items: center; }
.schedule-agenda-tools[hidden],.schedule-page [data-agenda][hidden],.schedule-page [data-timeline-panel][hidden] { display: none; }
.schedule-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.schedule-filters button { padding: 7px 10px; min-height: 34px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #526686; font-size: 12px; font-weight: 600; }
.schedule-filters button.active { background: #dce7ff; border-color: #bdcff5; color: #2a50a5; }
.schedule-search { display: flex; align-items: center; gap: 8px; margin-left: auto; border: 1px solid #ccd8eb; border-radius: 10px; background: #fff; padding: 8px 11px; color: #7585a1; }
.schedule-search input { width: 200px; min-width: 0; font-size: 12px; border: 0; background: transparent; color: #314969; outline: none; }
.schedule-legend { display: flex; flex-wrap: wrap; gap: 15px; padding: 12px 22px; color: #5a6c86; font-size: 11px; border-bottom: 1px solid #e1e8f3; }
.schedule-legend > span { display: inline-flex; align-items: center; gap: 6px; }.schedule-legend i { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: var(--ready); }.schedule-legend .short { background: #b17b26; }.schedule-legend .progress { background: #2678d4; }.schedule-legend .completed { background: #1a9475; }.schedule-legend .overlap { background: #c24562; }
.schedule-page .state-ready { --job-color:#514da2; --job-tint:#eeedfc; --job-line:#c5c3e9; }
.schedule-page .state-short { --job-color:#975907; --job-tint:#fff1d8; --job-line:#e8c991; }
.schedule-page .state-progress { --job-color:#1d60b5; --job-tint:#e3efff; --job-line:#a9c5ed; }
.schedule-page .state-completed { --job-color:#087557; --job-tint:#dff5eb; --job-line:#b1dcc9; }
.schedule-page .state-overlap { --job-color:#af2b50; --job-tint:#ffe7ed; --job-line:#e4a9b8; }
.schedule-page .state-cancelled { --job-color:#627084; --job-tint:#edf0f5; --job-line:#cbd3df; }
.agenda-day > header { display: flex; justify-content: space-between; padding: 12px 22px; background: #e8eef9; color: #3c547d; border-bottom: 1px solid #d5e0f0; }.agenda-day h3 { font-size: 13px; margin: 0; font-weight: 700; }.agenda-day > header > span { font-size: 11px; }
.schedule-agenda-row { display: grid; width: 100%; grid-template-columns: 94px minmax(150px,1.2fr) minmax(150px,1fr) 130px 15px; gap: 18px; align-items: center; padding: 20px 22px; text-align: left; border: 0; border-left: 4px solid var(--job-color); border-bottom: 1px solid #e0e7f2; background: #fff; color: #223655; border-radius: 0; }
.schedule-agenda-row:nth-of-type(even) { background: #f8faff; }.schedule-agenda-row:hover,.schedule-agenda-row:focus-visible { background: var(--job-tint); }
.agenda-job-clock { display: grid; gap: 5px; }.agenda-job-clock strong { font-size: 14px; font-weight: 750; color: #273f66; white-space: nowrap; }.agenda-job-clock small { font-size: 12px; color: #6a7b95; white-space: nowrap; }
.agenda-job-description { display: grid; gap: 4px; min-width: 0; }.agenda-job-description > strong { font-size: 16px; letter-spacing: -.02em; }.agenda-job-description > span { color: #475e80; font-size: 13px; }.agenda-job-description > small { color: #63748d; font-size: 12px; display: flex; gap: 4px; }
.agenda-job-crew { display: grid; gap: 4px; min-width: 0; }.agenda-job-crew > strong { font-size: 12px; font-weight: 600; color: #3c5273; }.agenda-job-crew > small { font-size: 11px; color: #637791; }
.schedule-avatar-stack { display: flex; padding-left: 4px; }.schedule-avatar-stack i { display: grid; place-items: center; width: 27px; height: 27px; border: 2px solid white; border-radius: 50%; font-size: 9px; font-style: normal; margin-left: -4px; background: #dce6f7; color: #476393; font-weight: 700; }.schedule-avatar-stack i:nth-child(2) { background: #e6e0f5; color: #6a5299; }.schedule-avatar-stack i:nth-child(3) { background: #d9eee7; color: #327661; }
.agenda-job-state { display: grid; justify-items: start; gap: 6px; }.schedule-state { display: inline-flex; gap: 6px; align-items: center; border-radius: 8px; padding: 6px 8px; background: var(--job-tint); color: var(--job-color); font-weight: 700; font-size: 11px; white-space: nowrap; }.schedule-state i { width: 6px; height: 6px; background: currentColor; border-radius: 50%; }.agenda-job-state > small { font-size: 11px; color: #64758e; }.agenda-job-state .priority-label,.agenda-job-state .overlap-label { color: #ae3654; font-weight: 650; }.agenda-row-chevron { color: #8a9bb5; font-size: 12px; }
.schedule-agenda-empty { display: grid; justify-items: center; gap: 10px; text-align: center; padding: 55px 20px; }.schedule-agenda-empty > i { width: 60px; height: 60px; display: grid; place-items: center; font-size: 27px; color: #5e77b6; background: #e7eefb; border-radius: 18px; }.schedule-agenda-empty h3 { font-size: 20px; margin: 0; }.schedule-agenda-empty p { font-size: 13px; color: #627490; max-width: 350px; }
.schedule-freshness { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 12px 22px; background: #f1f5fb; border-top: 1px solid #dae3f1; font-size: 11px; color: #627793; }
.schedule-page .crew-roster { margin-top: 18px; padding: 10px 16px; box-shadow: none; }.schedule-page .crew-roster summary { font-size: 13px; }
.schedule-page .dispatch-panel { border: 0; border-radius: 0; padding: 0; overflow: hidden; }
.timeline-help { margin: 0; padding: 12px 22px; color: #536b8e; background: #f7f9fd; font-size: 12px; }.timeline-help > span { display: block; font-size: 11px; margin-top: 4px; }
.schedule-page .dispatch-scroll { max-height: 720px; overflow: auto; }
.schedule-page .timeline-day { width: calc(190px + var(--timeline-width) + 25px); }.schedule-page .timeline-axis,.schedule-page .timeline-row { grid-template-columns:190px var(--timeline-width); }
.schedule-page .timeline-day > h2 { font-size: 15px; color: #334e7f; background: #e2eafa; padding: 15px 18px; }
.schedule-page .timeline-axis { height: 44px; background: #eaf0fb; border-block: 1px solid #cbd8ed; }.schedule-page .timeline-axis strong { font-size: 12px; background: #eaf0fb; }.schedule-page .timeline-axis span { font-size: 11px; color: #49648b; }
.schedule-page .timeline-row > header { background: #f6f8fd; padding: 14px; gap: 9px; }.schedule-page .timeline-row > header strong { font-size: 13px; color: #283f64; }.schedule-page .timeline-row > header small { font-size: 11px; margin-top: 5px; color: #627895; }
.schedule-page .timeline-row .employee-avatar { display: grid; width: 30px; height: 30px; flex: 0 0 30px; font-size: 10px; }
.schedule-page .timeline-track { background: repeating-linear-gradient(to right,#d9e3f0 0,#d9e3f0 1px,transparent 1px,transparent var(--slot-width)),#f1f4f9; }
.schedule-page .timeline-band.available { background: #39a57a12; }.schedule-page .timeline-band.exception { background: repeating-linear-gradient(135deg,#edb96f30,#edb96f30 6px,#fff8ed88 6px,#fff8ed88 12px); }.schedule-page .timeline-band.outside { background: #5b6e8820; }
.schedule-page .timeline-job-position { height: 138px; padding-inline: 3px; }.schedule-page .timeline-job-position .dispatch-job { padding: 10px 12px; border: 1px solid var(--job-line); border-left: 4px solid var(--job-color); background: var(--job-tint); border-radius: 11px; box-shadow: 0 3px 7px #24375612; color: #253957; overflow: auto; }
.schedule-page .dispatch-job-time { font-size: 11px; color: var(--job-color); font-weight: 700; }.schedule-page .dispatch-job > strong { font-size: 14px; line-height: 1.3; margin-top: 4px; }.schedule-page .dispatch-job > small { font-size: 11px; color: #4b607e; margin-top: 3px; }.schedule-page .dispatch-job-foot b { display: none; }.schedule-page .dispatch-job-foot em { font-size: 10px; color: var(--job-color); background: #ffffff90; }.schedule-page .crew-badge { font-size: 10px; padding: 3px 6px; margin-top: 4px; }.schedule-page .timeline-empty { top: 55px; font-size: 12px; color: #72829a; }
.schedule-page .dispatch-job.crew-linked { outline: 2px solid #496ed0; background: var(--job-tint); }
.schedule-page[data-loading=true] .crew-overview,.schedule-page[data-loading=true] .unassigned-panel,.schedule-page[data-loading=true] .crew-roster { opacity: .45; pointer-events: none; }
.schedule-page .schedule-loading { min-height: 200px; padding: 25px; }
.schedule-agenda-row { animation: schedule-arrive 240ms ease-out; }.schedule-page .state-overlap .schedule-state,.schedule-page .state-short .schedule-state { animation: schedule-cue 1.5s ease-out 2; }
@keyframes schedule-arrive { from { opacity:.5; translate:0 5px; } to { opacity:1; translate:0 0; } }@keyframes schedule-cue { from { box-shadow:0 0 0 0 #b8874e40; } to { box-shadow:0 0 0 7px #b8874e00; } }
@media(max-width:1200px) { .schedule-agenda-row { grid-template-columns:85px minmax(130px,1fr) minmax(120px,.9fr) 115px 10px; gap:12px; padding-inline:16px; }.schedule-page .crew-overview > div { padding:13px; gap:8px; }.schedule-page .crew-overview > div > i { width:30px; height:30px; font-size:16px; }.schedule-date-picker { margin-left:0; } }
@media(max-width:900px) { .schedule-agenda-row { grid-template-columns:80px minmax(0,1fr) 110px; }.agenda-job-crew { grid-column:2; grid-row:2; }.agenda-job-state { grid-column:3; grid-row:1 / span 2; }.agenda-row-chevron { display:none; }.agenda-job-description { grid-column:2; }.schedule-page .crew-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }.schedule-board-header { flex-wrap:wrap; }.schedule-presentation { margin-left:auto; }.schedule-search { margin-left:0; } }
@media(max-width:767.98px) {
 .schedule-page .schedule-controls { padding:12px; gap:10px; }.schedule-page .schedule-date-nav { width:100%; }.schedule-page .schedule-date-nav strong { font-size:14px; flex:1; text-align:right; margin-left:0; }.schedule-date-picker input { font-size:16px; max-width:150px; }.schedule-page .schedule-views { margin-left:auto; }.schedule-hours-summary { flex-wrap:wrap; font-size:11px; }.schedule-hours-summary a { display:none; }
 .schedule-week-strip { gap:4px; }.schedule-week-strip button { padding:9px 3px; border-radius:11px; }.schedule-week-strip button > strong { font-size:20px; }.schedule-week-strip button > span { font-size:10px; }.schedule-week-strip button > small { font-size:9px; }
 .schedule-page .crew-overview { gap:9px; }.schedule-page .crew-overview strong { font-size:25px; }.schedule-page .crew-overview small { font-size:11px; }
 .schedule-page .unassigned-panel { padding:14px; }.schedule-page .unassigned-head h2 { font-size:14px; }.schedule-page .unassigned-head p { font-size:11px; }.schedule-page .unassigned-scroll { grid-template-columns:minmax(0,1fr); }.staffing-queue-item { padding:11px; }.staffing-queue-item strong { font-size:13px; }.staffing-queue-item small { font-size:11px; }
 .schedule-board-header { padding:16px; gap:12px; }.schedule-board-header h2 { font-size:18px; }.schedule-board-header > .filter-button { margin-left:auto; order:1; font-size:0; }.schedule-board-header > .filter-button i { font-size:15px; }.schedule-presentation { width:100%; order:2; }.schedule-presentation button { flex:1; justify-content:center; }.schedule-agenda-tools { padding:12px; }.schedule-filters { gap:3px; }.schedule-filters button { font-size:11px; padding:7px 8px; }.schedule-search { width:100%; }.schedule-search input { width:100%; font-size:16px; }.schedule-legend { padding:12px; gap:9px 12px; font-size:10px; }
 .agenda-day > header { padding:12px 15px; }.agenda-day h3 { font-size:12px; }
 .schedule-agenda-row { grid-template-columns:66px minmax(0,1fr); gap:10px 12px; padding:16px 13px; }.agenda-job-clock strong { font-size:12px; }.agenda-job-clock small { font-size:11px; }.agenda-job-description > strong { font-size:15px; }.agenda-job-description > span { font-size:12px; }.agenda-job-description > small { font-size:11px; }.agenda-job-crew { grid-column:2; grid-row:2; }.agenda-job-crew > strong { font-size:12px; }.agenda-job-state { grid-column:2; grid-row:3; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }.schedule-state { font-size:10px; }.schedule-freshness { padding:12px 15px; font-size:10px; }.schedule-freshness > span:last-child { display:none; }
 .schedule-page .timeline-day { width:calc(140px + var(--timeline-width) + 25px); }.schedule-page .timeline-axis,.schedule-page .timeline-row { grid-template-columns:140px var(--timeline-width); }.schedule-page .timeline-row > header { padding:10px; }.schedule-page .timeline-row > header strong { font-size:12px; }.schedule-page .timeline-row .employee-avatar { display:none; }
}
@media(prefers-reduced-motion:reduce) { .schedule-page *, .schedule-page *::before,.schedule-page *::after { animation:none!important; transition:none!important; } }
/* Keep the job list near the top; the staffing queue is a compact action strip. */
.schedule-page .unassigned-panel { display: block; padding: 13px 17px; }
.schedule-page .unassigned-panel.empty { display: none; }
.schedule-page .unassigned-head { margin-bottom: 9px; }
.schedule-page .unassigned-head h2 { font-size: 14px; }
.schedule-page .unassigned-head > span { width: 28px; height: 28px; }
.schedule-page .unassigned-head p { display: none; }
.schedule-page .unassigned-head > strong { padding: 3px 9px; font-size: 14px; }
.schedule-page .staffing-queue-item { padding: 10px 12px; }
.schedule-week-strip button { padding-block: 7px; }
.schedule-page .crew-overview > div { padding-block: 12px; }
.schedule-page .schedule-controls { padding-block: 10px; }
.schedule-page .schedule-board-header { padding-block: 15px; }
@media(max-width:767.98px) { .schedule-page .unassigned-panel { padding: 12px; }.schedule-page .crew-overview > div > i { display: none; }.schedule-page .crew-overview > div { padding: 12px; }.schedule-page .crew-overview strong { font-size: 23px; } }
/* Timeline-first dispatch: maximize the board, minimize vertical chrome. */
.schedule-page[data-presentation=timeline] .schedule-heading { margin-bottom: 12px; }
.schedule-page[data-presentation=timeline] .schedule-heading h1 { font-size: 29px; }
.schedule-page[data-presentation=timeline] .schedule-heading .page-subtitle { display: none; }
.schedule-page[data-presentation=timeline] .schedule-controls { margin-bottom: 8px; padding: 8px 12px; }
.schedule-page[data-presentation=timeline] .schedule-hours-summary { flex-basis: auto; border: 0; padding: 0; font-size: 10px; }
.schedule-page[data-presentation=timeline] .schedule-hours-summary a { display: none; }
.schedule-page[data-presentation=timeline] .schedule-week-strip { gap: 5px; margin-bottom: 9px; }
.schedule-page[data-presentation=timeline] .schedule-week-strip button { display: flex; justify-content: center; align-items: center; gap: 7px; padding: 6px; border-radius: 9px; }
.schedule-page[data-presentation=timeline] .schedule-week-strip strong { font-size: 16px; }
.schedule-page[data-presentation=timeline] .schedule-week-strip small { display: none; }
.schedule-page[data-presentation=timeline] .crew-overview { margin-bottom: 9px; gap: 8px; }
.schedule-page[data-presentation=timeline] .crew-overview > div { padding: 7px 12px; border-radius: 11px; }
.schedule-page[data-presentation=timeline] .crew-overview > div > i { width: 25px; height: 25px; font-size: 14px; }
.schedule-page[data-presentation=timeline] .crew-overview > div > span { display: flex; align-items: center; gap: 9px; }
.schedule-page[data-presentation=timeline] .crew-overview strong { font-size: 21px; }
.schedule-page[data-presentation=timeline] .crew-overview small { margin: 0; font-size: 10px; }
.schedule-page[data-presentation=timeline] .unassigned-panel { display: flex; align-items: center; gap: 14px; padding: 8px 12px; margin-bottom: 12px; border-radius: 12px; }
.schedule-page[data-presentation=timeline] .unassigned-panel.empty { display: none; }
.schedule-page[data-presentation=timeline] .unassigned-head { flex: 0 0 145px; margin: 0; gap: 7px; }
.schedule-page[data-presentation=timeline] .unassigned-head h2 { font-size: 12px; }.schedule-page[data-presentation=timeline] .unassigned-head > span { display: none; }
.schedule-page[data-presentation=timeline] .unassigned-scroll { display: flex; flex: 1; min-width: 0; overflow-x: auto; gap: 8px; }
.schedule-page[data-presentation=timeline] .staffing-queue-item { flex: 0 0 290px; padding: 7px 10px; }.schedule-page[data-presentation=timeline] .staffing-queue-item strong { font-size: 12px; }.schedule-page[data-presentation=timeline] .staffing-queue-item small { font-size: 10px; }
.schedule-page .schedule-board-header { padding: 10px 16px; gap: 10px; }.schedule-page .schedule-board-header .eyebrow { display: none; }.schedule-page .schedule-board-header h2 { font-size: 17px; }
.timeline-zoom select { padding: 8px; color: #3f5983; border: 1px solid #ccd8ea; border-radius: 9px; background: #f2f6fc; font-size: 12px; }
.schedule-page[data-presentation=timeline] .schedule-legend { padding: 7px 16px; }
.schedule-page .timeline-help { padding: 7px 16px; font-size: 11px; }.schedule-page .timeline-help > span { display: inline; margin-left: 8px; font-size: 10px; }
.schedule-page .timeline-day { width:calc(170px + var(--timeline-width) + 25px); }.schedule-page .timeline-axis,.schedule-page .timeline-row { grid-template-columns:170px var(--timeline-width); }
.schedule-page .timeline-day > h2 { display: none; }.schedule-page .timeline-day + .timeline-day > h2 { display: block; }
.schedule-page .timeline-job-position { height: 90px; padding-inline: 2px; }
.schedule-page .timeline-job-position .dispatch-job { padding: 6px 8px; display: block; overflow: hidden; }
.schedule-page .dispatch-job > strong { font-size: 12px; margin-top: 3px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-page .dispatch-job-time { font-size: 10px; }.schedule-page .dispatch-job > small { font-size: 10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schedule-page .dispatch-job-foot { position: absolute; top: 5px; right: 5px; margin: 0; }.schedule-page .dispatch-job-foot em { display: none; }
.schedule-page .crew-badge { font-size: 9px; margin-top: 4px; padding: 2px 5px; }
.schedule-page .timeline-row > header { padding: 9px 10px; }.schedule-page .timeline-row > header strong { font-size: 12px; }.schedule-page .timeline-row > header small { font-size: 10px; }
.schedule-page .timeline-empty { top: 38px; font-size: 11px; }.schedule-page .timeline-axis span { font-size: 10px; }
.schedule-page .timeline-axis span:nth-child(even):not(.last) { color: transparent; }
.schedule-page .dispatch-scroll { max-height: min(660px,calc(100dvh - 350px)); min-height: 200px; }
@media(max-width:767.98px) { .schedule-page[data-presentation=timeline] .crew-overview > div > span { gap: 6px; }.schedule-page[data-presentation=timeline] .unassigned-panel { display: block; }.schedule-page[data-presentation=timeline] .unassigned-head { margin-bottom: 6px; }.schedule-page[data-presentation=timeline] .unassigned-head h2 { flex:1; }.schedule-page .timeline-day { width:calc(140px + var(--timeline-width) + 25px); }.schedule-page .timeline-axis,.schedule-page .timeline-row { grid-template-columns:140px var(--timeline-width); }.schedule-page .dispatch-scroll { max-height: 520px; }.schedule-page .timeline-help { display:none; }.timeline-zoom { margin-left:auto; } }
.schedule-page .dispatch-job-time,.schedule-page .dispatch-job > strong,.schedule-page .dispatch-job > small { display: block; }
.schedule-page .timeline-job-position { height: 78px; }
.schedule-page .timeline-job-position .dispatch-job { padding: 5px 7px; }
.schedule-page .dispatch-job > strong { margin-top: 2px; }.schedule-page .dispatch-job > small { margin-top: 2px; }.schedule-page .crew-badge { margin-top: 2px; }
.schedule-page[data-presentation=timeline] .schedule-week-strip { display: none; }
.schedule-page[data-presentation=timeline] .timeline-help { display: none; }
.schedule-page[data-presentation=timeline] .staffing-queue-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-page[data-presentation=timeline] .staffing-queue-item { min-height: 46px; }
.schedule-page[data-presentation=timeline] .unassigned-head h2 { margin: 0; }
.schedule-page .timeline-axis span.last { display:none; }
@media(min-width:768px) { .workspace:has(.schedule-page[data-presentation=timeline]) { padding-top:92px; }.schedule-page[data-presentation=timeline] .schedule-heading .eyebrow { display:none; } }

.schedule-job-reference { display:grid; grid-template-columns: minmax(180px,.8fr) minmax(0,1fr) minmax(0,1fr); gap:16px; padding:14px 24px; background:#eef3fc; border-block:1px solid #d6e1f3; }
.schedule-job-reference > div { min-width:0; }.schedule-job-reference h3,.schedule-job-reference small { display:block; margin:0 0 6px; color:#526889; font-size:11px; font-weight:700; }
.schedule-job-reference p { margin:0; color:#263b59; font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; max-height:100px; overflow:auto; }
.schedule-job-reference a { color:#244ba7; font-size:13px; font-weight:700; overflow-wrap:anywhere; }
@media(max-width:767.98px) { .schedule-job-reference { grid-template-columns:1fr; gap:12px; padding:14px 18px; } }

.schedule-reference-pane { min-width:0; background:#f6f8fc; }
.schedule-reference-tabs { display:flex; gap:4px; padding:12px 20px 0; }.schedule-reference-tabs button { border:0; background:#e6ecf6; color:#536783; padding:10px 16px; border-radius:10px; font-weight:650; }.schedule-reference-tabs button[aria-selected=true] { background:#315bd8; color:white; }.schedule-reference-tabs button:focus-visible { outline:3px solid #98b2ff; outline-offset:2px; }
.schedule-reference-pane [hidden] { display:none!important; }
.schedule-job-name { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; }.schedule-job-name [data-job-address] { font-size:12px; color:#536985; }
.schedule-quote-panel { padding:20px 24px; max-height:590px; overflow:auto; color:#2a3b54; }.schedule-quote-panel > header { display:block; background:transparent; padding:0 0 16px; }.schedule-quote-panel h3 { font-size:20px; margin:6px 0; }.schedule-quote-panel p { font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0; }.schedule-quote-panel small { color:#64748b; font-size:11px; }.schedule-quote-lines article { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid #dce3ef; }.schedule-quote-lines article > div { min-width:0; }.schedule-quote-lines b { white-space:nowrap; }.schedule-quote-panel dl { margin:16px 0; }.schedule-quote-panel dl > div { display:flex; justify-content:space-between; padding:5px 0; }.schedule-quote-panel dd { margin:0; }.schedule-quote-panel .quote-total { color:#234faf; font-size:19px; }.schedule-quote-panel h4 { font-size:13px; margin:16px 0 6px; }

.schedule-job-name .schedule-job-address { border:0; padding:0; background:transparent; text-align:left; font:inherit; font-size:12px; color:#536985; }

.schedule-page [draggable=true] { cursor:grab; }.schedule-page [draggable=true]:active { cursor:grabbing; }.schedule-page .dragging { opacity:.45; }.schedule-page .timeline-row.drag-over .timeline-track { outline:2px solid #315edb; outline-offset:-2px; background-color:#deebff; }

.schedule-page .timeline-band.unavailable { background:repeating-linear-gradient(135deg,#b9c4d575 0,#b9c4d575 5px,#d7dfeab0 5px,#d7dfeab0 11px); border-inline:1px solid #b7c4d8; }
.schedule-page .timeline-band.available { background:#d3eddf; box-shadow:inset 0 3px 0 #48a57b; }
.schedule-page .employee-unavailable > header { background:#e3e8f0; }.schedule-page .employee-unavailable .timeline-empty { color:#475b77; font-weight:700; background:#eef2f8e8; padding:5px 9px; border-radius:7px; top:28px; }

.schedule-available-filter { display:inline-flex; align-items:center; gap:8px; color:#304b70; font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer; }
.schedule-available-filter input { width:18px; height:18px; accent-color:#3459df; cursor:pointer; }
.schedule-page[data-presentation=agenda] .schedule-available-filter { display:none; }
