/* Shared public layout, based on the website-off landing page. Staff workspaces keep their own shell. */
body.customer-landing-flow{--cx-navy:#112a48;--cx-blue:#245e9a;--cx-teal:#245e9a;--cx-line:#d6e0ed;--cx-muted:#59708c;box-sizing:border-box!important;margin:0!important;padding:0 0 0 310px!important;width:100%!important;max-width:none!important;min-height:100vh;background:radial-gradient(ellipse at 75% 20%,#fff 25%,#ecf1f9 100%)!important;color:#142a43;font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;border:0!important;box-shadow:none!important;overflow-wrap:anywhere}
body.customer-landing-flow *{box-sizing:border-box}body.customer-landing-flow .mgi-public-sidebar{position:fixed;inset:0 auto 0 0;width:310px;height:100dvh;overflow:auto;z-index:500;overscroll-behavior:contain;padding:28px 22px;gap:22px;border-radius:0;border:0;box-shadow:none}body.customer-landing-flow .public-brand{display:block;text-decoration:none;color:white}.public-brand img{display:block;width:100%;max-height:145px;object-fit:contain;background:#fff;border-radius:12px;padding:12px}.public-brand strong{font-size:22px;line-height:1.25}.mgi-public-sidebar .landing-sidebar-heading>strong{display:block;font-size:24px;line-height:1.2;margin:10px 0}.mgi-public-sidebar .public-services-menu{padding:0;border:0;background:transparent;box-shadow:none;margin:0}.public-services-menu summary{display:none}.mgi-public-sidebar nav a[aria-current=page]{background:#2b5585;border-color:#94c6ff;box-shadow:inset 3px 0 #acd6ff}.mgi-public-sidebar .landing-access{margin-top:auto}.customer-landing-flow #public-page-content{display:block;scroll-margin-top:12px}
body.customer-landing-flow>:is(.site-header,.portal-header,.customer-brand-header,.recovery-header){position:static;max-width:none;width:100%;margin:0;padding:20px clamp(18px,3vw,46px);min-height:90px;background:#fff;border-bottom:1px solid #d6e0ed;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}body.customer-landing-flow :is(.site-header,.portal-header,.customer-brand-header,.recovery-header) :is(.brand-logo,.customer-header-logo,img){max-width:150px;max-height:60px;object-fit:contain}body.customer-landing-flow :is(.site-header,.portal-header,.customer-brand-header,.recovery-header) a{color:#193c66;text-decoration:none}
body.customer-landing-flow>main,body.customer-landing-flow>.original-support-layout{width:100%!important;max-width:none!important;margin:0!important;padding:clamp(20px,3vw,44px)!important;min-width:0}body.customer-landing-flow :is(.customer-workspace-layout,.property-workspace-layout,.original-support-layout){display:block!important;grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:none!important;min-width:0}body.customer-landing-flow .original-support-menu{display:none!important}body.customer-landing-flow .original-support-layout>.support-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}body.customer-landing-flow .customer-workspace-content{min-width:0;width:100%}
body.customer-landing-flow .customer-workspace-sidebar{position:static!important;display:block!important;margin:0 0 22px;padding:14px 18px;background:#fff;border:1px solid #d6e0ed;border-radius:12px;box-shadow:none}body.customer-landing-flow .customer-workspace-sidebar>:is(strong,small,.customer-sidebar-eyebrow){display:none}body.customer-landing-flow .customer-workspace-sidebar nav{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}body.customer-landing-flow .customer-workspace-sidebar nav a{padding:8px 13px;border-radius:7px;font-size:13px;border:1px solid #d6e0ed;background:#f5f8fc;color:#214771}body.customer-landing-flow .customer-workspace-sidebar nav a[aria-current]{background:#dceaff;border-color:#91b7e4}
body.customer-landing-flow :is(.portal-hero,.portal-welcome,.customer-page-hero,.support-heading,.booking-hero,.recovery-hero,.portal-access-story){background:linear-gradient(125deg,#112a48,#21456d)!important;border:1px solid #385775!important;border-radius:16px!important;color:#fff!important;padding:clamp(22px,3vw,40px)!important;box-shadow:none!important;margin-bottom:24px;min-width:0}body.customer-landing-flow :is(.portal-hero,.portal-welcome,.customer-page-hero,.support-heading,.booking-hero,.recovery-hero,.portal-access-story) :is(h1,h2,h3,strong){color:#fff!important}body.customer-landing-flow :is(.portal-hero,.portal-welcome,.customer-page-hero,.support-heading,.booking-hero,.recovery-hero,.portal-access-story) :is(p,small,.eyebrow,.portal-kicker){color:#c8dbef!important}body.customer-landing-flow :is(.portal-hero,.portal-welcome,.customer-page-hero,.support-heading,.booking-hero,.recovery-hero,.portal-access-story) a{color:#c9e2ff}body.customer-landing-flow h1{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-.02em}body.customer-landing-flow h2{font-size:22px;line-height:1.3;color:#193c66}body.customer-landing-flow h3{color:#193c66}
body.customer-landing-flow :is(.booking-card,.portal-card,.support-card,.recovery-card,.portal-login,.portal-metrics>article,.portal-stats>article){border:1px solid #d6e0ed;border-radius:13px;background:#fff;box-shadow:0 6px 22px #112a4808;min-width:0}body.customer-landing-flow :is(.portal-grid,.recovery-grid,.portal-access){gap:22px;min-width:0}body.customer-landing-flow .portal-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:none;margin:0}body.customer-landing-flow .portal-access-story{margin:0}body.customer-landing-flow :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select){max-width:100%;min-width:0;border-radius:7px;border:1px solid #b4c6dc;padding:11px 12px;font:inherit;background:#fff;color:#142a43}body.customer-landing-flow input:is([type=checkbox],[type=radio]){accent-color:#245e9a}body.customer-landing-flow :is(.portal-button,.support-button,.primary-button,.recovery-button,.btn){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 16px;border:1px solid #b2c7e0;border-radius:8px;background:#edf4fd;color:#214771;font:700 13px/1.4 system-ui,sans-serif;text-decoration:none;white-space:normal;text-align:center;max-width:100%}body.customer-landing-flow :is(.primary-button,.recovery-button,.portal-button.primary,.btn-primary,.support-button-primary){background:#245e9a;color:#fff;border-color:#245e9a}body.customer-landing-flow :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #e9ae46;outline-offset:3px}body.customer-landing-flow .mgi-training-floating{bottom:20px}body.customer-landing-flow :is(.table-wrap,.table-responsive){overflow:auto;max-width:100%}body.customer-landing-flow .print-toolbar{position:static;padding:18px 28px;background:#fff;border-bottom:1px solid #d6e0ed}body.customer-landing-flow .agreement-document{max-width:none;margin:28px;border-radius:14px}body.customer-landing-flow.mgi-document-page{padding:28px 28px 28px 338px!important}body.customer-landing-flow .support-main{min-width:0}
@media(max-width:1200px){body.customer-landing-flow{padding-left:270px!important}.customer-landing-flow .mgi-public-sidebar{width:270px!important;padding:24px 16px!important}body.customer-landing-flow.mgi-document-page{padding-left:294px!important}body.customer-landing-flow :is(.portal-grid,.portal-access,.recovery-grid){grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:1000px){body.customer-landing-flow,body.customer-landing-flow.mgi-document-page{padding:0!important}.customer-landing-flow .mgi-public-sidebar{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px!important;padding:18px!important}.mgi-public-sidebar .public-brand{align-self:center}.mgi-public-sidebar .public-brand img{max-width:160px;max-height:75px;padding:7px}.mgi-public-sidebar .public-brand strong{font-size:19px}.mgi-public-sidebar .landing-sidebar-heading{display:none}.mgi-public-sidebar .public-services-menu{grid-column:1/-1}.public-services-menu summary{display:flex;justify-content:space-between;align-items:center;border:1px solid #38506f;border-radius:8px;padding:10px 12px;cursor:pointer;color:#fff;font-weight:700}.public-services-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.mgi-public-sidebar .landing-access{grid-column:2;grid-row:1;border:0;padding:0;margin:0;gap:6px}.mgi-public-sidebar .landing-access a{font-size:12px}.mgi-public-sidebar nav a{min-height:48px;padding:10px;font-size:13px}.mgi-public-sidebar nav a span:last-child{display:none}body.customer-landing-flow .agreement-document{margin:16px;padding:20px}body.customer-landing-flow>:is(.site-header,.portal-header,.customer-brand-header,.recovery-header){padding:16px 20px}body.customer-landing-flow :is(.support-hero-actions,.support-heading){flex-wrap:wrap}.customer-landing-flow .portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}body.customer-landing-flow.mgi-document-page>:not(.mgi-public-sidebar):not(.landing-skip):not(script):not(link):not(.mgi-training-toggle){margin-left:16px;margin-right:16px}}
@media(max-width:380px){.public-services-menu nav{grid-template-columns:1fr}body.customer-landing-flow>:is(main,.original-support-layout){padding:16px!important}body.customer-landing-flow .portal-metrics{grid-template-columns:1fr!important}}
@media print{body.customer-landing-flow,body.customer-landing-flow.mgi-document-page{padding:0!important;margin:0!important;background:#fff!important;width:auto!important;max-width:none!important}.mgi-public-sidebar,.landing-skip,#public-page-content,.customer-workspace-sidebar{display:none!important}body.customer-landing-flow .agreement-document{margin:0!important;border:0!important;border-radius:0!important}body.customer-landing-flow>main,body.customer-landing-flow>.original-support-layout{padding:0!important}body.customer-landing-flow.mgi-document-page>:not(.mgi-public-sidebar){margin-left:0!important;margin-right:0!important}}
.contract-autopay{margin-top:20px;padding:18px;background:#f2f6fb;border:1px solid #cfdaea;border-radius:14px;color:#172d48}.contract-autopay-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.contract-autopay h4{margin:0;font-size:1.1rem}.contract-autopay-price strong{font-size:1.6rem}.contract-autopay .contract-autopay-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400}.contract-autopay-consent input{flex:none;width:18px!important;height:18px!important;margin-top:3px}.contract-autopay-form,.contract-autopay-refresh{margin:14px 0}.contract-autopay-stop{margin:16px 0}.contract-autopay-stop summary{cursor:pointer;color:#9b2c2c;font-weight:700}.contract-autopay button,.contract-autopay a{white-space:normal;max-width:100%}
/* Keep the sign-in card and light hero buttons readable against the navy hero. */
body.customer-landing-flow .portal-hero .booking-card{color:#142a43}body.customer-landing-flow .portal-hero .booking-card :is(h1,h2,h3,strong,label){color:#193c66!important}body.customer-landing-flow .portal-hero .booking-card :is(p,small){color:#526a86!important}body.customer-landing-flow .portal-hero .booking-card a{color:#245e9a!important}body.customer-landing-flow :is(.portal-hero,.customer-page-hero,.support-heading,.booking-hero) a:is(.portal-button,.support-button,.btn){color:#214771!important}body.customer-landing-flow :is(.portal-hero,.customer-page-hero,.support-heading,.booking-hero) a:is(.primary-button,.btn-primary){color:#fff!important}

/* Portal sign-in story actions need their own contrast over the dark hero. */
body.customer-landing-flow .portal-access-story :is(a,button){background:#f2b84b!important;color:#172b45!important;border:1px solid #ffd786!important;text-decoration:none;font-weight:750}
body.customer-landing-flow .portal-access-story :is(a,button):is(:hover,:focus-visible){background:#ffcf75!important;color:#10223a!important;border-color:#fff!important}
body.customer-landing-flow .portal-access-story :is(a,button):focus-visible{outline:3px solid #fff;outline-offset:4px}
body.customer-landing-flow .portal-access-story :is(a,button) :is(span,strong,small){color:inherit!important}

/* One public brand header across portals, support, recovery and documents. */
body.customer-landing-flow .mgi-public-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;width:100%;margin:0;padding:24px clamp(20px,3vw,44px);background:linear-gradient(115deg,#112a48,#21456d);border:0;border-bottom:3px solid #edb54d;color:#fff;box-shadow:0 8px 24px #112a4814}
body.customer-landing-flow .mgi-public-header-brand{display:flex;align-items:center;gap:18px;min-width:0;max-width:100%;color:#fff!important;text-decoration:none}
body.customer-landing-flow .mgi-public-header-brand img{display:block;width:110px;height:78px;object-fit:contain;border-radius:12px;padding:9px;background:#fff;border:1px solid #d7e3ef;flex:none}
body.customer-landing-flow .mgi-public-header-identity{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}body.customer-landing-flow .mgi-public-header-identity strong{font:750 clamp(19px,2vw,27px)/1.25 system-ui,sans-serif;color:#fff!important;letter-spacing:-.02em}body.customer-landing-flow .mgi-public-header-identity>span{font:600 13px/1.5 system-ui,sans-serif;letter-spacing:.025em;color:#ccdef3!important}
body.customer-landing-flow .mgi-public-header-symbol{display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:12px;background:#294d74;color:#ffcf75}body.customer-landing-flow .mgi-public-header-symbol svg{width:30px;height:30px}
body.customer-landing-flow .mgi-public-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:0;margin:0;background:transparent;border:0;min-width:0}body.customer-landing-flow .mgi-public-header-actions form{margin:0;padding:0;background:transparent;border:0}
body.customer-landing-flow .mgi-public-header-actions :is(a,button){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:42px;max-width:100%;padding:10px 16px;border:1px solid #ffd786;border-radius:8px;background:#f2b84b;color:#172b45!important;text-decoration:none;font:750 13px/1.4 system-ui,sans-serif;white-space:normal;text-align:center;cursor:pointer}
body.customer-landing-flow .mgi-public-header-actions :is(a,button):is(:hover,:focus-visible){background:#ffcf75;color:#10223a!important;border-color:#fff}body.customer-landing-flow .mgi-public-header :is(a,button):focus-visible{outline:3px solid #fff;outline-offset:4px}
body.customer-landing-flow :is(.portal-hero,.portal-welcome,.customer-page-hero,.support-heading,.booking-hero,.recovery-hero){border-top:3px solid #edb54d!important}body.customer-landing-flow .mgi-public-header~main{padding-top:28px!important}
@media(max-width:600px){body.customer-landing-flow .mgi-public-header{padding:20px;gap:18px}body.customer-landing-flow .mgi-public-header-brand{gap:12px}body.customer-landing-flow .mgi-public-header-brand img{width:80px;height:64px;padding:7px}body.customer-landing-flow .mgi-public-header-actions{justify-content:flex-start;width:100%}body.customer-landing-flow .mgi-public-header-actions :is(a,button){padding:10px 13px}body.customer-landing-flow .mgi-public-header-identity strong{font-size:19px}}
@media print{body.customer-landing-flow .mgi-public-header{display:none!important}}
/* Public support and access actions must retain contrast in every hero/card. */
body.customer-landing-flow .support-button,
body.customer-landing-flow :is(.portal-hero,.customer-page-hero,.support-heading,.booking-hero) a.support-button{background:#205a91!important;color:#fff!important;border-color:#205a91!important}
body.customer-landing-flow .support-button:is(:hover,:focus-visible){background:#153f69!important;color:#fff!important;border-color:#153f69!important}
body.customer-landing-flow .support-button :is(span,strong,small){color:inherit!important}
body.customer-landing-flow .support-button:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}
body.customer-landing-flow .portal-access-links :is(a,button){background:#ffd06b!important;color:#172b45!important;border:1px solid #efb749!important;box-shadow:0 2px 0 #a87519;min-height:44px}
body.customer-landing-flow .portal-access-links :is(a,button):is(:hover,:focus-visible){background:#ffe2a0!important;color:#10223a!important;border-color:#fff!important}
body.customer-landing-flow .portal-access-links :is(a,button) :is(span,strong,small){color:inherit!important}
body.customer-landing-flow .portal-access-links :is(a,button):focus-visible{outline:3px solid #fff;outline-offset:4px}
body.customer-landing-flow :is(.portal-hero,.customer-page-hero,.support-heading,.booking-hero) a.support-button:is(:hover,:focus-visible){background:#153f69!important;color:#fff!important;border-color:#153f69!important}
