/* PR17: map-first landing, task-oriented CTAs, and consistent responsive controls. */
.uxCtaRow{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.uxButton{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #235a70;background:#235a70;color:#fff;border-radius:10px;padding:9px 16px;font-weight:700;text-decoration:none;cursor:pointer}
.uxButton.primary{background:#fff;color:#123d51;border-color:#fff}
.uxButton.secondary{background:transparent;color:#fff;border-color:#b8d9e4}
.uxDemoDisclosure,.uxDataDisclosure,.uxAdvancedFilters{max-width:1240px;margin:12px auto}
.uxDemoDisclosure>summary,.uxDataDisclosure>summary,.uxAdvancedFilters>summary{cursor:pointer;color:#245468;font-weight:700;min-height:42px;padding:10px}
.uxDemoDisclosure .fleetPanel{margin-top:8px}
.uxDemoWarning{padding:10px;border-radius:9px;background:#fff5da;color:#694d17;font-size:.9rem;margin:8px 0}
.uxDataDisclosure .statusBar{margin:4px 0}
.uxAdvancedFilters{flex-basis:100%}
.uxAdvancedFilters .uxAdvancedInner{display:flex;flex-wrap:wrap;gap:9px}
.uxAdvancedInner>*{min-height:38px}
.uxPublicRoute{margin-top:14px;padding:12px;border:1px solid #bdd7e1;background:#f1f8fb;border-radius:12px}
.uxPublicRoute h3{margin:0 0 8px}
.uxPublicRoute .uxCtaRow a{color:#154e6d}
.uxTopNav{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0;border-bottom:1px solid #d9e4e9;padding-bottom:12px}
.uxTopNav .privateTab{min-height:42px}
.uxTopNav label{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:.85rem}
.uxTopNav select{max-width:235px;padding:8px;border:1px solid #b9cad2;border-radius:9px;background:#fff}
.uxWelcome{margin:14px 0;padding:18px;border:1px solid #c3dee7;border-radius:14px;background:#f4fafc}
.uxWelcome h3{margin:0 0 8px}
.uxChecklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin:14px 0}
.uxStep{display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left;border:1px solid #cbdce4;padding:12px;border-radius:10px;background:#fff;cursor:pointer;min-height:80px}
.uxStep[disabled]{opacity:.72;cursor:default}
.uxStep.done{background:#f0f7f2;border-color:#b3d3bd}
.uxStep strong{font-size:.91rem}
.uxStep span{font-size:.8rem;color:#66777d}
.uxDiscoveryControls{display:grid;grid-template-columns:2fr repeat(2,minmax(140px,1fr));gap:10px;margin:12px 0}
.uxDiscoveryControls label{display:flex;flex-direction:column;gap:6px}
.uxDiscoveryControls input,.uxDiscoveryControls select{width:100%;min-height:42px}
.uxDiscoverList{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin:12px 0}
.uxDiscoverItem,.uxContactItem{border:1px solid #d4e2e9;border-radius:12px;padding:14px;background:#fff}
.uxDiscoverItem h4,.uxContactItem h4{margin:0 0 5px}
.uxProjectDetail{margin-top:16px;scroll-margin-top:20px}
.uxRouteGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.uxRouteCard{border:1px solid #d7e1e6;border-radius:10px;padding:12px;margin-top:8px}
.uxRouteCard .privateMeta{margin-top:6px}
.uxDisclaimer{font-size:.81rem;color:#596d79;margin:10px 0}
.uxAuthTabs{display:flex;gap:8px;margin:10px 0 20px}
.uxAuthTabs button{flex:1;min-height:42px}
.uxAuthNotice{font-size:.87rem;line-height:1.5;margin:10px 0}
.uxAssetAdvanced{grid-column:1/-1;border:1px solid #d9e5eb;padding:10px;border-radius:10px}
.uxAssetAdvanced>summary{cursor:pointer;font-weight:700;padding:8px}
.uxAssetAdvanced .privateGrid{margin:10px 0}
.uxContactForm .privateGrid{margin-top:12px}
.uxContactActions{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0}
.uxCompactStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:12px 0}
.uxCompactStats div{padding:13px;border:1px solid #dbe7eb;border-radius:10px}
.uxCompactStats b{display:block;font-size:1.45rem}
.uxCompactStats span{font-size:.85rem}
.uxWarn{border-left:4px solid #d49b43;padding:10px 13px;background:#fff9ee;margin:10px 0}
.uxFocusScreen{max-width:1240px;margin:0 auto;padding:12px}
.uxFocusScreen #workflowRoot{margin-top:12px}
body.uxWorkspaceFocused main{max-width:1240px;margin:auto}
body.uxWorkspaceFocused .snapshot{max-width:45ch}
@media(max-width:800px){.uxLanding{grid-template-columns:1fr;margin:10px;padding:18px}.uxDiscoveryControls{grid-template-columns:1fr}.uxTopNav label{margin-left:0;flex:1}.uxTopNav select{max-width:100%;flex:1}}
@media(max-width:520px){.uxLanding .uxHeroActions>a,.uxCtaRow>a{width:100%}.uxTopNav .privateTab{flex:1 1 110px}.uxContactItem,.uxDiscoverItem{min-width:0}}

/* PR17 changes are intentionally limited to the public home; private workspace styles stay intact. */
body.uxPublicHome .head{padding:14px 20px}
body.uxPublicHome .headActions{gap:12px}
body.uxPublicHome .headActions a{font-size:14px;font-weight:650;padding:10px 15px;border-radius:10px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
body.uxPublicHome .headActions .uxHeaderText{border-color:transparent;background:transparent}
body.uxPublicHome .headActions .uxHeaderCta{background:#28708d;border:1px solid #6fa4b8}
body.uxPublicHome .headActions a:focus-visible,
body.uxPublicHome .uxButton:focus-visible,
body.uxPublicHome .uxAdvancedFilters summary:focus-visible,
body.uxPublicHome .toolbar button:focus-visible{outline:3px solid #f3b95e;outline-offset:3px}
body.uxPublicHome .uxLanding{max-width:1600px;margin:14px auto 12px;width:calc(100% - 40px);border-radius:16px;background:linear-gradient(115deg,#143b4d,#246b84);color:#fff;padding:24px 28px 17px}
body.uxPublicHome .uxLandingIntro{max-width:880px}
body.uxPublicHome .uxEyebrow{font-size:13px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#d3ebf4;margin:0 0 8px}
body.uxPublicHome .uxLanding h1{font-size:clamp(27px,2.75vw,38px);line-height:1.14;margin:0 0 10px;letter-spacing:-.025em}
body.uxPublicHome .uxLandingLead{font-size:15px;line-height:1.55;max-width:800px;margin:0}
body.uxPublicHome .uxHeroActions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 8px}
body.uxPublicHome .uxHeroActions .uxButton{padding:10px 19px;font-size:14px}
body.uxPublicHome .uxGuestNote{font-size:12px;color:#def0f6;margin:0;line-height:1.5}
body.uxPublicHome .uxJourney{display:flex;gap:16px;align-items:center;flex-wrap:wrap;list-style:none;padding:12px 0 0;margin:15px 0 0;border-top:1px solid #ffffff3b;font-size:13px}
body.uxPublicHome .uxJourney li{white-space:nowrap}
body.uxPublicHome .uxJourney li+li::before{content:"→";margin-right:16px;color:#add5e3}
body.uxPublicHome .uxJourney strong{color:#fff}
body.uxPublicHome .uxEvidenceNote{font-size:11px;color:#deedf2;line-height:1.45;margin:8px 0 0}
body.uxPublicHome .uxSearchSection{max-width:1600px;width:calc(100% - 40px);margin:0 auto 10px;padding:14px 18px;background:#fff;border:1px solid #d9e4e9;border-radius:12px;scroll-margin-top:12px}
body.uxPublicHome .uxSearchIntro h2{font-size:18px;margin:0 0 3px;line-height:1.25}
body.uxPublicHome .uxSearchIntro p{font-size:12px;color:#5a6c75;margin:0 0 12px;line-height:1.5}
body.uxPublicHome .toolbar{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(240px,2.2fr) minmax(130px,.85fr) minmax(170px,1fr) auto;align-items:center;gap:10px}
body.uxPublicHome .toolbar input,
body.uxPublicHome .toolbar select,
body.uxPublicHome .toolbar button{min-height:44px;font-size:14px}
body.uxPublicHome .toolbar button{width:auto;white-space:nowrap;padding:9px 18px}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters{max-width:none;margin:5px 0 0}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters>summary{display:list-item;width:max-content;max-width:100%;font-size:13px;font-weight:650;padding:7px 9px;min-height:35px;color:#245c75;cursor:pointer}
body.uxPublicHome .uxSearchSection .uxAdvancedInner{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px;padding:9px 0 4px}
body.uxPublicHome .uxSearchSection .uxAdvancedInner select{width:100%;min-width:0;min-height:42px;font-size:13px}
body.uxPublicHome .shell{margin-top:0}
body.uxPublicHome .mapTitle{font-size:17px}
body.uxPublicHome .mapHead .note{font-size:12px;line-height:1.5}
body.uxPublicHome .side .empty{font-size:13px}
body.uxPublicHome .side .kv,body.uxPublicHome .side .box{font-size:12px}
body.uxPublicHome .side .section h3{font-size:14px}
body.uxPublicHome .uxExtraTools{max-width:1600px;width:calc(100% - 40px);margin:8px auto 18px}
body.uxPublicHome .uxExtraTools .uxDataDisclosure,
body.uxPublicHome .uxExtraTools .uxDemoDisclosure{max-width:none;margin:8px 0}
body.uxPublicHome .uxExtraTools details>summary{font-size:13px;padding:9px 10px}
body.uxPublicHome .uxExtraTools .statusBar{padding:0}
@media(max-width:900px){
  body.uxPublicHome .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body.uxPublicHome .toolbar input{grid-column:1/-1}
  body.uxPublicHome .toolbar button{width:100%;grid-column:1/-1}
  body.uxPublicHome .uxSearchSection .uxAdvancedInner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  body.uxPublicHome .head{flex-direction:column;align-items:stretch;gap:9px}
  body.uxPublicHome .headActions{justify-content:flex-start}
  body.uxPublicHome .uxLanding,body.uxPublicHome .uxSearchSection,body.uxPublicHome .uxExtraTools{width:calc(100% - 18px)}
  body.uxPublicHome .uxLanding{padding:20px 18px 15px;margin-top:9px}
  body.uxPublicHome .uxJourney{gap:7px 12px}
  body.uxPublicHome .uxJourney li+li::before{margin-right:10px}
}
@media(max-width:520px){
  body.uxPublicHome .uxLanding h1{font-size:29px}
  body.uxPublicHome .uxLandingLead{font-size:14px}
  body.uxPublicHome .uxHeroActions .uxButton{width:100%}
  body.uxPublicHome .uxJourney{display:block;line-height:1.95}
  body.uxPublicHome .uxJourney li+li::before{display:none}
  body.uxPublicHome .uxSearchSection{padding:13px}
  body.uxPublicHome .toolbar{grid-template-columns:minmax(0,1fr)}
  body.uxPublicHome .toolbar input,body.uxPublicHome .toolbar button{grid-column:auto}
  body.uxPublicHome .uxSearchSection .uxAdvancedInner{grid-template-columns:minmax(0,1fr)}
}

/* PR19 — scoped account forms; other dashboard .privateGrid layouts remain unchanged. */
body.uxWorkspaceFocused .uxFocusScreen #workflowRoot:has(> .uxAuthCard){
  max-width:540px;
  width:100%;
  margin:clamp(22px,5vh,54px) auto 0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.uxWorkspaceFocused .uxFocusScreen:has(.uxAuthCard){max-width:620px;margin-inline:auto;padding-inline:18px}
body.uxWorkspaceFocused .uxAuthCard{
  max-width:540px;
  width:100%;
  margin:0 auto;
  padding:clamp(22px,3vw,36px);
  border:1px solid #dce5e9;
  border-radius:16px;
  box-shadow:0 12px 36px rgba(14,43,56,.08);
}
body.uxWorkspaceFocused .uxAuthEyebrow{
  margin:0 0 9px;
  font-size:12px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#31708a;
}
body.uxWorkspaceFocused .uxAuthTitle{font-size:clamp(24px,2.6vw,30px);line-height:1.2;letter-spacing:-.02em;margin:0 0 9px;color:#172c37}
body.uxWorkspaceFocused .uxAuthIntro .privateMuted{margin:0;line-height:1.55;font-size:14px}
body.uxWorkspaceFocused .uxAuthTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:25px 0 23px;padding:4px;background:#f0f4f6;border-radius:11px}
body.uxWorkspaceFocused .uxAuthTabs .privateBtn{min-width:0;min-height:43px;padding:9px 10px;font-size:14px;border-radius:8px}
body.uxWorkspaceFocused .uxAuthTabs .privateBtn.secondary{background:transparent}
body.uxWorkspaceFocused .uxAuthCard form.privateGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:15px;
  align-items:stretch;
  margin:16px 0 0;
}
body.uxWorkspaceFocused .uxAuthCard form.privateGrid label:not(.uxPasswordToggle){display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:600;color:#2b3e4b}
body.uxWorkspaceFocused .uxAuthCard form.privateGrid input:not([type="checkbox"]){
  width:100%;
  min-width:0;
  min-height:48px;
  font-size:16px;
  border:1px solid #c8d6dd;
  border-radius:9px;
  padding:11px 12px;
  background:#fff;
  color:#192b36;
}
body.uxWorkspaceFocused .uxAuthCard .uxPasswordToggle{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:9px;
  margin:0;
  font-size:13px;
  color:#526776;
  cursor:pointer;
}
body.uxWorkspaceFocused .uxAuthCard .uxPasswordToggle input{width:17px;height:17px;accent-color:#214f63;margin:0;flex:0 0 auto}
body.uxWorkspaceFocused .uxAuthCard .uxAuthActions{display:block;margin:3px 0 0}
body.uxWorkspaceFocused .uxAuthCard .uxAuthActions .privateBtn[type="submit"]{width:100%;min-height:48px;font-size:15px;font-weight:750}
body.uxWorkspaceFocused .uxAuthCard .uxAuthHelp{text-align:center}
body.uxWorkspaceFocused .uxAuthCard .uxAuthLink{border:0;background:none;color:#1c5b75;cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:9px}
body.uxWorkspaceFocused .uxAuthCard .uxAuthNotice{color:#5a6e7a;margin:0;font-size:13px;line-height:1.5}
body.uxWorkspaceFocused .uxAuthCard .uxAuthSafety{background:#f4f8fa;border:1px solid #dde8ed;border-radius:9px;padding:12px}
body.uxWorkspaceFocused .uxAuthCard #authMsg:empty{display:none}
body.uxWorkspaceFocused .uxAuthCard #authMsg{min-width:0}
body.uxWorkspaceFocused .uxAuthCard .uxAuthFootnote{margin:22px 0 0;border-top:1px solid #e4eaee;padding-top:15px;font-size:12px;color:#6c7d87;line-height:1.5}
body.uxWorkspaceFocused .uxBackLink{color:#e4f3f8;text-decoration:none;display:inline-flex;align-items:center;padding:8px;border-radius:8px;font-size:13px}
body.uxWorkspaceFocused .uxBackLink:hover{text-decoration:underline}
body.uxWorkspaceFocused .uxAuthCard input:focus-visible,
body.uxWorkspaceFocused .uxAuthCard button:focus-visible,
body.uxWorkspaceFocused .uxBackLink:focus-visible{outline:3px solid #ddac58;outline-offset:2px}
@media(max-width:640px){
  body.uxWorkspaceFocused header{padding:15px 18px}
  body.uxWorkspaceFocused header .head{align-items:flex-start;flex-direction:column;gap:10px}
  body.uxWorkspaceFocused header .snapshot{text-align:left}
  body.uxWorkspaceFocused .uxFocusScreen:has(.uxAuthCard){padding-inline:12px}
  body.uxWorkspaceFocused .uxFocusScreen #workflowRoot:has(> .uxAuthCard){margin-top:18px}
  body.uxWorkspaceFocused .uxAuthCard{padding:22px 20px;border-radius:13px}
}
@media(max-width:380px){
  body.uxWorkspaceFocused .uxAuthCard{padding:20px 16px}
  body.uxWorkspaceFocused .uxAuthTabs .privateBtn{font-size:13px}
}

/* PR20: public search instructions and accessible advanced radio chips. */
body.uxPublicHome .uxSearchTextControl{min-width:0;display:grid;gap:5px;align-self:stretch}
body.uxPublicHome .uxSearchTextControl label{font-size:13px;line-height:1.25;font-weight:700;color:#254f62}
body.uxPublicHome .uxSearchTextControl label span{font-weight:500;color:#647780}
body.uxPublicHome .uxSearchTextControl input{width:100%;min-height:44px;font-size:14px}
body.uxPublicHome .toolbar .uxSearchTextControl{grid-column:auto}
body.uxPublicHome .uxSearchHelp{font-size:12px;line-height:1.55;color:#627480;margin:9px 0 2px}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters>summary{
  width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  cursor:pointer;min-height:43px;padding:9px 7px;border-top:1px solid #e8eef1;
}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters>summary::marker{content:''}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters>summary::-webkit-details-marker{display:none}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters>summary:before{content:'▸';font-size:16px;display:inline-block;transition:transform .15s ease}
body.uxPublicHome .uxSearchSection .uxAdvancedFilters[open]>summary:before{transform:rotate(90deg)}
body.uxPublicHome .uxActiveFilterCount{border-radius:999px;padding:3px 9px;font-size:11px;background:#ecf2f5;color:#476574;font-weight:600}
body.uxPublicHome .uxActiveFilterCount.has-active{background:#d9edf7;color:#1d5974}
body.uxPublicHome .uxAdvancedToggleHint{font-size:12px;color:#68818e;font-weight:500;margin-left:auto}
body.uxPublicHome .uxSearchSection .uxAdvancedInner{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
  padding:10px 0 6px;
}
body.uxPublicHome .uxFilterGroup{min-width:0;margin:0;padding:13px;border:1px solid #dbe5e9;border-radius:10px;background:#f9fbfc}
body.uxPublicHome .uxFilterGroup legend{font-size:13px;font-weight:800;color:#254f62;padding:0 5px}
body.uxPublicHome .uxFilterDescription{font-size:12px;color:#697b86;line-height:1.4;margin:0 0 10px}
body.uxPublicHome .uxFilterChoices{display:flex;gap:7px;flex-wrap:wrap}
body.uxPublicHome .uxRadioChip{display:inline-flex;cursor:pointer;position:relative;font-size:12px;font-weight:650;max-width:100%}
body.uxPublicHome .uxRadioChip input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
body.uxPublicHome .uxRadioChip span{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:36px;border-radius:9px;padding:7px 11px;border:1px solid #cbd9e0;
  background:#fff;color:#34566a;line-height:1.25;text-align:center;
}
body.uxPublicHome .uxRadioChip input:checked+span{background:#245f78;border-color:#245f78;color:#fff;box-shadow:0 0 0 1px #245f7830}
body.uxPublicHome .uxRadioChip input:focus-visible+span{outline:3px solid #e3b25b;outline-offset:2px}
body.uxPublicHome .uxRadioChip input:disabled+span{opacity:.5;cursor:not-allowed}
body.uxPublicHome .uxFilterGroup.is-disabled{opacity:.65}
body.uxPublicHome .uxAdvancedActions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:10px}
body.uxPublicHome .uxAdvancedActions button{border:1px solid #b7cbd6;background:#fff;border-radius:8px;color:#245c76;font-weight:700;padding:9px 12px;cursor:pointer}
body.uxPublicHome .uxAdvancedActions span{font-size:12px;color:#617681}
body.uxPublicHome .uxAdvancedActions button:focus-visible{outline:3px solid #e3b25b;outline-offset:2px}
@media(max-width:900px){
  body.uxPublicHome .toolbar .uxSearchTextControl{grid-column:1/-1}
}
@media(max-width:720px){
  body.uxPublicHome .uxSearchSection .uxAdvancedInner{grid-template-columns:minmax(0,1fr)}
  body.uxPublicHome .uxAdvancedToggleHint{margin-left:0}
}
@media(max-width:520px){
  body.uxPublicHome .toolbar .uxSearchTextControl{grid-column:auto}
  body.uxPublicHome .uxFilterChoices{gap:6px}
}
