/* Shared account placement across client portal layouts. */
.portal-topbar{position:sticky;top:0;z-index:130;overflow:visible}
.portal-topbar>div:last-child{margin-left:auto}
body #portalAccountMenu,body #accountMenu{position:relative!important;display:block!important;margin:0!important;align-self:center!important;order:3;justify-self:end;z-index:140}
body #portalAccountMenu>summary,body #accountMenu>summary{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;height:44px!important;min-height:44px!important;min-width:0!important;padding:0!important;list-style:none!important;background:transparent!important;color:#101820!important;font:700 15px/1.2 "DM Sans",Arial,sans-serif!important;cursor:pointer}
body #portalAccountMenu>summary::-webkit-details-marker,body #accountMenu>summary::-webkit-details-marker{display:none}
body #portalAccountMenu>summary svg,body #accountMenu>summary svg{display:block!important;width:22px!important;height:22px!important;flex:0 0 22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
body #portalAccountName,body #headerName{display:block!important;max-width:110px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font:700 15px/1.2 "DM Sans",Arial,sans-serif!important}
body #portalAccountMenu>div,body #accountMenu>div{position:absolute!important;top:calc(100% + 10px)!important;right:0!important;left:auto!important;bottom:auto!important;width:min(290px,calc(100vw - 24px))!important;max-height:calc(100dvh - 100px)!important;overflow:auto!important;padding:12px 0!important;background:#fff!important;border:1px solid #d7dde2!important;box-shadow:0 16px 40px #10182024!important;color:#101820!important;z-index:150!important}
body #portalAccountMenu:not([open])>div,body #accountMenu:not([open])>div{display:none!important}
body #portalAccountMenu[open]>div,body #accountMenu[open]>div{display:block!important}
body #portalAccountMenu>div:before,body #accountMenu>div:before{display:none!important}
body #portalAccountMenu>div>header{display:grid!important;gap:4px!important;padding:12px 20px!important;height:auto!important;background:#fff!important}
body #portalAccountMenu>div>header small{color:#66727e;font:500 12px/1.4 "DM Sans",Arial,sans-serif;overflow-wrap:anywhere}
body #portalAccountMenu>div>a,body #portalAccountMenu>div>button{display:flex!important;align-items:center!important;width:100%!important;min-height:44px!important;padding:0 20px!important;margin:0!important;border:0!important;background:#fff!important;color:#26313c!important;text-align:left!important;text-decoration:none!important;font:600 14px/1.3 "DM Sans",Arial,sans-serif!important;cursor:pointer}
body #portalAccountMenu>div>a:hover,body #portalAccountMenu>div>button:hover{background:#f4f6f8!important}
body #portalAccountMenu>div>#signOut{background:#ff3600!important;color:#fff!important}
@media(max-width:760px){.portal-topbar{height:68px!important;padding:0 18px!important}.site-header{min-height:68px!important;padding:0 18px!important}.site-header .mobile-menu{grid-column:2;grid-row:1;justify-self:end}body #accountMenu{grid-column:3;grid-row:1}body #portalAccountMenu>div,body #accountMenu>div{position:fixed!important;top:68px!important;right:18px!important}}

@media(min-width:761px){.portal-sidebar .portal-user.portal-account{min-width:132px!important}body #portalAccountMenu>div{top:calc(100% + 16px)!important}}

/* Header interactions: color and underline without filled hover boxes. */
.portal-sidebar .portal-nav a,.site-header nav a,.portal-topbar a,body #portalAccountMenu>summary,body #accountMenu>summary{transition:color .18s ease,background-color .18s ease}
@media(min-width:761px){
 .portal-sidebar .portal-nav a,.site-header nav a{position:relative;background:transparent!important;box-shadow:none!important;border-bottom-color:transparent!important}
 .portal-sidebar .portal-nav a::after,.site-header nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:#ff3600;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
 .portal-sidebar .portal-nav a.active::after,.site-header nav a.current::after{transform:scaleX(1)}
 .portal-sidebar .portal-nav a.active,.site-header nav a.current{color:#ff3600!important}
 .portal-sidebar .portal-nav a:focus-visible,.site-header nav a:focus-visible{color:#ff3600!important;outline:none!important}
 .portal-sidebar .portal-nav a:focus-visible::after,.site-header nav a:focus-visible::after{transform:scaleX(1)}
}
body #portalAccountMenu>summary,body #accountMenu>summary{position:relative}
body #portalAccountMenu>summary::after,body #accountMenu>summary::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#ff3600;transform:scaleX(0);transition:transform .2s ease}
body #portalAccountMenu>summary:focus-visible,body #accountMenu>summary:focus-visible{outline:none!important;color:#ff3600!important}
body #portalAccountMenu>summary:focus-visible::after,body #accountMenu>summary:focus-visible::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
 .portal-sidebar .portal-nav a:hover,.site-header nav a:hover{background:transparent!important;color:#ff3600!important}
 .portal-sidebar .portal-nav a:hover::after,.site-header nav a:hover::after{transform:scaleX(1)}
 body #portalAccountMenu>summary:hover,body #accountMenu>summary:hover{background:transparent!important;color:#ff3600!important}
 body #portalAccountMenu>summary:hover::after,body #accountMenu>summary:hover::after{transform:scaleX(1)}
 .portal-topbar a:hover{color:#ff3600}
}
@media(prefers-reduced-motion:reduce){.portal-sidebar .portal-nav a,.site-header nav a,.portal-topbar a,body #portalAccountMenu>summary,body #accountMenu>summary,.portal-sidebar .portal-nav a::after,.site-header nav a::after,body #portalAccountMenu>summary::after,body #accountMenu>summary::after{transition:none!important}}

/* Reserve the same account slot in both portal header layouts. */
:root{--portal-header-gutter:clamp(18px,3vw,38px);--portal-account-width:140px}
body #portalAccountMenu,body #accountMenu{width:var(--portal-account-width)!important;min-width:var(--portal-account-width)!important;flex:0 0 var(--portal-account-width)!important}
body #portalAccountMenu>summary,body #accountMenu>summary{width:100%!important;justify-content:flex-start!important}
body #portalAccountName,body #headerName{width:110px!important;min-width:0!important;flex:1!important;text-align:left!important}
@media(min-width:761px){
 .portal-sidebar{grid-template-columns:auto minmax(0,1fr) calc(var(--portal-account-width) + var(--portal-header-gutter))!important}
 .portal-sidebar .portal-user.portal-account{width:100%!important;min-width:0!important;padding:0 var(--portal-header-gutter) 0 0!important;border-left:0!important}
 .site-header{padding-right:var(--portal-header-gutter)!important;grid-template-columns:auto minmax(0,1fr) var(--portal-account-width)!important;min-height:76px!important}
 body #accountMenu{justify-self:end!important}
}
@media(max-width:760px){
 :root{--portal-account-width:118px}
 .portal-topbar>div:last-child{flex:0 0 var(--portal-account-width)!important;justify-content:flex-end!important}
 .site-header{grid-template-columns:minmax(0,1fr) 44px var(--portal-account-width)!important}
 body #portalAccountName,body #headerName{max-width:88px!important}
}

/* One viewport anchor, present from initial HTML; never reparent during loading. */
html{scrollbar-gutter:stable}
body #portalAccountMenu.portal-account-anchor,body #accountMenu.portal-account-anchor{position:fixed!important;top:16px!important;right:var(--portal-header-gutter)!important;left:auto!important;bottom:auto!important;margin:0!important;transform:none!important;z-index:150!important}
@media(max-width:760px){body #portalAccountMenu.portal-account-anchor,body #accountMenu.portal-account-anchor{top:12px!important;right:18px!important}}

/* Same dropdown interaction on every header, including Book. */
body #portalAccountMenu>div>a:hover,body #portalAccountMenu>div>a:focus-visible,body #accountMenu>div>a:hover,body #accountMenu>div>a:focus-visible{background:#f4f6f8!important;color:#ff3600!important;outline:none!important}
body #portalAccountMenu>div>a:hover>*,body #portalAccountMenu>div>a:focus-visible>*,body #accountMenu>div>a:hover>*,body #accountMenu>div>a:focus-visible>*{color:inherit!important}
body #portalAccountMenu>div>a,body #accountMenu>div>a{transition:color .18s ease,background-color .18s ease}
body #portalAccountMenu>summary[aria-expanded="true"],body #portalAccountMenu[open]>summary,body #accountMenu[open]>summary{background:transparent!important}
body #portalAccountMenu>div>#signOut,body #accountMenu>div>#menuSignOut{background:#ff3600!important;color:#fff!important;outline:none!important}
body #portalAccountMenu>div>#signOut:hover,body #accountMenu>div>#menuSignOut:hover{background:#e63000!important;color:#fff!important}

/* Sign out follows the header's text and underline action style. */
body #portalAccountMenu>div>#signOut,body #accountMenu>div>#menuSignOut{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:46px!important;margin:8px 0 0!important;padding:0 20px!important;border:0!important;border-top:1px solid #e1e5e8!important;border-radius:0!important;background:#fff!important;color:#26313c!important;box-shadow:none!important;outline:none!important;font:700 14px/1.3 "DM Sans",Arial,sans-serif!important;transition:color .18s ease!important}
body #portalAccountMenu>div>#signOut::after,body #accountMenu>div>#menuSignOut::after{content:"";position:absolute;left:20px;bottom:6px;width:52px;height:2px;background:#ff3600;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
body #portalAccountMenu>div>#signOut:hover,body #portalAccountMenu>div>#signOut:focus-visible,body #accountMenu>div>#menuSignOut:hover,body #accountMenu>div>#menuSignOut:focus-visible{background:#fff!important;color:#ff3600!important;outline:none!important}
body #portalAccountMenu>div>#signOut:hover::after,body #portalAccountMenu>div>#signOut:focus-visible::after,body #accountMenu>div>#menuSignOut:hover::after,body #accountMenu>div>#menuSignOut:focus-visible::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){body #portalAccountMenu>div>#signOut,body #accountMenu>div>#menuSignOut,body #portalAccountMenu>div>#signOut::after,body #accountMenu>div>#menuSignOut::after{transition:none!important}}

/* Shared portal header geometry, independent of the page's content layout. */
@media(min-width:761px){
 .portal-sidebar,.site-header{position:fixed!important;inset:0 0 auto 0!important;width:auto!important;height:76px!important;min-height:76px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) var(--portal-account-width)!important;align-items:center!important;gap:0!important;padding:0 var(--portal-header-gutter)!important;background:#fff!important;border:0!important;border-bottom:1px solid #dce1e5!important;box-shadow:none!important;z-index:130!important}
 .portal-sidebar .portal-brand,.site-header .brand{display:flex!important;align-items:center!important;gap:12px!important;height:76px!important;padding:0!important;margin:0!important;border:0!important;text-decoration:none!important;color:#101820!important;white-space:nowrap!important}
 .portal-sidebar .portal-brand img,.site-header .brand img{width:36px!important;height:36px!important;flex:0 0 36px!important}
 .portal-sidebar .portal-brand span,.site-header .brand span{display:grid!important;gap:2px!important}
 .portal-sidebar .portal-brand b,.site-header .brand b{font:800 15px/1.1 Manrope,Arial,sans-serif!important;letter-spacing:.4px!important}
 .portal-sidebar .portal-brand small,.site-header .brand small{margin:0!important;color:#687582!important;font:500 11px/1.3 "DM Sans",Arial,sans-serif!important}
 .portal-sidebar .portal-nav,.site-header nav{display:flex!important;align-items:stretch!important;justify-content:center!important;height:76px!important;min-width:0!important;gap:0!important;margin:0!important;padding:0!important}
 .portal-sidebar .portal-nav a,.site-header nav a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:76px!important;height:76px!important;padding:0 clamp(9px,1.25vw,20px)!important;margin:0!important;border:0!important;border-radius:0!important;font:700 14px/1 "DM Sans",Arial,sans-serif!important;white-space:nowrap!important;text-decoration:none!important}
 .portal-sidebar .portal-nav a:not(.active),.site-header nav a:not(.current){color:#26313c}
 .portal-sidebar .portal-user.portal-account{height:76px!important;min-height:76px!important;padding:0!important}
 body:has(>.site-header){padding-top:76px}
 .portal-shell{padding-top:76px!important}
 .portal-main{margin-left:0!important;min-height:calc(100dvh - 76px)!important}
}
@media(min-width:761px) and (max-width:1180px){
 .portal-sidebar .portal-brand small,.site-header .brand small{display:none!important}
 .portal-sidebar .portal-nav a,.site-header nav a{padding:0 9px!important;font-size:12px!important}
}
@media(max-width:760px){
 .portal-topbar,.site-header{position:fixed!important;inset:0 0 auto 0!important;width:auto!important;height:68px!important;min-height:68px!important;border-bottom:1px solid #dce1e5!important;box-shadow:none!important;background:#fff!important;padding:0 18px!important;z-index:130!important}
 body:has(>.site-header){padding-top:68px}
 .portal-shell{padding-top:68px!important}
 .portal-topbar>div:first-child{min-width:0}
 .site-header .brand b{font:800 15px/1.1 Manrope,Arial,sans-serif!important}
 .site-header .brand small{font:500 11px/1.3 "DM Sans",Arial,sans-serif!important}
}
#customerApp>.loading,#customerVehicleGrid>.customer-vehicles-empty,#customerLocationsGrid>.customer-locations-empty{min-height:280px;display:grid;place-content:center}

/* Auxiliary mobile links never join the desktop header navigation. */
@media(min-width:761px){.portal-sidebar .portal-nav a.mobile-account-nav,.portal-sidebar .portal-nav a.mobile-only-nav{display:none!important}}

/* Your account follows the header underline hover treatment. */
body #portalAccountMenu>div>a[href="/profile"],body #accountMenu>div>a[href="/profile"]{position:relative!important;background:#fff!important;transition:color .18s ease!important}body #portalAccountMenu>div>a[href="/profile"]::after,body #accountMenu>div>a[href="/profile"]::after{content:"";position:absolute;left:20px;bottom:6px;width:86px;height:2px;background:#ff3600;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}body #portalAccountMenu>div>a[href="/profile"]:hover,body #portalAccountMenu>div>a[href="/profile"]:focus-visible,body #accountMenu>div>a[href="/profile"]:hover,body #accountMenu>div>a[href="/profile"]:focus-visible{background:#fff!important;color:#ff3600!important;outline:none!important}body #portalAccountMenu>div>a[href="/profile"]:hover::after,body #portalAccountMenu>div>a[href="/profile"]:focus-visible::after,body #accountMenu>div>a[href="/profile"]:hover::after,body #accountMenu>div>a[href="/profile"]:focus-visible::after{transform:scaleX(1)}

/* Keep mobile header controls against the right gutter without an empty name slot. */
@media(max-width:760px){
 :root{--portal-account-width:96px}
 .site-header{gap:8px!important;padding-right:12px!important}
 .portal-topbar{padding-right:12px!important}
 body #portalAccountMenu.portal-account-anchor,body #accountMenu.portal-account-anchor{right:12px!important}
 body #portalAccountMenu>summary,body #accountMenu>summary{justify-content:flex-end!important}
 body #portalAccountName,body #headerName{width:auto!important;flex:0 1 auto!important;max-width:66px!important}
 body #portalAccountMenu>div,body #accountMenu>div{right:12px!important}
}

/* Consistent dropdown content spacing in every account header. */
body #accountMenu>div>strong{
 display:block!important;margin:0!important;padding:10px 20px 6px!important;
 font:800 18px/1.3 Manrope,"DM Sans",sans-serif!important;
}
body #accountMenu>div>small{
 display:block!important;margin:0!important;padding:3px 20px!important;
 font:500 12px/1.5 "DM Sans",Arial,sans-serif!important;
 white-space:normal!important;overflow-wrap:anywhere!important;
}
body #accountMenu>div>small:last-of-type{padding-bottom:14px!important;border-bottom:1px solid #e1e5e8!important}
body #accountMenu>div>a{
 display:flex!important;align-items:center!important;min-height:48px!important;
 width:100%!important;margin:0!important;padding:10px 20px!important;
 text-decoration:none!important;font:600 14px/1.4 "DM Sans",Arial,sans-serif!important;
}
body #portalAccountMenu>div>header{gap:6px!important}
body #portalAccountMenu>div>header strong{font:800 18px/1.3 Manrope,"DM Sans",sans-serif!important}

/* Open mobile navigation must cover fixed account tabs. */
@media(max-width:1050px){
 body #mobileNav.open{z-index:145!important;max-height:calc(100dvh - 76px)!important;overflow-y:auto!important;overscroll-behavior:contain}
}
@media(max-width:760px){
 body #mobileNav.open{top:68px!important;max-height:calc(100dvh - 68px)!important}
}
