/* SGTM V277 — visible customer account and consistent right-side quick actions. */
.sgtm-customer-login-nav{
 display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;
 padding:10px 13px!important;min-height:40px;color:#fff!important;
 border:1px solid #4ebaf7!important;border-radius:5px!important;
 background:linear-gradient(145deg,#0b74c7,#0d477e)!important;
 font-weight:800!important;text-decoration:none!important;
 box-shadow:0 3px 12px #00182a38;
}
.sgtm-customer-login-nav:hover,.sgtm-customer-login-nav:focus-visible{
 background:#138bdc!important;outline:2px solid #87d9ff!important;outline-offset:2px;
}
.sgtm-mobile-account-link{display:none!important}
.sgtm-hero-login{
 display:inline-flex!important;align-items:center;justify-content:center;
 background:linear-gradient(145deg,#0b78cc,#08518f)!important;
 color:#fff!important;border:1px solid #6bcaf8!important;
 font-weight:850!important;text-decoration:none!important;border-radius:5px!important;
}
.sgtm-hero-login:hover,.sgtm-hero-login:focus-visible{background:#1496ed!important;color:#fff!important}
/* Parent rail supersedes historical absolute and fixed placement styles. */
#sgtm-v277-quick-actions{
 position:fixed!important;right:18px!important;bottom:24px!important;left:auto!important;
 z-index:950!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;
 gap:9px!important;pointer-events:none;
}
#sgtm-v277-quick-actions > a,#sgtm-v277-quick-actions > button{
 position:relative!important;inset:auto!important;right:auto!important;left:auto!important;
 bottom:auto!important;top:auto!important;transform:none;
 margin:0!important;box-sizing:border-box!important;min-width:50px!important;width:50px!important;
 min-height:50px!important;height:50px!important;border-radius:5px!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:0!important;flex:0 0 auto!important;gap:0!important;
 border:1px solid #60bdf0!important;background:#0d4f87!important;color:#fff!important;
 box-shadow:0 8px 24px #02172a70!important;cursor:pointer!important;
 text-decoration:none!important;font:700 13px system-ui,sans-serif!important;
 pointer-events:auto;
}
#sgtm-v277-quick-actions > :is(a,button):hover,#sgtm-v277-quick-actions > :is(a,button):focus-visible{
 background:#097fd1!important;border-color:#b5e8ff!important;transform:translateX(-3px)!important;
 outline:2px solid #9adff6!important;outline-offset:2px;
}
#sgtm-v277-quick-actions .sgtm-v277-account{background:#117cc7!important}
#sgtm-v277-quick-actions .sgtm-v277-chat{background:#063a5e!important}
#sgtm-v277-quick-actions .back-to-top{background:#092c4b!important}
#sgtm-v277-quick-actions svg{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#sgtm-v277-quick-actions .sgtm-v277-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#sgtm-v277-quick-actions .ecu-upload-float::before,#sgtm-v277-quick-actions .ecu-upload-float::after{content:none!important;display:none!important}
#sgtm-v277-quick-actions .ecu-upload-float{font-size:0!important;max-width:50px!important}
#sgtm-v277-quick-actions .back-to-top span:not(.sgtm-v277-tooltip){display:none!important}
/* Explicit tooltip elements avoid conflicts with legacy .ecu-upload-float::after. */
#sgtm-v277-quick-actions{overflow:visible!important}
#sgtm-v277-quick-actions > :is(a,button){overflow:visible!important}
#sgtm-v277-quick-actions .sgtm-v277-tooltip{
 position:absolute!important;right:calc(100% + 12px)!important;left:auto!important;
 top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
 width:max-content!important;max-width:min(240px,calc(100vw - 95px))!important;
 min-height:0!important;height:auto!important;display:block!important;
 padding:8px 11px!important;margin:0!important;
 font:750 12px/1.35 system-ui,Arial,sans-serif!important;
 color:#fff!important;background:#0a1f34!important;
 border:1px solid #326487!important;border-radius:4px!important;
 box-shadow:0 4px 14px #0007!important;
 white-space:nowrap!important;text-align:center!important;
 opacity:0!important;visibility:hidden!important;pointer-events:none!important;
 transition:opacity .15s ease,visibility .15s ease!important;
 z-index:951!important;
}
#sgtm-v277-quick-actions > :is(a,button):is(:hover,:focus-visible) .sgtm-v277-tooltip{
 opacity:1!important;visibility:visible!important;
}
.sgtm-v277-chat-panel[hidden]{display:none!important}
.sgtm-v277-chat-panel{
 position:fixed!important;right:80px!important;bottom:65px!important;z-index:970!important;
 width:min(370px,calc(100vw - 110px));box-sizing:border-box;background:#0e2740;
 border:1px solid #3c85b3;border-radius:6px;padding:0;box-shadow:0 20px 50px #001323b8;
 color:#eaf6ff;font:14px/1.55 system-ui,Arial,sans-serif;
}
.sgtm-v277-chat-header{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:15px 17px;background:#092036;border-bottom:1px solid #316185}
.sgtm-v277-chat-header strong{font-size:16px;color:#fff}
.sgtm-v277-chat-header button{padding:0;width:28px;height:28px;min-height:28px;background:#1a4c75;border:0;color:#fff;font-size:20px;border-radius:4px;cursor:pointer}
.sgtm-v277-chat-inner{padding:18px}.sgtm-v277-chat-inner p{margin:0 0 13px;color:#d9edfa}
.sgtm-v277-chat-inner a{display:block;text-decoration:none;font-weight:750;border-radius:5px;padding:11px 14px;margin-top:9px;text-align:center}
.sgtm-v277-chat-live{background:#1275bb;color:#fff!important}.sgtm-v277-chat-whatsapp{background:#d2f0e8;color:#0a3d31!important}
@media(max-width:1250px){.sgtm-desktop-nav{gap:clamp(8px,1.2vw,18px)!important}.sgtm-customer-login-nav{padding:8px 10px!important;font-size:13px!important}}
@media(max-width:1320px){
 .sgtm-customer-login-nav{display:none!important}
 .sgtm-mobile-account-link{display:inline-flex!important;align-items:center;justify-content:center;order:3;
   flex:0 0 auto;white-space:nowrap;margin-left:auto!important;margin-right:7px;
   background:#117cc7;color:#fff!important;text-decoration:none;font:800 12px system-ui,sans-serif;
   min-height:34px;padding:7px 10px;border:1px solid #63c7fc;border-radius:5px}
 .sgtm-header .mobile-menu{order:4}
 #sgtm-v277-quick-actions{right:12px!important;bottom:72px!important;gap:8px!important}
 #sgtm-v277-quick-actions > a,#sgtm-v277-quick-actions > button{width:45px!important;min-width:45px!important;height:45px!important;min-height:45px!important}
 #sgtm-v277-quick-actions svg{width:21px;height:21px}

 .sgtm-v277-chat-panel{right:66px!important;bottom:82px!important;width:min(340px,calc(100vw - 83px))}
}
@media(max-width:380px){.sgtm-mobile-account-link{font-size:11px;padding:6px 7px;min-height:32px}.sgtm-v277-chat-panel{right:65px!important;width:calc(100vw - 80px)}}
@media(prefers-reduced-motion:reduce){#sgtm-v277-quick-actions > :is(a,button){transition:none!important}}

/* Deliberate two-by-two action grid on the Online Files hero: no orphaned CTA. */
@media(min-width:701px){
 body:has(.sgtm-hero-login) .service-hero .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;max-width:570px}
 body:has(.sgtm-hero-login) .service-hero .actions > a{display:flex!important;align-items:center;justify-content:center;min-width:0!important;width:100%!important;margin:0!important}
}
@media(max-width:1320px){
 /* Keep floating Customer Login visible at ALL desktop and mobile sizes. */
 #sgtm-v277-quick-actions > .sgtm-v277-hidden-mobile{display:none!important}
}

/* Touchscreens have no hover; desktop/tablet pointer devices still get labels. */
@media(hover:none) and (pointer:coarse){#sgtm-v277-quick-actions .sgtm-v277-tooltip{display:none!important}}

/* V277: fluid premium navigation, tuned for zoom, high DPI and every screen. */
:root{--sgtm-v277-header-pad:clamp(16px,2.1vw,42px)}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header{
 width:100%!important;max-width:100%!important;box-sizing:border-box!important;
 padding-inline:var(--sgtm-v277-header-pad)!important;
 column-gap:clamp(16px,1.5vw,30px)!important;
 justify-content:space-between!important;
 flex-wrap:nowrap!important;
}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header>.brand{
 flex:0 0 auto!important;min-width:0!important;width:auto!important;
 margin:0!important;gap:12px!important;max-width:none!important;
}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-desktop-nav{
 display:flex!important;justify-content:center!important;align-items:center!important;
 gap:clamp(8px,1vw,19px)!important;flex:1 1 auto!important;
 margin-inline:auto!important;min-width:0!important;width:auto!important;
 font-size:clamp(12px,.72vw,15px)!important;
}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-desktop-nav>:is(a,.nav-dropdown){min-width:0;flex:0 0 auto!important}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-desktop-nav>a:not(.nav-book):not(.sgtm-customer-login-nav),
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-desktop-nav .nav-drop-trigger{
 padding-inline:clamp(4px,.35vw,9px)!important;
 font-size:clamp(12px,.72vw,15px)!important;
}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-desktop-nav .nav-book{
 padding:12px clamp(10px,.95vw,17px)!important;min-height:43px!important;
 border-radius:5px!important;font-size:clamp(12px,.72vw,15px)!important;
}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-desktop-nav .sgtm-customer-login-nav{
 display:inline-flex!important;padding:11px clamp(9px,.8vw,14px)!important;
 min-height:43px!important;font-size:clamp(12px,.72vw,15px)!important;
 flex:0 0 auto!important;
}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header>.call{
 flex:0 0 auto!important;min-width:142px!important;width:auto!important;
 padding:9px 13px!important;white-space:nowrap!important;
}
/* The old mobile Login had margin:auto and fought with the mobile menu. */
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-mobile-account-link{display:none!important}
body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav{display:none!important}
/* Never show both a hamburger and the full nav. Keep three important actions accessible. */
@media(max-width:1690px){
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header{
  padding-inline:clamp(18px,2.5vw,36px)!important;gap:clamp(10px,1.5vw,25px)!important;
  height:76px!important;min-height:76px!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header>.sgtm-desktop-nav,
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header>.call{display:none!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  flex:0 1 auto!important;min-width:0!important;gap:clamp(8px,1.2vw,18px)!important;
  margin-left:auto!important;margin-right:0!important;order:0!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  text-decoration:none!important;white-space:nowrap!important;
  min-height:42px!important;line-height:1.2!important;
  border-radius:5px!important;font-weight:750!important;
  font-size:clamp(12px,.9vw,14px)!important;padding:10px clamp(10px,1.05vw,17px)!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-online{color:#dceaf7!important;background:transparent!important;border:1px solid #496782!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-book{color:#fff!important;background:#0c75cc!important;border:1px solid #188ee0!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-login{color:#fff!important;background:#154b76!important;border:1px solid #60b9ed!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a:hover,
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a:focus-visible{
  background:#1383ce!important;border-color:#8fd4ff!important;outline:2px solid #9adff6!important;outline-offset:2px!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header>.mobile-menu{
  display:block!important;visibility:visible!important;flex:0 0 auto!important;
  width:auto!important;min-width:0!important;
  margin:0!important;order:0!important;position:relative!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .mobile-menu > summary{width:50px!important;height:46px!important;border-radius:5px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .mobile-menu-panel{
  right:0!important;left:auto!important;top:calc(100% + 10px)!important;
  width:min(380px,calc(100vw - 28px))!important;
 }
}
@media(max-width:960px){
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-online{display:none!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header{
  padding-inline:clamp(12px,2vw,22px)!important;gap:clamp(7px,1.4vw,13px)!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav{gap:8px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a{font-size:12px!important;padding:9px 11px!important}
}
@media(max-width:680px){
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header{
  height:68px!important;min-height:68px!important;padding-inline:12px!important;gap:9px!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand{
  min-width:0!important;gap:7px!important;max-width:none!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand .mark{width:39px!important;min-width:39px!important;height:39px!important;font-size:20px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand b{font-size:14px!important;letter-spacing:.04em!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand small{font-size:7px!important;letter-spacing:.21em!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-book{display:none!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a.sgtm-v277-login{
  font-size:12px!important;min-height:38px!important;padding:8px 11px!important;
 }
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-login{font-size:0!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-login .sgtm-v277-login-full{display:none!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-login .sgtm-v277-login-short{display:inline!important;font-size:12px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .mobile-menu > summary{width:43px!important;height:43px!important;padding:5px!important}
 #sgtm-v277-quick-actions{right:10px!important;bottom:12px!important;gap:7px!important}
 #sgtm-v277-quick-actions > :is(a,button){width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}
 #sgtm-v277-quick-actions svg{width:20px!important;height:20px!important}
}
@media(max-width:370px){
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand .mark{width:34px!important;min-width:34px!important;height:34px!important;font-size:17px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand b{font-size:12px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-header .brand small{font-size:6px!important}
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a.sgtm-v277-login{padding:7px 8px!important}
}
/* On all compact sizes keep account floating button visible; hide scroll shortcuts until needed. */
@media(max-width:1320px){
 #sgtm-v277-quick-actions > .sgtm-v277-account{display:flex!important}
}
@media(max-width:900px){
 #sgtm-v277-quick-actions > .sgtm-v277-account{display:flex!important}
 #sgtm-v277-quick-actions > .sgtm-v277-hidden-mobile{display:none!important}
}
/* Guard against clipped dropdowns and off-screen labels. */
.sgtm-header,.sgtm-header>.mobile-menu{overflow:visible!important}
#sgtm-v277-quick-actions .sgtm-v277-tooltip{z-index:951!important}

.sgtm-v277-login-short{display:none}
@media(max-width:680px){.sgtm-v277-login-short{display:inline!important}}

@media(max-width:960px){
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a.sgtm-v277-online{display:none!important}
}
@media(max-width:680px){
 body#sgtm-premium-v223.sgtm-premium-v223 .sgtm-v277-compact-nav a.sgtm-v277-book{display:none!important}
}
/* SGTM V315 — customer-to-admin chat, preserves existing SGTM quick-action rail. */
.sgtm-v277-chat-panel{max-height:min(600px,calc(100dvh - 85px));overflow-y:auto;overscroll-behavior:contain}
.sgtm-v277-chat-panel .sgtm-v277-chat-header{position:sticky;top:0;z-index:2}
.sgtm-v315-chat{font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:#e8f4ff}
.sgtm-v315-chat label{display:block;font-weight:650;color:#e5f3ff;margin:10px 0}
.sgtm-v315-chat label input:not([type=checkbox]),.sgtm-v315-chat textarea{display:block;box-sizing:border-box;width:100%;padding:10px 12px;min-height:40px;margin-top:5px;background:#f8fbff!important;border:1px solid #84a8bd;border-radius:5px;font:inherit;color:#102b3e!important}
.sgtm-v315-chat textarea{min-height:88px;resize:vertical}
.sgtm-v315-chat .sgtm-v315-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:400}
.sgtm-v315-chat .sgtm-v315-consent input{width:17px;height:17px;flex-shrink:0;margin-top:2px}
.sgtm-v315-chat .sgtm-v315-consent a{display:inline;padding:0;margin:0;border:0;background:none;color:#c5e6ff!important;text-decoration:underline;font-weight:600}
.sgtm-v315-chat #sgtm-v315-send,.sgtm-v315-chat #sgtm-v315-new{width:100%;border:0;border-radius:5px;padding:12px;background:#1482cf;color:white;font:700 14px system-ui;cursor:pointer;margin:12px 0}
.sgtm-v315-chat #sgtm-v315-send:disabled{opacity:.6;cursor:wait}
.sgtm-v315-chat #sgtm-v315-new{background:#226280}
.sgtm-v315-chat .sgtm-v315-messages{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:9px 0}
.sgtm-v315-chat .sgtm-v315-messages[hidden]{display:none}
.sgtm-v315-msg{padding:10px 12px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;background:#214866;color:white}
.sgtm-v315-msg strong{display:block;font-size:12px;margin-bottom:3px;color:#dbf0ff}
.sgtm-v315-msg.sgtm-v315-from-admin{background:#0c6b60}
.sgtm-v315-chat small{display:block;margin-top:10px;color:#c5d8e7}
.sgtm-v315-chat #sgtm-v315-info{margin:0 0 10px;color:#d9edfa;white-space:normal}
.sgtm-v315-chat #sgtm-v315-turnstile{max-width:100%;overflow:hidden}

/* SGTM V316 — compact form while retaining comfortable touch targets. */
.sgtm-v315-chat label{margin:7px 0}
.sgtm-v315-chat textarea{min-height:72px}
.sgtm-v315-chat #sgtm-v315-send{margin:8px 0}
.sgtm-v315-chat #sgtm-v315-turnstile{min-height:0}
