/* Dispatch's approved desktop card workspace. Scoped to the new components. */
.dw-pool{display:grid;grid-template-columns:169px minmax(0,1fr);gap:19px;margin-top:22px;color:var(--ink,var(--op-12384a,#12384a))}
.dw-pool [hidden]{display:none!important}
.dw-return-tickets[hidden]{display:none!important}
.dw-return-tickets{margin:18px 0 24px;color:var(--ink,var(--op-12384a,#12384a))}
.dw-return-tickets .dw-pile-head strong{font-size:12px;font-weight:650}
.dw-return-tickets .dw-job{min-height:70px}
.dw-return-tickets .dw-job:last-child{margin-bottom:0}
.dw-return-tickets .dw-job-select{font:inherit;display:block;width:100%;min-width:0;border:0;background:none;text-align:left;color:inherit;padding:7px 0 12px 9px;cursor:pointer}
.dw-return-tickets .dw-job-detail{border:0;background:none;color:var(--op-5e7b89,#5e7b89);border-radius:4px;font-size:19px;cursor:pointer;padding:0;align-self:start;min-height:28px;margin:4px 2px 0}
.dw-return-tickets :focus-visible{outline:2px solid var(--op-157897,#157897);outline-offset:2px}
.dw-pool button,.dw-pool input{font:inherit}
.dw-scope{border-right:1px solid var(--op-d4e2e7,#d4e2e7);padding-right:17px}
.dw-pool .dw-eyebrow{font-size:10px;letter-spacing:1px;font-weight:650;color:var(--op-627e8b,#627e8b);text-transform:uppercase;margin:0 0 13px}
.dw-pool .dw-check{display:flex;gap:7px;align-items:center;font-size:11px;margin:0 0 11px;font-weight:400;white-space:nowrap}
.dw-check input[type=checkbox]{width:12px;height:12px;margin:0;accent-color:var(--op-157897,#157897);flex-shrink:0}
.dw-scope-date{font-size:9px;color:var(--op-7b9099,#7b9099);display:block;margin:0 0 10px 19px}
.dw-scope-divider{height:1px;background:var(--op-d4e2e7,#d4e2e7);margin:16px 0}
.dw-types{font-size:10px;margin:0 0 16px 19px}
.dw-types summary{cursor:pointer;border:1px solid var(--op-cddde5,#cddde5);border-radius:4px;padding:4px 5px;background:#fff;width:max-content;max-width:100%}
.dw-type-choices{padding:10px 0 0}.dw-type-choices .dw-check{white-space:normal}
.dw-scope-note{font-size:10px;line-height:1.6;color:var(--op-6b828e,#6b828e);border-top:1px solid var(--op-d4e2e7,#d4e2e7);padding-top:16px;margin-top:16px}
.dw-pool-content{min-width:0}
.dw-pool-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.dw-pool-head h2{font-size:17px;margin:0}.dw-count{font-size:11px;color:var(--op-69838e,#69838e)}
.dw-pool input.dw-search{margin-left:auto;border:1px solid var(--op-c4d8e1,#c4d8e1);background:#fff;border-radius:6px;font-size:11px;padding:7px 11px;width:220px;min-height:32px}
.dw-pool-tools{display:flex;align-items:center;gap:9px;margin-bottom:16px;font-size:11px;color:var(--op-6a828d,#6a828d);flex-wrap:wrap}
.dw-segment{display:flex;border:1px solid var(--op-cadde4,#cadde4);border-radius:7px;background:var(--op-eaf2f5,#eaf2f5);padding:3px;gap:2px}
.dw-segment button{padding:4px 9px;font-size:11px;color:var(--op-5c7784,#5c7784);border:0;background:transparent;border-radius:4px;cursor:pointer}
.dw-segment button[aria-pressed=true]{background:#fff;color:var(--op-12384a,#12384a);font-weight:650;box-shadow:0 1px 3px var(--op-14384a15,#14384a15)}
.dw-pool .dw-quiet{border:0;background:transparent;color:var(--op-476575,#476575);font-size:11px;padding:6px 8px;cursor:pointer}
.dw-pool-tools .dw-check{margin:0 0 0 auto;font-size:10px}
.dw-selection{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;margin-bottom:10px;background:var(--op-e6f3f6,#e6f3f6);border:1px solid var(--op-9fc7d3,#9fc7d3);border-radius:6px;font-size:12px}
.dw-piles{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:13px;overflow-x:auto;padding:0 0 10px;scrollbar-color:var(--op-b8ced8,#b8ced8) var(--op-e5eef2,#e5eef2);scrollbar-width:thin}
.dw-pile{min-width:0}.dw-pile-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px;gap:6px}
.dw-pool .dw-pile-toggle{font-size:12px;font-weight:650;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
.dw-pile-count{font-size:10px;background:var(--op-e5eef2,#e5eef2);padding:2px 6px;border-radius:9px;color:var(--op-5c7886,#5c7886)}
.dw-stack{padding:0 2px 8px;position:relative;max-height:274px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--op-b8ced8,#b8ced8) transparent}
.dw-stack.is-expanded{max-height:60vh}
.dw-job{position:relative;background:linear-gradient(120deg,#fff,var(--op-fafcfd,#fafcfd));border:1px solid var(--op-c5d7e0,#c5d7e0);border-top:3px solid var(--dw-category);border-radius:7px;box-shadow:0 2px 4px var(--op-0b354712,#0b354712);margin-bottom:-12px;min-height:63px;display:grid;grid-template-columns:minmax(0,1fr) 24px}
.dw-job:last-child{margin-bottom:0;min-height:70px}
.dw-stack.is-expanded .dw-job{margin-bottom:6px;min-height:70px}
.dw-pool .dw-job-select{min-width:0;display:block;width:100%;border:0;background:none;color:inherit;text-align:left;padding:7px 0 19px 9px;cursor:grab}
.dw-job-top{display:flex;align-items:center;gap:5px}.dw-job-name{font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dw-service{color:var(--dw-category);font-size:14px;line-height:14px;margin-left:auto;flex-shrink:0}
.dw-job-address{display:block;font-size:9px;font-weight:400;color:var(--op-6a8290,#6a8290);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dw-job-context{display:flex;gap:5px;flex-wrap:wrap;font-size:9px;margin-top:3px;color:var(--op-617a87,#617a87);align-items:center}
.dw-due-label{font-weight:700;color:#7f540c;background:#ffedc7;padding:1px 4px;border-radius:3px}
.dw-job.is-due{background:#fff0ce;border-right-color:#d6ae63;border-bottom-color:#d6ae63}
.dw-picked-label{color:#5e477f;background:#eee7f5;padding:1px 4px;border-radius:3px}
.dw-pool .dw-job-detail{border:0;background:none;color:var(--op-5e7b89,#5e7b89);border-radius:4px;font-size:19px;cursor:pointer;padding:0;align-self:start;min-height:28px;margin:4px 2px 0}
.dw-job.is-selected{outline:2px solid var(--op-157897,#157897);outline-offset:-2px;background:var(--op-eaf6f8,#eaf6f8)}
.dw-pool .dw-more{display:block;width:100%;font-size:10px;color:var(--op-577a8a,#577a8a);text-align:center;padding:9px 2px 0;border:0;background:none;cursor:pointer}
.dw-legend{display:flex;gap:15px;align-items:center;color:#6a8390;font-size:10px;margin-top:14px;flex-wrap:wrap}
.dw-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}
.dw-pool-hint,.dw-pool-status{font-size:11px;color:#607d8a;margin:14px 0 0}.dw-pool-status:empty{display:none}
.dw-empty{padding:24px;border:1px dashed var(--op-c1d6de,#c1d6de);border-radius:8px;font-size:13px;color:var(--op-587583,#587583)}
.dw-pool :focus-visible{outline:2px solid var(--op-157897,#157897);outline-offset:2px}
@media(max-width:760px){.dw-pool{grid-template-columns:1fr;gap:10px}.dw-scope{border-right:0;border-bottom:1px solid var(--op-d4e2e7,#d4e2e7);padding-bottom:10px}.dw-piles{display:block;overflow:visible}.dw-pile{margin-bottom:15px}.dw-stack,.dw-stack.is-expanded{max-height:60vh}.dw-job{margin-bottom:6px}.dw-pool-head{flex-wrap:wrap}.dw-pool input.dw-search{width:100%;margin:0}.dw-pool .dw-job-detail{min-width:28px;min-height:40px}.dw-pool-tools .dw-check{margin-left:0}}

.dw-job-address-row{display:flex;align-items:center;gap:5px}.dw-job-address{min-width:0;flex:1}.dw-date-label{font-size:9px;color:var(--op-5b7785,#5b7785);white-space:nowrap;margin-top:3px}
/* Same route IDs and live GPS state, presented with the approved board geometry. */
.dw-dispatch .dw-saved-board{padding:0!important;border:1px solid var(--op-b4ced9,#b4ced9)!important;border-radius:11px;overflow:hidden}
.dw-saved-heading{display:flex;align-items:center;padding:10px 15px;gap:13px;flex-wrap:wrap}
.dw-saved-heading h3{font-size:12px;margin:0;background:#fff;border:1px solid var(--op-cadde4,#cadde4);border-radius:6px;padding:6px 11px}
.dw-saved-summary,.dw-saved-clock-note{font-size:11px;color:var(--op-64808c,#64808c)}.dw-saved-clock-note{margin-left:auto}
.dw-saved-heading form .btn{font-size:11px;padding:5px 8px;min-height:30px}
.dw-dispatch .dw-lanes{margin:0;display:flex;flex-direction:column}
.dw-lanes .lane-axis{order:-1;background:var(--op-f2f8fa,#f2f8fa)}
.dw-lanes .lane{min-height:81px;align-items:stretch}
.dw-lanes .lane-axis{min-height:31px;align-items:center}
.dw-lanes .lane-head{width:176px;padding:14px 15px;background:#fff}
.dw-lanes .lane-axis .lane-head{background:var(--op-f2f8fa,#f2f8fa);padding:0}
.dw-lanes .lane-head b{font-size:12px}.dw-lanes .lane-head .hint{font-size:10px;margin-top:4px}
.dw-lanes .lane-track{height:81px;background-color:var(--op-f6fafb,#f6fafb)}
.dw-dispatch .dw-lanes .lane-block{top:12px;height:57px;display:block;background:#fff;border:1px solid var(--op-c4d7df,#c4d7df);border-left:3px solid var(--dw-category);border-radius:6px;padding:6px 8px;box-shadow:0 2px 4px var(--op-12384a08,#12384a08);color:var(--op-12384a,#12384a)}
.dw-lanes .lane-block[data-job-state=done]{background:#eff7f1;border-bottom-color:#8abca0}
.dw-lanes .lane-block[data-job-state=under]{background:#fff0ce;border-bottom:2px solid #d6ae63}
.dw-lane-name{display:block;font-size:11px;font-weight:650;overflow:hidden;text-overflow:ellipsis}
.dw-lane-address,.dw-lane-time{display:block;font-size:9px;color:var(--op-617e8d,#617e8d);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.dw-crew-held{float:right;color:var(--op-477d91,#477d91);margin-left:4px}
.dw-lane-help{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 15px;margin:0;border-top:1px solid var(--op-d4e2e7,#d4e2e7);font-size:10px;color:var(--op-6b8490,#6b8490)}
.dw-dispatch [hidden]{display:none!important}
.dw-state-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.dw-state-toolbar button:disabled{opacity:.45;cursor:default}
.dw-state-description{font-size:11px;color:var(--op-617d89,#617d89)}
.dw-dispatch .gp-review{padding-top:0!important}
.dw-dispatch .gp-review-top{padding:10px 15px}.dw-dispatch .gp-review-top h2{font-size:12px}.dw-dispatch .gp-summary{font-size:11px}
.dw-dispatch .gp-clock,.dw-dispatch .gp-crew-row{grid-template-columns:176px minmax(0,1fr)}
.dw-dispatch .gp-crew-meta{padding:14px 15px}.dw-dispatch .gp-crew-meta b{font-size:12px}
.dw-dispatch .gp-crew-row,.dw-dispatch .gp-lane-track{min-height:81px;height:81px}
.dw-dispatch .gp-job-block{top:12px;height:57px;border-radius:6px;padding:6px 8px}
.dw-dispatch .gp-job-block .gp-name{font-size:11px}.dw-dispatch .gp-job-block .gp-service,.dw-dispatch .gp-job-block .gp-time{font-size:9px}
.dw-dispatch .gp-job-block[data-gp-category=maintenance]{--accent:#9470b5!important}
.dw-dispatch .gp-job-block[data-gp-category=opening]{--accent:#579b77!important}
.dw-dispatch .gp-job-block[data-gp-category=install]{--accent:#c6a33d!important}
.dw-dispatch .gp-job-block[data-gp-category=repair],.dw-dispatch .gp-job-block[data-gp-category=equipment_install],.dw-dispatch .gp-job-block[data-gp-category=leak_detection]{--accent:var(--op-7194bd,#7194bd)!important}
.dw-lanes .lane-track{background-image:linear-gradient(to right,var(--op-e0ebef,#e0ebef) 1px,transparent 1px);background-size:var(--dw-hour-width) 100%;background-position:var(--dw-hour-offset) 0}
.dw-lane-name{display:flex;align-items:center;gap:3px;line-height:13px;white-space:nowrap}
.dw-lane-title{min-width:0;overflow:hidden;text-overflow:ellipsis}
.dw-crew-held{float:none;flex-shrink:0;margin-left:auto;line-height:12px}
.dw-lane-address,.dw-lane-time{line-height:11px;white-space:nowrap}
.dw-dispatch .office-page-heading{margin-bottom:18px}
.dw-dispatch .disp-toolbar{display:flex;align-items:center;gap:7px;margin-bottom:15px;flex-wrap:wrap}
.dw-dispatch .disp-toolbar .btn,.dw-dispatch .disp-toolbar input[type=date],.dw-dispatch .disp-toolbar summary.btn{min-height:30px;font-size:12px;padding:5px 9px}
.dw-dispatch .disp-toolbar input[type=date]{width:142px!important}
.dw-dispatch .office-dispatch-primary-actions{display:flex;align-items:center;gap:7px}
.dw-dispatch .ux-tabs-route{margin:0 0 0 auto;padding:3px;min-height:0;border-radius:7px;gap:2px}
.dw-dispatch .ux-tabs-route button{min-height:25px;padding:4px 10px;font-size:11px;border-radius:4px}
.dw-dispatch .office-dispatch-top-tools{margin:0;display:flex}
.dw-dispatch #office-day-summary{display:none}
.dw-dispatch .office-dispatch-build-toolbar{display:none}
.dw-dispatch .dw-tools-menu{position:relative}
.dw-dispatch .dw-tools-menu .disp-menu-pop{min-width:250px;right:0;left:auto;z-index:50}
.dw-dispatch .dw-tools-menu .dispatch-refresh{display:flex;justify-content:flex-start;margin:8px 0;gap:8px}
.dw-dispatch .dw-tools-menu .office-dispatch-text{margin:0}
.dw-dispatch .dw-tools-menu .office-dispatch-text .disp-menu-pop{position:static;box-shadow:none;min-width:0}
@media(max-width:760px){.dw-dispatch .disp-toolbar{align-items:center}.dw-dispatch .ux-tabs-route{margin-left:0}.dw-dispatch .office-dispatch-primary-actions{margin-left:0}.dw-dispatch .dw-tools-menu .disp-menu-pop{position:absolute;right:0;width:270px}}
.dw-saved-heading>h3{display:none}
.dw-saved-heading .dw-state-toolbar,.dw-dispatch .gp-review-top .dw-state-toolbar{margin:0}
.dw-saved-heading .dw-state-description,.dw-dispatch .gp-review-top .dw-state-description{display:none}
.dw-dispatch .gp-review-top h2{display:none}
.dw-dispatch .gp-review-top{align-items:center;justify-content:flex-start}
.dw-dispatch .gp-review-top .gp-unsaved{margin-left:auto}
.dw-dispatch .dw-lane-help{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
.dw-dispatch .dw-lane-help>span{display:inline;margin:0}

.dw-picked-jobs{font-size:12px;margin:8px 0;color:var(--ink,var(--op-264751,#264751))}
.dw-picked-jobs summary{cursor:pointer;width:fit-content}
.dw-picked-jobs>div{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:5px}
.dw-picked-row{display:flex;align-items:center;gap:7px}.dw-picked-row small{font-variant-numeric:tabular-nums;color:var(--op-617980,#617980)}.dw-placement-reason{color:#795820}

.dw-can-place{outline:1px dashed var(--op-4d8b98,#4d8b98);outline-offset:-2px;cursor:copy}.dw-can-place:focus-visible{outline:2px solid var(--op-236a7a,#236a7a)}

.dw-recent-changes{font-size:12px;margin:6px 0;color:var(--op-617980,#617980)}.dw-recent-changes summary{cursor:pointer;width:fit-content}.dw-recent-changes>div{max-height:180px;overflow:auto}.dw-change-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0}.dw-change-row button{flex-shrink:0}

.dw-drag-ghost{position:fixed!important;width:220px!important;height:63px!important;z-index:10000;pointer-events:none!important;opacity:.88;box-shadow:0 6px 18px var(--op-12374630,#12374630)}.dw-drop-over{outline:2px solid var(--op-237487,#237487)!important;background-color:var(--op-eaf5f5,#eaf5f5)!important}
/* Compact timeline dimensions must not constrain the wrapping job list. */
.dw-dispatch .gp-list-view .gp-crew-row,.dw-dispatch .gp-list-view .gp-lane-track{height:auto}
.dw-dispatch .gp-list-view .gp-job-block{top:auto}
@media(max-width:760px){.dw-dispatch .gp-list-view .gp-crew-row{grid-template-columns:minmax(0,1fr)}}

.dw-dispatch .gp-job-block.gp-moved{background:#fff;border-color:var(--op-b8ced8,#b8ced8);border-left-color:var(--accent)}.dw-dispatch .gp-job-block .gp-name{display:flex;align-items:center;gap:3px}.dw-dispatch .gp-person{min-width:0;overflow:hidden;text-overflow:ellipsis}.dw-dispatch .gp-name .dw-crew-held{font-style:normal;flex-shrink:0;margin-left:auto}

/* Common forty minute stops retain a readable header; crowded days scroll horizontally. */
.dw-dispatch .gp-preview-board:not(.gp-list-view){min-width:calc(176px + var(--dw-track-width,1200px))}

.dw-dispatch .dw-opt-board{padding:0!important;border:1px solid var(--op-b4ced9,#b4ced9);border-radius:11px;overflow:hidden}
.dw-opt-heading{display:flex;gap:13px;flex-wrap:wrap}.dw-opt-heading .gp-unsaved{font-size:10px;color:#826329;background:#fff3d9;border:1px solid #e4d4ae;padding:3px 7px;border-radius:12px}
.dw-proposed-change{font-size:11px;color:var(--op-24758a,#24758a);margin-left:auto;flex-shrink:0}
.dw-opt-help,.dw-opt-changes{padding:8px 15px}.dw-opt-help .press-help-heading{margin:0;font-size:10px}.dw-opt-changes{overflow-x:auto}.dw-opt-changes table{font-size:11px}.dw-opt-actions{display:flex;align-items:center;gap:9px;margin-top:10px}
.dw-opt-list .lane{display:flex;flex-direction:column}.dw-opt-list .lane-head{width:auto}.dw-opt-list .lane-track{min-width:0!important;height:auto;display:flex;flex-wrap:wrap;gap:8px;padding:10px;background-image:none}.dw-dispatch .dw-opt-list .lane-block{position:relative;left:auto!important;top:auto;width:190px!important;flex:0 0 190px}.dw-opt-list .lane-axis{display:none}

.dw-undo-toast{position:fixed;z-index:1200;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:10px 14px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--op-b4ced9,#b4ced9);border-radius:8px;box-shadow:0 4px 18px var(--op-12384a20,#12384a20);color:var(--op-12384a,#12384a);font-size:12px}.dw-undo-toast button{border:0;background:none;font:inherit;color:var(--op-12647d,#12647d);font-weight:600;padding:4px 5px;cursor:pointer}.dw-undo-toast span{min-width:0}.dw-undo-toast button:focus-visible{outline:2px solid var(--op-157897,#157897);outline-offset:2px}
@media(max-width:760px){.dw-dispatch .generate-preview .gp-review-top{flex-wrap:wrap;gap:8px}.dw-dispatch .generate-preview .gp-review-top>div:not(.dw-state-toolbar){order:2;flex:1 0 100%;min-width:0}.dw-dispatch .generate-preview .gp-review-top .gp-summary{margin:0}}

/* Ocean's global 14px/600 button rule must not enlarge the approved desktop
   pool controls or make the address inherit a button's heavier text weight. */
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-pool button{font-size:11px;font-weight:400}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-pool .dw-pile-toggle{font-size:12px;font-weight:650}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-pool .dw-more{font-size:10px}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-pool .dw-quiet{font-size:10px}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-pool .dw-job-detail{font-size:19px}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-pool .dw-segment button[aria-pressed=true]{font-weight:650}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-dispatch :is(.dw-scale-toggle,.dw-segment button){font-size:11px;font-weight:400}
html[data-ocean] body:is(.ocean-app,.redesign-office) .dw-dispatch .dw-segment button[aria-pressed=true]{font-weight:650}

/* The signed-in office shell has stronger shared control rules. Keep the
   approved Dispatch spacing without changing other office pages. */
html[data-ocean] body.redesign-office .dw-dispatch .ux-tabs-route{padding:3px;border:1px solid var(--op-cadde4,#cadde4);gap:2px;min-height:0;background:var(--op-eaf2f5,#eaf2f5)}
html[data-ocean] body.redesign-office .dw-dispatch .ux-tabs-route [role=tab]{padding:4px 11px;font-size:11px;line-height:16.5px;min-height:0;border:0;border-radius:4px;font-weight:400}
html[data-ocean] body.redesign-office .dw-dispatch .ux-tabs-route [aria-selected=true]{font-weight:650}
html[data-ocean] body.redesign-office .dw-dispatch .dw-lane-help{width:100%;max-width:none}
@media(min-width:761px){
 html[data-ocean] body.redesign-office main.dw-dispatch{padding:22px 26px 24px}
 html[data-ocean] body.redesign-office .dw-dispatch .office-work-context{font-size:11px;line-height:16.5px;margin:0 0 12px}
 html[data-ocean] body.redesign-office .dw-dispatch .office-page-heading h1{font-size:29px;line-height:36px}
 html[data-ocean] body.redesign-office .dw-dispatch #dispatchGuideSlot .btn{min-height:30px;padding:5px 10px;font-size:12px;line-height:18px}
}
html[data-ocean] body.redesign-office .dw-dispatch .ux-tabs-route .ocean-view-tabs{padding:0;border:0;border-radius:0;background:transparent;gap:2px}
@media(min-width:761px){html[data-ocean] body.redesign-office .dw-dispatch .office-work-context{min-height:0}}
.dw-dispatch .ux-tabs-route .dw-week-link{border:0;background:transparent;padding:4px 11px;font-size:11px;line-height:16.5px;color:var(--op-5c7784,#5c7784);text-decoration:none;border-radius:4px;white-space:nowrap}
.dw-dispatch .ux-tabs-route .dw-week-link:hover{background:#fff}

/* Mike's approved global-views reference, October 4. Open rows and compact
   columns share the same cards and route state. The pool always keeps its
   surname/address Monopoly piles. */
html[data-ocean] body .dw-dispatch :is(.dw-saved-board,.dw-opt-board,.generate-preview,.dw-pool){font-family:Arial,sans-serif;font-size:12px;line-height:1.4;color:var(--op-173c4d,#173c4d)}
html[data-ocean] body .dw-dispatch :is(.dw-saved-board,.dw-opt-board,.generate-preview,.dw-pool) :is(button,input,select){font-family:Arial,sans-serif}
html[data-ocean] body .dw-dispatch .dw-layout-switch{display:flex;padding:3px;border:1px solid var(--op-cee0e7,#cee0e7);border-radius:5px;background:var(--op-f3f8fa,#f3f8fa);margin-left:auto;gap:0}
html[data-ocean] body .dw-dispatch .dw-layout-switch button{border:0;background:transparent;padding:4px 10px;border-radius:3px;font:11px/1.4 Arial,sans-serif;color:var(--op-173c4d,#173c4d);min-height:0;white-space:nowrap;cursor:pointer}
html[data-ocean] body .dw-dispatch .dw-layout-switch button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px var(--op-183e4d20,#183e4d20);font-weight:600}
.dw-layout-switch button:focus-visible{outline:2px solid var(--op-173c4d,#173c4d);outline-offset:2px}
html[data-ocean] body .dw-dispatch :is(.dw-saved-board,.dw-opt-board,.gp-review){border:1px solid var(--op-cee0e7,#cee0e7)!important;border-radius:9px;background:#fff}
.dw-dispatch[data-dw-layout] :is(.dw-saved-heading,.gp-review-top){padding:13px 15px;border-bottom:1px solid var(--op-cee0e7,#cee0e7);gap:10px}
.dw-dispatch[data-dw-layout] :is(.dw-lanes,.gp-board-wrap){overflow:auto}
.dw-dispatch[data-dw-layout] .dw-lanes{padding:0;gap:0;border-top:0}
.dw-dispatch[data-dw-layout] :is(.lane-axis,.gp-clock){display:none}
.dw-dispatch[data-dw-layout] .gp-preview-board:not(.gp-list-view){min-width:0;width:100%}
.dw-dispatch[data-dw-layout] :is(.dw-lanes:not(.dw-opt-list) .lane,.gp-preview-board:not(.gp-list-view) .gp-crew-row){display:grid;grid-template-columns:126px minmax(0,1fr);border-top:0;border-bottom:1px solid var(--op-cee0e7,#cee0e7);min-height:0;height:auto;gap:0}
.dw-dispatch[data-dw-layout] :is(.dw-lanes:not(.dw-opt-list) .lane-head,.gp-preview-board:not(.gp-list-view) .gp-crew-meta){width:auto;min-width:0;box-sizing:border-box;padding:17px 12px;border-right:1px solid var(--op-cee0e7,#cee0e7);background:#fff;position:static}
.dw-dispatch[data-dw-layout] :is(.lane-head b,.gp-crew-meta b){font:500 12px/1.4 Arial,sans-serif}
.dw-dispatch[data-dw-layout] :is(.lane-head .hint,.gp-crew-meta .gp-summary){font:10px/1.4 Arial,sans-serif;color:var(--op-617c89,#617c89);margin:4px 0 0}
.dw-dispatch[data-dw-layout] :is(.dw-lanes:not(.dw-opt-list) .lane-track,.gp-preview-board:not(.gp-list-view) .gp-lane-track){min-width:0!important;width:auto;height:auto;min-height:105px;display:flex;align-items:center;gap:0;padding:23px 12px 15px;overflow-x:auto;background:var(--op-f3f8fa,#f3f8fa);scrollbar-width:thin;box-sizing:border-box}
.dw-dispatch[data-dw-layout] :is(.dw-lanes:not(.dw-opt-list) .lane-block,.gp-preview-board:not(.gp-list-view) .gp-lane-track .gp-job-block){position:relative;left:auto!important;top:auto;width:154px!important;flex:0 0 154px;height:67px;min-height:0;padding:8px 9px;border:1px solid var(--op-cee0e7,#cee0e7);border-top:4px solid var(--dw-category);border-radius:5px;background:#fff;text-align:left;box-shadow:0 2px 3px var(--op-163d4d0c,#163d4d0c);box-sizing:border-box;color:var(--op-173c4d,#173c4d);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;font:12px/1.4 Arial,sans-serif}
html[data-ocean] body .dw-dispatch :is(.dw-lane-name,.gp-job-block .gp-name,.dw-job-top){display:flex;align-items:center;gap:6px;font:600 11px/1.4 Arial,sans-serif;white-space:nowrap;min-width:0;flex:none}
html[data-ocean] body .dw-dispatch :is(.dw-lane-title,.gp-person,.dw-job-name){font:inherit;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dw-dispatch .dw-service{margin:0;display:inline-flex;flex:none;width:13px;height:13px;align-items:center;justify-content:center;font-size:14px}
.dw-dispatch .dw-service svg{width:13px;height:13px}
html[data-ocean] body .dw-dispatch :is(.dw-lane-address,.dw-lane-time,.gp-job-block .gp-service,.gp-job-block .gp-time,.dw-job-address){display:block;font:400 10px/1.4 Arial,sans-serif;color:var(--op-617c89,#617c89);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;flex:none}
.dw-dispatch .dw-departure{height:67px;width:57px;position:relative;flex:0 0 57px;color:#b94246;font:10px/1.4 Arial,sans-serif;text-align:center}
.dw-dispatch .dw-departure:before{content:'';position:absolute;left:50%;top:6px;bottom:0;width:1px;background:#b94246;opacity:.75}
.dw-dispatch .dw-departure>span{position:absolute;z-index:1;left:0;right:0;top:-10px;padding:0 2px;background:var(--op-f3f8fa,#f3f8fa);white-space:nowrap}
.dw-dispatch .dw-departure:last-child{width:53px;flex-basis:53px}
.dw-dispatch[data-dw-layout] .lane-block[data-job-state=done]{background:#eff7f1;border-bottom-color:#8abca0}
.dw-dispatch[data-dw-layout] .lane-block[data-job-state=under]{background:#fff0ce;border-bottom:2px solid #d6ae63}
.dw-dispatch[data-dw-layout] .lane-axis{display:none!important}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list),.gp-preview-board:not(.gp-list-view)){display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);width:100%;background:var(--op-f3f8fa,#f3f8fa);align-items:stretch}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .lane,.gp-preview-board:not(.gp-list-view) .gp-crew-row){display:flex;flex-direction:column;border-right:1px solid var(--op-cee0e7,#cee0e7);min-width:0}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .lane-head,.gp-preview-board:not(.gp-list-view) .gp-crew-meta){border-right:0;border-bottom:1px solid var(--op-cee0e7,#cee0e7);padding:13px 12px}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .lane-track,.gp-preview-board:not(.gp-list-view) .gp-lane-track){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:visible;padding:14px 12px 16px;min-height:320px;flex:1}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .lane-block,.gp-preview-board:not(.gp-list-view) .gp-lane-track .gp-job-block){width:100%!important;height:70px;flex:0 0 70px;padding:9px 10px;border-top-width:5px;margin-bottom:-31px;z-index:auto}
.dw-dispatch[data-dw-layout=compact] :is(.lane-block,.gp-job-block):nth-last-child(2){margin-bottom:0}
html[data-ocean] body .dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .dw-lane-name,.gp-preview-board:not(.gp-list-view) .gp-lane-track .gp-name){font-size:12px}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list),.gp-preview-board:not(.gp-list-view)) :is(.dw-lane-address,.dw-lane-time,.gp-job-block .gp-service,.gp-job-block .gp-time,.dw-departure){display:none!important}
.dw-dispatch :is(.dw-opt-list,.gp-list-view) .dw-departure{display:none}
.dw-dispatch .dw-job{background:#fff;border:1px solid var(--op-cee0e7,#cee0e7);border-top:4px solid var(--dw-category);border-radius:5px;box-shadow:0 2px 3px var(--op-163d4d0c,#163d4d0c);min-height:70px;margin-bottom:-14px}
.dw-dispatch .dw-job:last-child{min-height:70px}
.dw-dispatch .dw-job-select{padding:8px 0 19px 9px}
.dw-dispatch .dw-job-address{min-width:0;flex:1}
.dw-dispatch .dw-stack.is-expanded .dw-job{margin-bottom:6px}
.dw-dispatch .dw-job.is-due{background:#fff0ce}
.dw-dispatch .dw-job.is-selected{background:var(--op-eaf6f8,#eaf6f8)}
/* Day tints leave the approved category stripe, icons and card geometry intact.
   Selection and the optional due emphasis must never hide overdue red. */
.dw-pool .dw-job[data-day-kind=overdue]{background:#fce9e8;border-right-color:#dfb4b4;border-bottom-color:#dfb4b4}
.dw-pool .dw-job[data-day-kind=today]{background:#fff4dc}
.dw-pool .dw-job[data-day-kind=tomorrow]{background:var(--op-eaf3f9,#eaf3f9)}
.dw-pool .dw-job[data-day-kind=plus2]{background:#f1ebf8}
.dw-pool .dw-job[data-day-kind].is-due{box-shadow:inset 0 0 0 1px #c5a04d,0 2px 3px var(--op-163d4d0c,#163d4d0c)}
.dw-pool .dw-job[data-day-kind=overdue].is-due{box-shadow:inset 0 0 0 1px #b94246,0 2px 3px #163d4d0c}
.dw-day-legend{margin-top:8px}
.dw-pool .dw-zones-action,.dw-dispatch #mapCard .dw-zones-action{background:#756096!important;color:#fff!important;border-color:#675183!important}
.dw-pool .dw-zones-action{border-radius:4px}
.dw-pool .dw-zones-action:hover,.dw-dispatch #mapCard .dw-zones-action:hover{background:#675183!important}
.dw-zones-action:disabled{opacity:.5;cursor:default}
@media(max-width:500px){
 .dw-dispatch[data-dw-layout] :is(.dw-lanes:not(.dw-opt-list) .lane,.gp-preview-board:not(.gp-list-view) .gp-crew-row){grid-template-columns:105px minmax(0,1fr)}
 .dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list),.gp-preview-board:not(.gp-list-view)){grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto}
 .dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .lane-track,.gp-preview-board:not(.gp-list-view) .gp-lane-track){min-height:0}
 .dw-dispatch[data-dw-layout=compact] .lane{border-right:0}
}
html[data-ocean] body .dw-dispatch .gp-review.card{padding:0!important}
html[data-ocean] body .dw-dispatch .gp-board-help{max-width:none;width:100%;font:10px/1.4 Arial,sans-serif;padding:8px 15px;color:var(--op-617c89,#617c89)}
html[data-ocean] body .dw-dispatch .gp-list-view .gp-job-block .gp-service{white-space:normal}
.dw-crew-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.dw-crew-confirm-dialog .office-approval-mode-body > p + p{margin-top:8px}

/* Separate the shop's current-time marker from red departure dividers. */
.dw-dispatch .lane-nowline{position:absolute;top:23px;bottom:0;width:1px;height:auto;background:#167786;opacity:1;pointer-events:none;color:#167786;font:500 9px/1.4 Arial,sans-serif;white-space:nowrap;z-index:2;display:flex;align-items:flex-end;overflow:visible;text-indent:4px}
.dw-dispatch[data-dw-layout=compact] .lane-nowline{display:none}
/* Shared scrolling keeps crew rows aligned. Crew names stay in sight. */
.dw-dispatch[data-dw-layout=open] :is(.dw-lanes:not(.dw-opt-list) .lane,.gp-preview-board:not(.gp-list-view) .gp-crew-row){grid-template-columns:126px minmax(var(--dw-shared-route-width),1fr);min-width:calc(126px + var(--dw-shared-route-width))}
.dw-dispatch[data-dw-layout=open] :is(.dw-lanes:not(.dw-opt-list) .lane-track,.gp-preview-board:not(.gp-list-view) .gp-lane-track){overflow:visible;min-width:var(--dw-shared-route-width)!important}
.dw-dispatch[data-dw-layout=open] :is(.dw-lanes:not(.dw-opt-list) .lane-head,.gp-preview-board:not(.gp-list-view) .gp-crew-meta){position:sticky;left:0;z-index:4}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list),.gp-board-wrap){max-height:440px;overflow:auto}
.dw-dispatch[data-dw-layout=compact] :is(.dw-lanes:not(.dw-opt-list) .lane-track,.gp-preview-board:not(.gp-list-view) .gp-lane-track){max-height:none!important;overflow:visible!important}
.dw-dispatch[data-dw-layout=compact] :is(.lane-head,.gp-crew-meta){position:sticky;top:0;z-index:4}
.dw-dispatch[data-dw-layout=compact][data-stack-full-columns=true] :is(.dw-lanes:not(.dw-opt-list),.gp-board-wrap){max-height:none;overflow:visible}

/* Completion state wins over fixed-card layout styles; type color stays intact. */
.dw-dispatch[data-dw-layout] .dw-lanes .lane-track .lane-block[data-job-state=done]{background:var(--op-eaf0f3,#eaf0f3);border-bottom-color:var(--op-889ba6,#889ba6)}
.dw-dispatch[data-dw-layout] .dw-lanes .lane-track .lane-block[data-job-state=done] :is(.dw-lane-title,.dw-lane-address,.dw-lane-time){color:var(--op-657d89,#657d89)}
.dw-dispatch[data-dw-layout] .dw-lanes .lane-track .lane-block[data-job-state=under]{background:#fff0ce;border-bottom:2px solid #d6ae63}
.dw-dispatch .dw-completed{color:var(--op-657d89,#657d89);font:700 12px/1 Arial,sans-serif;flex:none}

/* Approved three views. Geometry is shared with the board's layout calculator. */
.dw-dispatch{--dw-card-width:154px;--dw-departure-width:57px;--dw-track-padding:12px;--dw-crew-width:126px;--dw-minute-width:2}
.dw-dispatch .dw-time-axis{display:none}
.dw-dispatch[data-dw-layout=timeline] :is(.dw-lanes:not(.dw-opt-list),.gp-preview-board:not(.gp-list-view)){position:relative;display:block;overflow:visible}
.dw-dispatch[data-dw-layout=timeline] .dw-lanes:not(.dw-opt-list){overflow:auto}
.dw-dispatch[data-dw-layout=timeline] :is(.dw-lanes:not(.dw-opt-list) .lane,.gp-preview-board:not(.gp-list-view) .gp-crew-row){grid-template-columns:var(--dw-crew-width) var(--dw-timeline-width);min-width:calc(var(--dw-crew-width) + var(--dw-timeline-width))}
.dw-dispatch[data-dw-layout=timeline] :is(.dw-lanes:not(.dw-opt-list) .lane-head,.gp-preview-board:not(.gp-list-view) .gp-crew-meta){position:sticky;left:0;z-index:4}
.dw-dispatch[data-dw-layout=timeline] :is(.dw-lanes:not(.dw-opt-list) .lane-track,.gp-preview-board:not(.gp-list-view) .gp-lane-track){display:block;position:relative;width:var(--dw-timeline-width)!important;min-width:var(--dw-timeline-width)!important;height:110px;min-height:110px;padding:0;overflow:visible;background-color:var(--op-f3f8fa,#f3f8fa);background-image:linear-gradient(to right,var(--op-e0ebef,#e0ebef) 1px,transparent 1px);background-size:120px 100%;background-position:var(--dw-hour-offset) 0}
.dw-dispatch[data-dw-layout=timeline] :is(.dw-lanes:not(.dw-opt-list) .lane-block,.gp-preview-board:not(.gp-list-view) .gp-lane-track .gp-job-block){position:absolute!important;top:25px;left:var(--dw-timeline-left)!important;width:var(--dw-timeline-card-width)!important;flex:none;height:67px}
.dw-dispatch[data-dw-layout=timeline] .dw-departure{display:none!important}
.dw-dispatch[data-dw-layout=timeline] .dw-time-axis{display:grid;grid-template-columns:var(--dw-crew-width) var(--dw-timeline-width);height:35px;min-width:calc(var(--dw-crew-width) + var(--dw-timeline-width));border-bottom:1px solid var(--op-cee0e7,#cee0e7);background:var(--op-f3f8fa,#f3f8fa)}
.dw-dispatch .dw-axis-head{position:sticky;left:0;background:#fff;border-right:1px solid var(--op-cee0e7,#cee0e7);z-index:4}
.dw-dispatch .dw-axis-hours{position:relative;font:11px/30px Arial,sans-serif;color:var(--op-617c89,#617c89)}
.dw-dispatch .dw-axis-hours>span{position:absolute;white-space:nowrap;transform:translateX(-50%)}
.dw-dispatch .lane-nowline{position:absolute;top:0;bottom:0;height:auto;width:1px;background:var(--op-167786,#167786);pointer-events:none;color:var(--op-167786,#167786);font:500 10px/30px Arial,sans-serif;z-index:3;display:block;opacity:1;text-indent:0}
.dw-dispatch .lane-nowline>span{position:absolute;top:0;left:0;transform:translateX(-50%);white-space:nowrap;background:var(--op-f3f8fa,#f3f8fa);padding:0 5px}
.dw-dispatch:not([data-dw-layout=timeline]) .lane-nowline{display:none}

.dw-dispatch[data-dw-layout=timeline] .dw-axis-hours{font:11px/normal Arial,sans-serif}
.dw-dispatch[data-dw-layout=timeline] .dw-axis-hours>span{top:13px}
.dw-dispatch[data-dw-layout=timeline] .lane-nowline{background:var(--op-258f9e,#258f9e)}
.dw-dispatch[data-dw-layout=timeline] .lane-nowline>span{top:4px;background:var(--op-147895,#147895);color:#fff;border-radius:3px;padding:3px 5px;font:11px/normal Arial,sans-serif}
/* Timeline typography follows its approved drawing; Open rows keeps its original styles. */
html[data-ocean] body .dw-dispatch[data-dw-layout=timeline] :is(.dw-lane-name,.gp-job-block .gp-name){font:500 11px Arial,sans-serif}
html[data-ocean] body .dw-dispatch[data-dw-layout=timeline] :is(.dw-lane-address,.dw-lane-time,.gp-job-block .gp-service,.gp-job-block .gp-time){font:400 10px Arial,sans-serif}
.dw-dispatch[data-dw-layout=timeline] :is(.lane-block,.gp-job-block){color:var(--op-163d4d,#163d4d)}
