.custm-shifts-quotation {
  --csq-blue:#2A6AF6;
  --csq-blue-dark:#1A50CC;
  --csq-navy:#0D1F3C;
  --csq-navy-mid:#1A2E4A;
  --csq-text:#0D1F3C;
  --csq-text-mid:#3A4A6A;
  --csq-muted:#7A8AAA;
  --csq-border:#E4E8F4;
  --csq-bg:#F5F7FC;
  --csq-white:#FFFFFF;
  --csq-teal:#00C8B4;
  --csq-green:#22C55E;
  --csq-red:#EF4444;
  --csq-r-sm:8px;
  --csq-r-md:14px;
  --csq-r-lg:20px;
  --csq-r-xl:28px;
  --csq-font:'Sora',Arial,Helvetica,sans-serif;
  --csq-shadow:0 2px 16px rgba(42,106,246,.10);
  --csq-shadow-md:0 6px 32px rgba(42,106,246,.14);
  color:var(--csq-text);
  font-family:var(--csq-font);
  background:
    radial-gradient(ellipse 900px 600px at 65% 13%,rgba(42,106,246,.20),transparent 65%),
    radial-gradient(ellipse 500px 400px at 5% 30%,rgba(0,200,180,.07),transparent 60%),
    linear-gradient(180deg,#06122A 0%,#0D1F3C 42%,#F5F7FC 42%,#F5F7FC 100%);
  padding:0 18px 64px;
  overflow:visible;
}
.custm-shifts-quotation * { box-sizing:border-box; }
body.csq-modal-open { overflow:hidden; }

/* Prelander-inspired dark Shifts masthead. */
.csq-dark-shell {
  max-width:1180px;
  margin:0 auto;
  padding-top:34px;
  color:var(--csq-white);
  position:relative;
  isolation:isolate;
}
.csq-dark-shell:before {
  content:'';
  position:absolute;
  z-index:-1;
  top:0;
  bottom:-30px;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:
    linear-gradient(rgba(42,106,246,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,106,246,.05) 1px,transparent 1px),
    radial-gradient(ellipse 900px 600px at 65% 20%,rgba(42,106,246,.20),transparent 65%),
    radial-gradient(ellipse 500px 400px at 5% 85%,rgba(0,200,180,.07),transparent 60%),
    linear-gradient(180deg,#06122A 0%,#0D1F3C 100%);
  background-size:52px 52px,52px 52px,auto,auto,auto;
  pointer-events:none;
}
.csq-journey {
  max-width:860px;
  margin:0 auto 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
  align-items:center;
  padding:10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 16px 50px rgba(0,0,0,.16);
  backdrop-filter:blur(10px);
}
.csq-journey-step {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:9px 12px;
  border-radius:12px;
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.csq-journey-number {
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:inherit;
  font-size:10px;
  letter-spacing:0;
}
.csq-journey-step.is-active {
  color:#FFFFFF;
  background:rgba(42,106,246,.19);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.18);
}
.csq-journey-step.is-active .csq-journey-number { background:var(--csq-blue); border-color:var(--csq-blue); color:#fff; box-shadow:0 6px 18px rgba(42,106,246,.28); }
.csq-journey-step.is-done { color:#B6F4EA; }
.csq-journey-step.is-done .csq-journey-number { background:rgba(0,200,180,.15); border-color:rgba(0,200,180,.36); color:#6EE7D7; }
.csq-journey-step.is-done .csq-journey-number { font-size:0; }
.csq-journey-step.is-done .csq-journey-number:after { content:'✓'; font-size:12px; font-weight:900; }
.csq-journey-arrow { color:rgba(255,255,255,.25); text-align:center; font-size:25px; font-weight:400; }

.csq-intro {
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:center;
  padding:18px 10px 38px;
  position:relative;
}
.csq-intro-copy { position:relative; z-index:1; }
.csq-modal-kicker,.csq-success-kicker,.csq-section-kicker,.csq-quote-actions-kicker {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.csq-intro h1 {
  margin:15px 0 13px;
  max-width:800px;
  color:#FFFFFF;
  font-size:clamp(36px,5vw,62px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:800;
}
.csq-intro h1 span { color:#62A0FF; }
.csq-intro p { max-width:760px; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.7; }
.csq-benefits { display:flex; flex-wrap:wrap; gap:9px; margin-top:23px; }
.csq-benefits span { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.88); font-size:11px; font-weight:700; }
.csq-benefits b { display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px; border-radius:999px; background:rgba(0,200,180,.14); color:#5EEAD4; font-size:10px; }


/* Light quotation workspace sitting over the dark Shifts background. */
.csq-form-shell {
  max-width:1120px;
  margin:0 auto;
  overflow:hidden;
  background:var(--csq-white);
  border:1px solid rgba(228,232,244,.95);
  border-radius:28px;
  box-shadow:0 26px 70px rgba(13,31,60,.22);
}
.csq-form-shell-head {
  padding:24px 30px 21px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  color:#fff;
  background:linear-gradient(135deg,#102544,#183A68);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.csq-section-kicker { padding:6px 9px; color:#AFCBFF; background:rgba(42,106,246,.20); border:1px solid rgba(96,165,250,.20); }
.csq-form-shell-head h2 { margin:10px 0 5px; color:#fff; font-size:24px; line-height:1.2; letter-spacing:-.025em; }
.csq-form-shell-head p { max-width:700px; margin:0; color:rgba(255,255,255,.68); font-size:12px; line-height:1.6; }
.csq-secure-note {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(0,200,180,.10);
  border:1px solid rgba(0,200,180,.25);
  color:#7DEBDD;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.csq-secure-note:before { content:''; width:7px; height:7px; border-radius:50%; background:var(--csq-teal); box-shadow:0 0 0 4px rgba(0,200,180,.10); }

.csq-engine { max-width:1120px; margin:0 auto; background:#F8FAFD; }
.csq-engine>.custm-shifts-plugin {
  --blue:#2A6AF6;
  --blue-lt:#EFF4FF;
  --blue-mid:#DBEAFE;
  --blue-dk:#1A50CC;
  --navy:#0D1F3C;
  --bg:#F8FAFD;
  --bg2:#FFFFFF;
  --bg3:#F5F7FC;
  --border:#E4E8F4;
  --border2:#D8DFEC;
  background:transparent;
}
.custm-shifts-quotation .main { max-width:940px; padding:28px 22px 38px; }
.custm-shifts-quotation .card { border-radius:18px; border-color:#E4E8F4; box-shadow:0 6px 22px rgba(13,31,60,.055); }
.custm-shifts-quotation .card-header { border-bottom-color:#E8ECF4; }
.custm-shifts-quotation input:focus,
.custm-shifts-quotation select:focus,
.custm-shifts-quotation textarea:focus { border-color:var(--csq-blue); box-shadow:0 0 0 3px rgba(42,106,246,.12); }
.custm-shifts-quotation .btn-primary { background:var(--csq-blue); border-color:var(--csq-blue); }
.custm-shifts-quotation .btn-primary:hover { background:var(--csq-blue-dark); border-color:var(--csq-blue-dark); }
.custm-shifts-quotation .addr-wrap.has-frequent-addresses > input { padding-right:12px!important; }
/* Exact dark masthead palette/layout traced from the Shifts prelander. */
.csq-brand-header-shell {
  position:relative;
  z-index:20;
  width:100vw;
  max-width:none;
  margin:0 0 0 calc(50% - 50vw);
  background:#06122A;
}
.csq-prelander-nav {
  width:100%;
  overflow:visible;
  background:rgba(6,18,42,.97);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border:0;
  border-bottom:1px solid rgba(42,106,246,.18);
  border-radius:0;
  box-shadow:none;
}
.csq-prelander-nav-inner {
  width:100%;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 32px;
}
.csq-prelander-brand {
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
}
.csq-prelander-logo {
  display:block;
  width:auto;
  height:26px;
  max-width:100px;
  filter:brightness(0) invert(1);
}
.csq-prelander-divider {
  width:1px;
  height:28px;
  flex:0 0 1px;
  background:rgba(255,255,255,.20);
}
.csq-prelander-tagline { display:flex; flex-direction:column; line-height:1.3; }
.csq-prelander-tagline span {
  color:var(--csq-blue);
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.csq-prelander-tagline .csq-prelander-tag-white { color:rgba(255,255,255,.85); }
.csq-prelander-nav-cta {
  flex:0 0 auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:11px 22px;
  border-radius:999px;
  background:var(--csq-blue);
  color:#fff!important;
  box-shadow:0 8px 22px rgba(42,106,246,.28);
  font-size:13px;
  font-weight:700;
  line-height:1;
  text-decoration:none!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.csq-prelander-nav-cta:hover,
.csq-prelander-nav-cta:focus-visible {
  background:var(--csq-blue-dark);
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(42,106,246,.34);
}
.csq-prelander-nav-cta:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.custm-shifts-quotation .result-hero { background:linear-gradient(135deg,#0D1F3C,#1A3A6E); border-radius:20px; box-shadow:0 18px 45px rgba(13,31,60,.18); }

/* Keep the exact live Shifts engine intact; hide only features outside the simplified quotation scope. */
.custm-shifts-quotation .csq-engine .custm-shifts-nav,
.custm-shifts-quotation .custm-shifts-main-tabs,
.custm-shifts-quotation .custm-shifts-landing-hero,
.custm-shifts-quotation .custm-shifts-account-billing-notice,
.custm-shifts-quotation .custm-shifts-account-billing-badge,
.custm-shifts-quotation .csh-account-switcher,
.custm-shifts-quotation .custm-shifts-customer-login-btn,
.custm-shifts-quotation [data-csh-main-account-tab],
.custm-shifts-quotation .custm-frequent-address-picker,
.custm-shifts-quotation .custm-frequent-item-slot,
.custm-shifts-quotation .stop-dg-section,
.custm-shifts-quotation .csh-job-details-entry-tabs,
.custm-shifts-quotation #bulkUploadPanel,
.custm-shifts-quotation #stagingAdditionalDepots,
.custm-shifts-quotation #stagingAddDepotButton,
.custm-shifts-quotation #cshMultiDepotGuidanceNote,
.custm-shifts-quotation #step3,
.custm-shifts-quotation .progress-bar,
.custm-shifts-quotation #paymentModal,
.custm-shifts-quotation #postPaymentPage,
.custm-shifts-quotation #bookingRateSettingsModal,
.custm-shifts-quotation .csh-stop-section--contact,
.custm-shifts-quotation .csh-stop-section--options,
.custm-shifts-quotation .stop-dg-details,
.custm-shifts-quotation .stop-dg-docs-section,
.custm-shifts-quotation .stop-notes-wrap,
.custm-shifts-quotation .csh-price-review-action-bar,
.custm-shifts-quotation #saveRouteTemplateBtn,
.custm-shifts-quotation #savePendingRouteBtn { display:none!important; }
.custm-shifts-quotation .csh-staging-depots-intro-copy strong { font-size:0; }
.custm-shifts-quotation .csh-staging-depots-intro-copy strong:after { content:'Pickup location'; font-size:14px; }
.custm-shifts-quotation .csh-staging-depots-intro-copy small { font-size:0; }
.custm-shifts-quotation .csh-staging-depots-intro-copy small:after { content:'Enter the single pickup and route starting point.'; font-size:11px; }
.custm-shifts-quotation .csh-staging-depot-heading small { font-size:0; }
.custm-shifts-quotation .csh-staging-depot-heading small:after { content:'Your pickup and route starting point.'; font-size:11px; }
.custm-shifts-quotation .csh-staging-depot-tag { font-size:0; }
.custm-shifts-quotation .csh-staging-depot-tag:after { content:'Pickup'; font-size:10px; }
.custm-shifts-quotation .add-stop-btn { margin-bottom:6px; }
.custm-shifts-quotation .manual-review .btn-primary { display:none!important; }

.csq-quote-actions[hidden] { display:none!important; }
.csq-quote-actions {
  margin:0;
  padding:24px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border-top:1px solid #DDE5F1;
  background:linear-gradient(135deg,#EEF4FF,#F8FBFF 55%,#EDFDFC);
}
.csq-quote-actions-copy { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; }
.csq-quote-actions-kicker { padding:5px 8px; color:var(--csq-blue); background:#DDE9FF; }
.csq-quote-actions-copy strong { margin-top:4px; color:var(--csq-navy); font-size:17px; line-height:1.3; }
.csq-quote-actions-copy>span:last-child { color:var(--csq-text-mid); font-size:12px; line-height:1.5; }
.csq-quote-actions-buttons { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex:0 0 auto; }

.csq-modal[hidden],.csq-success[hidden] { display:none!important; }
.csq-modal {
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.csq-modal-backdrop { position:absolute; inset:0; background:rgba(6,18,38,.80); backdrop-filter:blur(7px); }
.csq-modal-panel {
  position:relative;
  width:min(100%,590px);
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(228,232,244,.9);
  border-radius:24px;
  background:#FFFFFF;
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.csq-modal-panel:before { content:''; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,var(--csq-blue),var(--csq-teal)); }
.csq-modal-close { position:absolute; right:16px; top:14px; width:36px; height:36px; border:0; border-radius:50%; background:var(--csq-bg); color:var(--csq-text); font-size:24px; line-height:1; cursor:pointer; }
.csq-modal-close:hover { background:#EAF1FF; color:var(--csq-blue); }
.csq-modal-icon { width:44px; height:44px; margin-bottom:14px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:#EAF1FF; color:var(--csq-blue); font-size:19px; }
.csq-modal-kicker { padding:6px 9px; color:var(--csq-blue); background:#EAF1FF; }
.csq-modal h2 { margin:12px 0 8px; color:var(--csq-text); font-size:27px; line-height:1.18; letter-spacing:-.025em; }
.csq-modal-panel>p { margin:0; color:var(--csq-text-mid); font-size:13px; line-height:1.65; }
.csq-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.csq-field { min-width:0; }
.csq-field-full { margin-top:12px; }
.csq-modal label { display:flex; align-items:center; gap:7px; margin:0 0 8px; color:var(--csq-text); font-weight:800; font-size:11px; }
.csq-optional { color:var(--csq-muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.csq-modal input[type=text],.csq-modal input[type=email],.csq-modal input[type=tel] { width:100%; height:50px; padding:0 15px; border:1px solid var(--csq-border); border-radius:var(--csq-r-md); background:#fff; color:var(--csq-text); outline:none; font:600 14px var(--csq-font); transition:border-color .16s ease,box-shadow .16s ease; }
.csq-modal textarea { width:100%; min-height:120px; resize:vertical; padding:13px 15px; border:1px solid var(--csq-border); border-radius:var(--csq-r-md); background:#fff; color:var(--csq-text); outline:none; font:600 14px/1.5 var(--csq-font); transition:border-color .16s ease,box-shadow .16s ease; }
.csq-modal textarea:focus { border-color:var(--csq-blue); box-shadow:0 0 0 4px rgba(42,106,246,.12); }
.csq-negotiation-contact { margin-top:18px; padding:12px 14px; border-radius:14px; background:var(--csq-bg); color:var(--csq-text-mid); font-size:12px; line-height:1.55; }
.csq-negotiation-contact strong { color:var(--csq-text); }
.csq-modal input::placeholder { color:#A3AEC2; font-weight:500; }
.csq-modal input:focus { border-color:var(--csq-blue); box-shadow:0 0 0 4px rgba(42,106,246,.12); }
.csq-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.csq-privacy-copy { margin:15px 0 0!important; padding:11px 12px; display:flex; gap:8px; align-items:flex-start; border-radius:12px; background:var(--csq-bg); color:var(--csq-muted)!important; font-size:11px!important; line-height:1.5!important; }
.csq-privacy-copy>span:first-child { color:var(--csq-green); font-weight:900; }
.csq-form-error { margin-top:12px; padding:10px 12px; border:1px solid #FECACA; border-radius:12px; background:#FEF2F2; color:#B91C1C; font-size:12px; font-weight:700; }
.csq-modal-actions,.csq-success-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.csq-btn-primary,.csq-btn-secondary { min-height:46px; padding:12px 19px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border-radius:999px; font:700 13px var(--csq-font); cursor:pointer; text-decoration:none; transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease; }
.csq-btn-primary { border:0; background:var(--csq-blue); color:#fff; box-shadow:0 10px 24px rgba(42,106,246,.22); }
.csq-btn-primary:hover { background:var(--csq-blue-dark); color:#fff; transform:translateY(-1px); }
.csq-btn-primary-large { min-height:50px; padding-left:24px; padding-right:24px; }
.csq-btn-secondary { border:1px solid var(--csq-border); background:#fff; color:var(--csq-text); }
.csq-btn-secondary:hover { border-color:#BDD0EF; background:#F7FAFF; }
.csq-btn-primary[disabled] { opacity:.6; cursor:wait; transform:none; }

.csq-success {
  max-width:1120px;
  margin:22px auto 0;
  padding:28px;
  display:flex;
  gap:18px;
  border:1px solid rgba(0,200,180,.28);
  border-radius:24px;
  background:linear-gradient(135deg,#FFFFFF,#F1FFFC);
  box-shadow:var(--csq-shadow-md);
}
.csq-success-icon { flex:0 0 50px; width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:#DCFCE7; color:#15803D; font-size:24px; font-weight:900; }
.csq-success-copy { min-width:0; flex:1; }
.csq-success-kicker { padding:6px 9px; background:#DCFCE7; color:#15803D; }
.csq-success h2 { margin:10px 0 6px; color:var(--csq-text); font-size:25px; letter-spacing:-.02em; }
.csq-success p { margin:0; color:var(--csq-text-mid); font-size:14px; line-height:1.6; }
.csq-success-ref { margin-top:8px!important; color:var(--csq-muted)!important; font-size:12px!important; }
.csq-success-booking-note { margin-top:18px; padding:15px 16px; display:flex; flex-direction:column; gap:4px; border:1px solid var(--csq-border); border-radius:16px; background:var(--csq-bg); }
.csq-success-booking-note strong { font-size:13px; }
.csq-success-booking-note span { color:var(--csq-text-mid); font-size:12px; line-height:1.5; }
.custm-shifts-quotation-unavailable { max-width:860px; margin:24px auto; padding:22px; display:flex; flex-direction:column; gap:6px; border:1px solid #FECACA; border-radius:18px; background:#fff; color:#0D1F3C; }

/* Guest-only quotation: account, saved-data and DG controls never surface here. */
.custm-shifts-quotation [class*="premium-account"],
.custm-shifts-quotation [class*="superadmin"],
.custm-shifts-quotation [class*="admin-benefit"] { display:none!important; }

@media (prefers-reduced-motion:reduce) {
  .custm-shifts-quotation * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media (max-width:900px) {
  .csq-intro { grid-template-columns:1fr; gap:20px; }
  .csq-quote-actions { align-items:flex-start; flex-direction:column; }
  .csq-quote-actions-buttons { width:100%; justify-content:flex-start; }
}
@media (max-width:700px) {
  .custm-shifts-quotation {
    padding:0 10px 48px;
    background:
      radial-gradient(ellipse 640px 460px at 68% 10%,rgba(42,106,246,.18),transparent 65%),
      linear-gradient(180deg,#06122A 0%,#0D1F3C 34%,#F5F7FC 34%,#F5F7FC 100%);
  }
  .csq-journey { grid-template-columns:1fr 18px 1fr; padding:7px; margin-bottom:20px; }
  .csq-journey-step { min-height:42px; padding:7px 5px; gap:6px; font-size:8px; letter-spacing:.045em; }
  .csq-journey-number { width:22px; height:22px; flex-basis:22px; font-size:9px; }
  .csq-journey-arrow { font-size:18px; }
  .csq-intro { padding:10px 8px 26px; }
  .csq-intro h1 { font-size:38px; }
  .csq-form-shell { border-radius:20px; }
  .csq-form-shell-head { padding:21px 20px; flex-direction:column; }
  .custm-shifts-quotation .main { padding:20px 12px 28px; }
  .csq-quote-actions { padding:20px; }
  .csq-contact-grid { grid-template-columns:1fr; }
  .csq-field-full { margin-top:12px; }
  .csq-success { flex-direction:column; }
}
@media (max-width:520px) {
  .csq-journey-label { white-space:normal; line-height:1.15; text-align:center; }
  .csq-journey-step { flex-direction:column; }
  .csq-intro h1 { font-size:33px; }
  .csq-modal-panel { padding:26px 20px 22px; }
  .csq-quote-actions-buttons { flex-direction:column-reverse; align-items:stretch; }
  .csq-quote-actions-buttons .csq-btn-primary,.csq-quote-actions-buttons .csq-btn-secondary,
  .csq-modal-actions .csq-btn-primary,.csq-modal-actions .csq-btn-secondary,
  .csq-success-actions .csq-btn-primary,.csq-success-actions .csq-btn-secondary { width:100%; }
}

@media (max-width:640px) {
  .csq-prelander-nav-inner {
    min-height:58px;
    padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));
  }
  .csq-prelander-logo { height:23px; max-width:88px; }
  .csq-prelander-brand { gap:10px; }
  .csq-prelander-divider { height:26px; }
  .csq-prelander-tagline span { font-size:8px; }
  .csq-prelander-nav-cta { min-height:40px; padding:10px 14px; font-size:11px; }
  .csq-dark-shell { padding-top:24px; }
}

@media (max-width:430px) {
  .csq-prelander-divider,
  .csq-prelander-tagline { display:none; }
  .csq-prelander-nav-cta { padding:10px 12px; font-size:10.5px; }
}


/* v1.0.10 — simplified one-page route entry and acquisition-focused guest UI. Keep the live Shifts DOM/functions in place,
   but present pickup + dropoffs as one continuous quotation form. */
.custm-shifts-quotation.csq-single-route-form #step1,
.custm-shifts-quotation.csq-single-route-form #step2 { display:block!important; }
.custm-shifts-quotation.csq-single-route-form #step1 > .card {
  margin-bottom:0!important;
  border-radius:20px 20px 0 0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.custm-shifts-quotation.csq-single-route-form #step2 > .card {
  margin-top:0!important;
  border-radius:0 0 20px 20px!important;
  border-top:1px solid #E4E8F4!important;
  box-shadow:none!important;
}
.custm-shifts-quotation.csq-single-route-form #step1 > .card > .submit-row,
.custm-shifts-quotation.csq-single-route-form #step2 .csh-step2-submit-row > .btn-secondary,
.custm-shifts-quotation.csq-single-route-form #cshStopsPreviewButton,
.custm-shifts-quotation.csq-single-route-form .csh-stop-toggle { display:none!important; }
.custm-shifts-quotation.csq-single-route-form #stopsContainer .stop-card.is-collapsed .stop-body,
.custm-shifts-quotation.csq-single-route-form #stopsContainer .stop-body { display:block!important; }
.custm-shifts-quotation.csq-single-route-form #step2 .csh-step2-submit-row {
  display:flex!important;
  justify-content:flex-end!important;
  grid-template-columns:none!important;
}
.custm-shifts-quotation.csq-single-route-form #step2 .csh-step2-submit-row > .btn-primary {
  width:min(100%,320px)!important;
  justify-self:auto!important;
}
@media (max-width:640px) {
  .custm-shifts-quotation.csq-single-route-form #step2 .csh-step2-submit-row > .btn-primary { width:100%!important; }
}


/* v1.0.10 acquisition refinements. */
.custm-shifts-quotation .csq-engine .custm-shifts-main-view.active {
  background:linear-gradient(180deg,#EEF4FF 0%,#F7FAFF 100%)!important;
}
.custm-shifts-quotation .csq-engine .bulk-mode-tabs,
.custm-shifts-quotation .csq-engine #bulkUploadPanel,
.custm-shifts-quotation .csq-engine #bulkContinueScrollButton,
.custm-shifts-quotation .csq-engine .csv-upload-bar,
.custm-shifts-quotation .csq-engine .csh-shared-csv-upload,
.custm-shifts-quotation .csq-engine #routeCsvExportBtn {
  display:none!important;
}

/* v1.0.10 — carry the prelander dark-shell treatment through the full page. */
.custm-shifts-quotation {
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(rgba(42,106,246,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,106,246,.045) 1px,transparent 1px),
    radial-gradient(ellipse 980px 680px at 66% 12%,rgba(42,106,246,.20),transparent 66%),
    radial-gradient(ellipse 620px 520px at 7% 72%,rgba(0,200,180,.07),transparent 62%),
    linear-gradient(180deg,#06122A 0%,#0A1933 48%,#0D1F3C 100%);
  background-size:52px 52px,52px 52px,auto,auto,auto;
}

.custm-shifts-quotation:before {
  content:'';
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:
    linear-gradient(rgba(42,106,246,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,106,246,.045) 1px,transparent 1px),
    radial-gradient(ellipse 980px 680px at 66% 12%,rgba(42,106,246,.20),transparent 66%),
    radial-gradient(ellipse 620px 520px at 7% 72%,rgba(0,200,180,.07),transparent 62%),
    linear-gradient(180deg,#06122A 0%,#0A1933 48%,#0D1F3C 100%);
  background-size:52px 52px,52px 52px,auto,auto,auto;
  pointer-events:none;
}

/* v1.0.11 — one continuous prelander shell. The previous hero pseudo-layer
   stacked a second navy treatment over the root and ended above the form,
   which created a visible horizontal seam. The root now owns the background
   for the entire quotation page. */
.custm-shifts-quotation .csq-dark-shell:before {
  content:none!important;
  display:none!important;
}


/* v1.0.12 — quotation result focus and guest-acquisition cleanup. */
.csq-intro h1 .csq-headline-free {
  color:#00C8B4;
  text-shadow:0 0 28px rgba(0,200,180,.18);
}

/* The full Shifts shortcode carries its own product footer. It is intentionally
   hidden inside the quotation shell so the quotation success state is the final
   customer-facing section rather than a second product footer. */
.custm-shifts-quotation .csq-engine > footer,
.custm-shifts-quotation .csq-engine footer {
  display:none!important;
}

/* Pickup notes are part of the full booking workflow, not this acquisition form. */
.custm-shifts-quotation .csq-engine #jobNotes,
.custm-shifts-quotation .csq-engine .fg:has(> #jobNotes) {
  display:none!important;
}

/* After the quotation is delivered, remove the entry form and keep the result
   focused on price + route/map. Route Summary remains interactive, including
   the native Shifts drag/drop order controls and Reverse Route action. */
.custm-shifts-quotation.csq-quotation-ready #step1,
.custm-shifts-quotation.csq-quotation-ready #step2,
.custm-shifts-quotation.csq-quotation-ready #step3 {
  display:none!important;
}

/* Integrate the quotation success card into the same white result workspace. */
.csq-form-shell > .csq-success {
  max-width:none;
  margin:0;
  padding:28px 30px 30px;
  border-width:1px 0 0;
  border-radius:0 0 27px 27px;
  box-shadow:none;
  background:linear-gradient(135deg,#F7FFFC,#EFFCF9 58%,#F3F8FF);
}

/* Give the live Route Summary controls a little more prominence in the
   quotation result without changing any main-Shifts behaviour. */
.custm-shifts-quotation.csq-quotation-ready #routeSummary .csh-route-order-toolbar {
  border-color:#D4E2FD;
  background:linear-gradient(135deg,#F8FBFF,#EEF4FF);
}
.custm-shifts-quotation.csq-quotation-ready #routeSummary .csh-route-order-reverse,
.custm-shifts-quotation.csq-quotation-ready #routeSummary .csh-route-driver-reverse {
  border-color:#B9CEF8;
  background:#FFFFFF;
  color:#1A50CC;
}

@media (max-width:700px) {
  .csq-form-shell > .csq-success {
    padding:24px 20px 26px;
    border-radius:0 0 19px 19px;
  }
}


/* v1.0.14 — single-delivery quotation: one clean freight row, no presets or extra dropoff controls. */
.custm-shifts-quotation .csq-engine .preset-lbl,
.custm-shifts-quotation .csq-engine .presets-row,
.custm-shifts-quotation .csq-engine #manualStopsWrap .add-stop-btn {
  display:none!important;
}
.custm-shifts-quotation .csq-engine .del-btn {
  min-width:30px;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}


/* v1.0.15 — simplified quotation scheduling and centred marketing intro. */
.custm-shifts-quotation .csq-intro-copy {
  max-width:940px;
  margin:0 auto;
  text-align:center;
}
.custm-shifts-quotation .csq-intro h1,
.custm-shifts-quotation .csq-intro p {
  margin-left:auto;
  margin-right:auto;
}
.custm-shifts-quotation .csq-benefits {
  justify-content:center;
}
.custm-shifts-quotation .csq-dispatch-date-only {
  grid-column:1 / -1!important;
  width:100%;
}
.custm-shifts-quotation .csq-hidden-start-time {
  display:none!important;
}
.custm-shifts-quotation #step1 .notice,
.custm-shifts-quotation #step2 .notice {
  display:none!important;
}
.custm-shifts-quotation .csq-item-type-dropdown {
  width:100%;
  min-width:112px;
  min-height:38px;
  border:1px solid var(--border,#E4E8F4);
  border-radius:10px;
  background:#fff;
  color:var(--navy,#0D1F3C);
  font:inherit;
  padding:7px 30px 7px 10px;
}
.custm-shifts-quotation .csq-item-type-dropdown:focus {
  outline:none;
  border-color:#2A6AF6;
  box-shadow:0 0 0 3px rgba(42,106,246,.12);
}


/* v1.0.16 — compact two-line hero and native-sized freight type dropdown. */
.custm-shifts-quotation .csq-intro-copy {
  max-width:900px;
}
.custm-shifts-quotation .csq-intro h1 {
  max-width:900px;
  font-size:clamp(34px,4.25vw,56px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.custm-shifts-quotation .csq-title-line {
  display:block;
}
.custm-shifts-quotation .csq-item-type-dropdown {
  min-height:34px;
  height:34px;
  min-width:104px;
  padding:8px 26px 8px 9px;
  font-family:'Sora','Inter',Arial,sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:1.2;
}
.custm-shifts-quotation .csq-item-type-dropdown option {
  font-family:'Sora','Inter',Arial,sans-serif;
  font-size:12px;
  font-weight:400;
}
@media (min-width:901px) {
  .custm-shifts-quotation .csq-title-line { white-space:nowrap; }
}
@media (max-width:900px) {
  .custm-shifts-quotation .csq-intro-copy,
  .custm-shifts-quotation .csq-intro h1 { max-width:100%; }
  .custm-shifts-quotation .csq-title-line { white-space:normal; }
}
@media (max-width:700px) {
  .custm-shifts-quotation .csq-intro h1 { font-size:clamp(32px,10vw,42px); }
}
@media (max-width:430px) {
  .custm-shifts-quotation .csq-intro h1 { font-size:clamp(29px,9vw,36px); }
}
