#visitDayPlanPanel{border-color:#b8d7c3;background:#f5faf7}
#visitDayPlanPanel [hidden]{display:none!important}
#visitDayPlanPanel[data-itinerary-only] :is(.vd-choice-head,#vdSuggestStatus,#vdStops,#vdPlanBody > .vd-step,.vd-introduction,#vdPending + p){display:none}
#visitDayPlanPanel :is(input:not([type=checkbox]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #bac8c0;border-radius:9px;background:#fff;color:#18263d;padding:10px;font:inherit;font-size:16px}
#visitDayPlanPanel label{display:flex;flex-direction:column;gap:6px;font-weight:600}
#visitDayPlanPanel button{min-height:44px;white-space:normal}
.vd-suggest { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 8px 0; }
.vd-suggest p { margin: 0; color: #475569; font-size: 14px; }
.vd-suggest-status { margin: 0; color: #304b66; font-size: 14px; }
.vd-suggest-status:empty, #vdSummary:empty { display: none; }
.vd-alternative { margin: 10px 0 18px; padding: 12px 16px; border: 1px solid #b9cad6; border-radius: 8px; background: #f6f9fc; }
.vd-alternative h4, .vd-alternative p { margin: 0 0 8px; }
.vd-alternative ul { margin: 8px 0; padding-inline-start: 20px; }
.vd-alternative li { overflow-wrap: anywhere; }
.vd-alternative-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.vd-alternative-actions button { min-height: 44px; }
@media (max-width: 600px) {
  .vd-suggest { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin: 7px 0 5px; }
  .vd-suggest button { width: 100%; }
}
#visitDayPlanPanel summary{box-sizing:border-box;min-height:44px;padding:10px 0;cursor:pointer}
.vd-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;align-items:end}
.vd-fields > label{min-width:0}
.vd-saved{display:flex;align-items:end;gap:10px;margin-top:14px}.vd-saved label{flex:1;min-width:0}
#vdSummary{font-size:13px;font-weight:700;margin:3px 0 0;color:#475569}
#vdSettings{margin:0;font-size:14px;color:#475569;line-height:1.4}
#vdOverview{border:1px solid #a9c9b5;border-radius:11px;background:#fff;padding:11px;margin:10px 0}
#vdOverview h3{font-size:16px;margin:0 0 8px}
.vd-overview-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;list-style:none;margin:0;padding:0}
.vd-overview-list li{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:3px 7px;min-width:0;
  border-left:3px solid #78a18a;border-radius:7px;background:#f3f8f5;padding:7px 8px;
}
.vd-overview-list :is(strong,.vd-overview-address,button,.vd-calendar-link){grid-column:1/-1}
.vd-overview-list :is(strong,span){overflow-wrap:anywhere}
.vd-overview-list span{font-size:13px;line-height:1.4}
.vd-overview-list li > span:first-of-type{
  border-radius:999px;padding:2px 6px;background:#e5efe8;color:#305443;font-size:11px;font-weight:700;
}
.vd-overview-list li > span:nth-of-type(2){font-weight:650}
.vd-overview-list :is(button,.vd-calendar-link) { justify-self:start; margin-top: 4px; max-width: 100%; }
.vd-overview-list .vd-calendar-link { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; }
#visitDayPlanPanel .vd-overview-site {
  display: block; width: 100%; min-height: 44px; margin: 0; padding: 4px 0;
  border: 0; background: transparent; box-shadow: none;
  color: #254971; font: inherit; font-weight: 700; line-height: 1.3; text-align: left;
  text-decoration: underline; text-decoration-color: #8ea8bb; text-underline-offset: 3px;
  overflow-wrap: anywhere; cursor: pointer;
}
#visitDayPlanPanel .vd-overview-site:focus-visible { outline: 3px solid #1769aa !important; outline-offset: 2px; }
#vdStops .vd-stop-head h3 { scroll-margin-block-start: calc(var(--rr-stick, 0px) + 12px); }
.vd-overview-address, .vd-field-status { color: #475569; }
.vd-field-status:empty { margin: 0; }
@media (max-width: 600px) {
  .vd-overview-list { grid-template-columns: minmax(0, 1fr); }
  .vd-overview-list :is(button,.vd-calendar-link) { width: 100%; }
}
.vd-stop{border:1px solid #cad9cf;border-radius:12px;background:#fff;padding:16px;margin:14px 0;min-width:0}
.vd-stop h3{margin:0;font-size:18px;line-height:1.4;overflow-wrap:anywhere}.vd-stop-state{font-size:14px;margin:5px 0 12px;color:#475569}
.vd-stop-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.vd-stop-head h3{flex:1;min-width:0}.vd-order{display:flex;gap:6px;flex:none}
#visitDayPlanPanel .vd-step {
  margin: 12px 0 5px;
  color: #18263d;
  font-size: 17px;
}
#vdSavedPicker { margin: 6px 0 0; }
@media (min-width:821px) {
  .vd-choice-head { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:3px; }
  .vd-choice-head .vd-suggest { margin:0; }
}
@media(min-width:740px){.vd-fields:has(#vdLength){grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.8fr)}}
@media(min-width:1280px){.vd-plan-setup{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:14px}#vdSavedPicker{border-top:0;border-left:1px solid #d5e0db;padding-left:14px}}
.vd-disclosure {
  margin: 10px 0;
  border-top: 1px solid #d5e0db;
}
#visitDayPlanPanel .vd-disclosure > summary {
  color: #304b66;
  font-size: 14px;
  font-weight: 650;
}
.vd-disclosure > .vd-saved { margin-top: 0; }
.vd-introduction textarea { margin-top: 6px; }
#vdNextStep { margin: 6px 0; color: #475569; }
#vdNextStep:empty, #vdStatus:empty { display: none; }
.vd-times,.vd-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
#vdActions{align-items:stretch}
#vdActions #vdGenerate{flex:1 1 230px;max-width:440px}
#vdManualBooking{margin-top:18px;padding-top:4px}
#vdManualBooking > summary{color:#475569}
#vdManualBooking #vdBookHint{max-width:66ch;font-size:14px;line-height:1.5;color:#475569}
@media(max-width:600px){#vdActions{display:grid;grid-template-columns:minmax(0,1fr)}#vdActions button{width:100%}#vdActions #vdGenerate{max-width:none}#vdManualBooking #vdBook{width:100%}}
#visitDayPlanPanel .vd-stop-head h3 { margin: 0; }
.vd-stop .vd-time-heading { margin: 10px 0 0; font-size: 16px; }
.vd-stop .vd-times { margin: 8px 0 12px; }
.vd-picker-help { margin: 4px 0 0; color: #526173; font-size: 13px; }
.vd-stop-hint { color: #475569; font-size: 14px; }
.vd-time-reasons { font-size: 14px; line-height: 1.5; color: #475569; margin: 4px 0 10px; }
.vd-time-reasons summary { font-weight: 650; }
.vd-reason-help { margin: 0 0 10px; }
.vd-time-reasons ul { padding-left: 20px; margin: 0 0 12px; }
.vd-time-reasons li + li { margin-top: 6px; }
.vd-time-reasons li p { margin: 0 0 5px; }
.vd-time-reasons .vd-reason-active { border-left: 3px solid #7892b5; border-radius: 5px; background: #edf3fa; color: #20314d; padding: 8px 10px; scroll-margin-block-start: calc(var(--rr-stick,0px) + 12px); }
.vd-blocked-times { display: flex; flex-wrap: wrap; gap: 4px; }
.vd-blocked-times .vd-time-option { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: min(100%,128px); max-width: 100%; min-height: 48px!important; margin: 0; padding: 10px 12px; font-size: 16px; background: #f1f3f6; border-color: #c8d1dc; color: #526173; cursor: pointer; }
html.rrcc-ui body #visitDayPlanPanel .vd-blocked-times .vd-time-option { background: #f1f3f6!important; border-color: #c8d1dc!important; color: #526173; }
.vd-blocked-times .vd-time-info { border-radius: 50%; border-color: #91a3b8; font-weight: 700; }
.vd-recommendation { border-left: 3px solid #7892b5; border-radius: 5px; background: #f1f6fb; padding: 8px 10px; }
.vd-chosen{margin:12px 0;padding:12px;border:1px solid #d8e2dc;border-radius:10px;background:#f7faf8}.vd-chosen h4{margin:0 0 6px;font-size:16px}
.vd-chosen ul{padding:0;margin:0;list-style:none}.vd-chosen li{display:flex;align-items:center;gap:10px;padding:5px 0}.vd-chosen li span{flex:1;min-width:0;overflow-wrap:anywhere}
.vd-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:14px}.vd-note{margin-top:12px}
.vd-note > summary { color: #304b66; font-size: 14px; font-weight: 650; }
.vd-recipient { padding: 12px; border: 1px solid #d5dee7; border-radius: 9px; background: #f7f9fc; }
.vd-recipient > p { margin: 4px 0; overflow-wrap: anywhere; }
.vd-recipient-address { font-size: 14px; }
.vd-recipient-address span { display: block; }
.vd-recipient-address span + span { color: #475569; }
.vd-recipient-hint { color: #475569; font-size: 14px; }
.vd-recipient summary { color: #304b66; font-size: 14px; font-weight: 650; }
.vd-optional { margin-left: 4px; color: #526173; font-size: 13px; font-weight: 500; }
.vd-stop-footer { margin-top: 14px; padding-top: 8px; border-top: 1px solid #e1e7ee; }
.vd-stop-footer button { font-size: 14px; }
.vd-chosen p { margin: 0; color: #475569; font-size: 14px; }
#visitDayPlanPanel label.vd-confirm{flex-direction:row;align-items:center;min-height:44px;font-weight:500;margin:8px 0}#visitDayPlanPanel input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#1a7f37}
.vd-issues{color:#8b2517;line-height:1.5}.vd-issues ul{padding-left:22px;margin:6px 0}.vd-clear{color:#166534}
#vdIssues,#vdProtected,#vdPending{border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:12px 14px;margin:14px 0;overflow-wrap:anywhere}
#vdIssues:has(.vd-issues){border-color:#edb7aa;background:#fff8f5}#vdProtected h3,#vdPending h3,#vdIssues h3,#vdEmails h3{font-size:16px;margin:0 0 8px}
.vd-locked,.vd-pending{padding:8px 0;border-top:1px solid #e2e8f0;line-height:1.5}.vd-locked:first-of-type,.vd-pending:first-of-type{border-top:0}
#vdStatus{white-space:pre-wrap;overflow-wrap:anywhere}
#vdActions,#vdEmails{scroll-margin-top:calc(var(--rr-stick,0px) + 12px)}
.vd-mail-section { margin: 24px 0 14px; }
#visitDayPlanPanel .vd-mail-section h3 { margin: 0; font-size: 20px; }
.vd-mail-section p { margin: 6px 0 0; color: #475569; font-size: 14px; line-height: 1.5; }
.vd-email {
  min-width: 0;
  margin: 12px 0;
  border: 1px solid #d5dee7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 6px rgb(24 38 61 / 5%);
  overflow-wrap: anywhere;
}
.vd-mail-header {
  padding: 16px;
  border-radius: 11px 11px 0 0;
  border-bottom: 1px solid #e1e7ee;
  background: #f7f9fc;
}
.vd-mail-status {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e7eef6;
  color: #304b66;
  font-size: 12px;
  font-weight: 700;
}
.vd-email h4 { margin: 8px 0 12px; color: #18263d; font-size: 16px; }
.vd-mail-meta { margin: 0; font-size: 14px; line-height: 1.4; }
.vd-mail-meta div { display: grid; grid-template-columns: 4rem minmax(0,1fr); gap: 8px; }
.vd-mail-meta div + div { margin-top: 6px; }
.vd-mail-meta dt { color: #526173; }
.vd-mail-meta dd { margin: 0; color: #18263d; }
.vd-mail-body { padding: 16px; color: #26354b; font-size: 15px; line-height: 1.55; }
.vd-mail-body p { margin: 0; white-space: pre-wrap; }
.vd-mail-body p + p { margin-top: 12px; }
.vd-email details { margin: 0 16px; }
.vd-email details .vd-mail-body { padding: 0 0 16px; }
.vd-email details summary { color: #304b66; font-size: 14px; font-weight: 650; }
.vd-mail-held { margin: 12px 16px 0; color: #725123; font-size: 14px; }
.vd-mail-unavailable { padding: 16px; }
.vd-actions.vd-mail-actions { margin: 0; padding: 12px 16px 16px; border-top: 1px solid #e1e7ee; }
@media(max-width:600px){#visitDayPlanPanel{padding:14px}.vd-fields,.vd-contact{grid-template-columns:minmax(0,1fr)}.vd-saved{align-items:stretch;flex-direction:column}.vd-stop{padding:12px}.vd-times button{flex:0 1 calc(50% - 4px);min-width:0}.vd-actions{display:grid;grid-template-columns:minmax(0,1fr)}.vd-actions button{width:100%}.vd-chosen{padding:10px}.vd-chosen li{align-items:flex-start}.vd-chosen li button{flex:none}#savedVisitDays{min-height:44px}}
@media(min-width:900px){#vdStops,.vd-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}#vdStops>.vd-stop,.vd-preview-grid>.vd-email{margin:0}#vdStops .vd-stop-head{align-items:flex-start;flex-wrap:wrap}#vdStops .vd-stop-head h3{flex:1 0 100%}}
@media(min-width:1280px){#vdStops,.vd-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
#vdStops .vd-times{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}
#vdStops .vd-times button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 1 auto;width:auto;min-width:min(100%,128px);max-width:100%;min-height:48px!important;padding:10px 12px;font-size:16px;white-space:normal}
#vdStops .vd-time-label{white-space:nowrap}
#vdStops .vd-time-long .vd-time-label{white-space:normal;text-align:left;overflow-wrap:anywhere}
.vd-time-check{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 18px;width:18px;height:18px;border:1px solid #91a3b8;border-radius:4px;font-size:16px;line-height:1}
html.rrcc-ui body #visitDayPlanPanel .vd-times button[aria-pressed=true]{background:#20314d;color:#fff;border-color:#20314d;box-shadow:inset 0 0 0 1px #20314d!important}
#vdStops .vd-times button[aria-pressed=true] .vd-time-check{border-color:#fff}
html.rrcc-ui body #visitDayPlanPanel .vd-time-option:focus-visible{outline:3px solid #7892b5!important;outline-offset:2px;box-shadow:0 0 0 1px #20314d!important}
.vd-overview-times{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 5px}
.vd-overview-list .vd-overview-time{white-space:nowrap;overflow-wrap:normal}
.vd-remove-icon{display:none}
@media(max-width:600px){
  #vdStops .vd-times button:not(.vd-time-long){flex:0 1 calc(50% - 4px);min-width:96px;padding-inline:8px}
  #vdStops .vd-times .vd-time-long{flex-basis:100%}
}
@media(max-width:360px){
  #vdStops .vd-times button:not(.vd-time-long){gap:3px;padding-inline:4px}
  #vdStops .vd-time-check{flex-basis:12px;width:12px;height:12px;font-size:12px}
}
@media(min-width:700px){
  #vdStops .vd-chosen{padding:0;border:0;background:transparent;margin:10px 0}
  #vdStops .vd-chosen h4{font-size:13px;color:#526173;margin-bottom:6px}
  #vdStops .vd-chosen ul{display:flex;flex-wrap:wrap;gap:6px}
  #vdStops .vd-chosen li{flex:0 1 auto;max-width:100%;min-height:44px;box-sizing:border-box;gap:4px;padding:0 4px 0 10px;border:1px solid #d5dee7;border-radius:9px;background:#f7f9fc}
  #vdStops .vd-chosen-range{font-size:14px;white-space:nowrap;overflow-wrap:normal}
  #vdStops .vd-chosen-long{white-space:normal}
  #vdStops .vd-chosen button{flex:0 0 44px;min-width:44px;min-height:44px;padding:8px;background:transparent;border-color:transparent;box-shadow:none}
  #vdStops .vd-remove-icon{display:inline;font-size:22px;line-height:1}
  #vdStops .vd-remove-label{display:none}
}
#visitDayPlanPanel :is(#vdIntro,#vdStops .vd-note textarea){min-height:96px;line-height:1.5;resize:vertical}
#vdSuggestStatus,.vd-stop p,.vd-stop li{overflow-wrap:anywhere;line-height:1.5}
#vdRouteSummary{margin:12px 0;padding:12px 14px;border:1px solid #cbd8d0;border-radius:10px;background:#fff;overflow-wrap:anywhere}
#vdRouteSummary h3{margin:0 0 5px;font-size:16px}
#vdRouteSummary p,.vd-travel-leg p{margin:4px 0;font-size:14px;line-height:1.5;color:#475569}
#vdTravelLegs{display:grid;gap:10px;margin:10px 0}
.vd-travel-leg{min-width:0;padding:12px;border:1px solid #d5e0da;border-radius:9px;background:#fff;overflow-wrap:anywhere}
.vd-travel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px 12px;align-items:end;margin-top:8px}
.vd-travel-row > label{min-width:0}

#vdAutosaveStatus{margin:4px 0 12px;color:var(--muted);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
#vdAutosaveStatus.vd-save-error{color:#8b2a16;font-weight:600}

.vd-order-icon{display:none}
@media(max-width:600px){
  #vdStops .vd-stop-head{gap:8px;align-items:flex-start}
  #vdStops .vd-stop-head h3{font-size:17px}
  #vdStops .vd-order button{width:44px;min-width:44px;padding:8px;flex:0 0 44px}
  .vd-order-icon{display:inline;font-size:22px;line-height:1}
  .vd-order-label{display:none}
  .vd-actions.vd-mail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vd-mail-actions [data-vd-open],.vd-mail-actions [data-vd-preview-link],.vd-mail-actions a{grid-column:1/-1}
}

#vdStops .vd-stop-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin-bottom:12px}
#vdStops .vd-stop-head h3{grid-column:1;grid-row:1}
#vdStops .vd-stop-head .vd-stop-state{grid-column:1;grid-row:2;margin:0}
#vdStops .vd-stop-head .vd-order{grid-column:2;grid-row:1/3}
@media(max-width:600px),(min-width:900px){
  #vdStops .vd-stop-head h3{grid-column:1/-1;grid-row:1}
  #vdStops .vd-stop-head .vd-order{grid-column:2;grid-row:2}
  #vdStops .vd-stop-head .vd-stop-state{align-self:center}
}
