:root{
  --navy:#06142a;
  --navy-2:#0e2344;
  --blue:#184982;
  --sky:#38bdf8;
  --gold:#d6a232;
  --gold-2:#f8d56b;
  --cream:#fff8ea;
  --text:#102033;
  --muted:#64748b;
  --line:#e2e8f0;
  --bg:#f8fafc;
  --white:#ffffff;
  --danger:#b42318;
  --success:#067647;
  --shadow:0 26px 70px rgba(6,20,42,.14);
  --shadow-soft:0 16px 40px rgba(6,20,42,.09);
  --radius:24px;
  --radius-lg:34px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
::selection{background:var(--gold-2);color:var(--navy)}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:14px;background:var(--gold);color:#071326;padding:10px 14px;border-radius:10px;z-index:10000;font-weight:800}
.skip-link:focus{left:14px}
.top-strip{
  background:linear-gradient(90deg,var(--navy),var(--navy-2));
  color:#dbeafe;
  font-size:14px;
}
.top-strip .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0}
.top-strip a{color:#fff;font-weight:700}
.pill-note{display:inline-flex;align-items:center;gap:8px;color:var(--gold-2);font-weight:800}
.navbar{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(226,232,240,.75);
}
.navbar.is-scrolled{box-shadow:0 10px 36px rgba(6,20,42,.08)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.logo{display:flex;align-items:center;gap:10px;min-width:220px}
.logo img{width:220px;height:auto}
.nav-menu{display:flex;align-items:center;gap:26px;list-style:none;padding:0;margin:0}
.nav-menu a{font-weight:750;color:#13253a;font-size:15px;position:relative}
.nav-menu a:after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:.25s ease}
.nav-menu a:hover:after,.nav-menu a.active:after{width:100%}
.nav-actions{display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;border:0;background:var(--navy);color:#fff;width:44px;height:44px;border-radius:14px;cursor:pointer}
.menu-toggle span{display:block;width:20px;height:2px;background:#fff;margin:5px auto;transition:.25s ease}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-toggle span:nth-child(2){opacity:0}
body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:12px 20px;border-radius:999px;
  font-weight:850;border:1px solid transparent;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#071326;box-shadow:0 16px 30px rgba(214,162,50,.28)}
.btn-primary:hover{box-shadow:0 18px 40px rgba(214,162,50,.36)}
.btn-dark{background:var(--navy);color:#fff;box-shadow:0 16px 30px rgba(6,20,42,.22)}
.btn-outline{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff}
.btn-outline-dark{background:#fff;border-color:var(--line);color:var(--navy)}
.btn-small{min-height:40px;padding:9px 15px;font-size:14px}
.hero{
  position:relative;isolation:isolate;
  background:
    radial-gradient(circle at 10% 10%,rgba(56,189,248,.24),transparent 34%),
    radial-gradient(circle at 84% 18%,rgba(248,213,107,.22),transparent 28%),
    linear-gradient(135deg,#071326 0%,#0e2344 52%,#06142a 100%);
  color:#fff;
  overflow:hidden;
}
.hero:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.15));
}
.hero .container{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center;min-height:720px;padding:86px 0 100px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#eaf2ff;font-weight:800;font-size:14px;letter-spacing:.02em}
.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 6px rgba(248,213,107,.12)}
h1{font-size:clamp(43px,7vw,79px);line-height:.98;margin:22px 0 18px;letter-spacing:-.055em}
.hero h1 span{display:block;background:linear-gradient(135deg,#fff,var(--gold-2));-webkit-background-clip:text;color:transparent}
.lead{font-size:clamp(18px,2vw,22px);color:#d8e6ff;max-width:670px;margin:0 0 28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 30px}
.hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;max-width:720px}
.trust-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:18px;border-radius:20px;backdrop-filter:blur(14px)}
.trust-card strong{display:block;font-size:24px;line-height:1;color:#fff;margin-bottom:8px}.trust-card span{color:#cbd5e1;font-weight:650;font-size:13px}
.hero-art{position:relative}.hero-art img{filter:drop-shadow(0 38px 55px rgba(0,0,0,.28));animation:floaty 6s ease-in-out infinite}
.orbit{position:absolute;border-radius:999px;border:1px solid rgba(248,213,107,.3);inset:35px 10px 20px;animation:spin 18s linear infinite;pointer-events:none}.orbit:after{content:"";position:absolute;top:20%;left:-7px;width:14px;height:14px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 30px var(--gold-2)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.section{padding:100px 0}.section-sm{padding:70px 0}.section-white{background:#fff}.section-navy{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;position:relative;overflow:hidden}.section-navy:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(248,213,107,.18),transparent 30%),radial-gradient(circle at 82% 30%,rgba(56,189,248,.13),transparent 34%)}
.section-navy .container{position:relative}.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:44px}.section-kicker{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.13em;font-size:13px;margin:0 0 10px}.section-title{font-size:clamp(32px,4.5vw,54px);line-height:1.03;letter-spacing:-.04em;margin:0;color:var(--navy)}.section-navy .section-title{color:#fff}.section-copy{max-width:600px;color:var(--muted);font-size:18px;margin:0}.section-navy .section-copy{color:#cbd5e1}
.logo-cloud{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-soft);display:flex;gap:16px;align-items:flex-start}.mini-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#fff7dc,#f2e1ad);color:var(--navy);font-size:22px;flex:0 0 auto}.mini-card strong{display:block;color:var(--navy);font-size:17px;margin-bottom:5px}.mini-card p{margin:0;color:var(--muted);font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{position:relative;min-height:260px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-soft);overflow:hidden;transform-style:preserve-3d;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.service-card:hover{border-color:rgba(214,162,50,.55);box-shadow:0 24px 58px rgba(6,20,42,.13)}.service-card:before{content:"";position:absolute;right:-48px;top:-48px;width:132px;height:132px;border-radius:50%;background:linear-gradient(135deg,rgba(248,213,107,.28),rgba(56,189,248,.12));transition:.3s ease}.service-card:hover:before{transform:scale(1.18)}.service-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:27px;margin-bottom:24px}.service-card h3{font-size:21px;line-height:1.12;margin:0 0 10px;color:var(--navy)}.service-card p{margin:0 0 20px;color:var(--muted);font-size:15px}.service-card a{font-weight:900;color:var(--blue)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.glass-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);box-shadow:0 26px 60px rgba(0,0,0,.18);border-radius:var(--radius-lg);padding:30px;backdrop-filter:blur(16px)}.steps{display:grid;gap:16px}.step{display:grid;grid-template-columns:auto 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.step-num{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--gold-2),var(--gold));font-weight:950;color:var(--navy)}.step h3{margin:0 0 3px;color:var(--navy)}.step p{margin:0;color:var(--muted)}.feature-list{display:grid;gap:12px;margin:28px 0}.feature{display:flex;gap:12px;align-items:flex-start}.check{width:24px;height:24px;border-radius:50%;background:rgba(248,213,107,.18);color:var(--gold-2);display:grid;place-items:center;flex:0 0 auto;font-weight:900}.advisor-box{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px;border:1px solid var(--line)}.advisor-box h3{font-size:28px;line-height:1.1;margin:0 0 10px;color:var(--navy)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.choice{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px 15px;text-align:left;cursor:pointer;font-weight:800;color:var(--navy);transition:.2s ease}.choice:hover,.choice.is-selected{background:#fff7dc;border-color:var(--gold);transform:translateY(-2px)}.recommendation{border-radius:20px;background:linear-gradient(135deg,#071326,#0e2344);color:#fff;padding:20px;margin-top:15px;display:none}.recommendation.is-visible{display:block;animation:fadeUp .35s ease}.recommendation strong{color:var(--gold-2)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);text-align:center}.stat strong{font-size:44px;line-height:1;color:var(--navy);display:block;letter-spacing:-.04em}.stat span{display:block;color:var(--muted);font-weight:800;margin-top:8px}.quote-panel{background:#fff;border-radius:var(--radius-lg);padding:34px;border:1px solid var(--line);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:850;color:var(--navy);font-size:14px}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:16px;padding:14px 15px;outline:none;background:#fff;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(214,162,50,.16)}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:13px;color:var(--muted);margin:12px 0 0}.success-message,.error-message{display:none;margin-top:14px;padding:12px 14px;border-radius:14px;font-weight:750}.success-message{background:#ecfdf3;color:var(--success)}.error-message{background:#fef3f2;color:var(--danger)}.faq{display:grid;gap:14px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.faq-button{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;padding:21px 22px;cursor:pointer;text-align:left;color:var(--navy);font-weight:900}.faq-button span:last-child{font-size:24px;color:var(--gold)}.faq-panel{max-height:0;overflow:hidden;transition:max-height .28s ease}.faq-panel p{margin:0;padding:0 22px 22px;color:var(--muted)}.faq-item.is-open .faq-panel{max-height:220px}.faq-item.is-open .faq-button span:last-child{transform:rotate(45deg)}.cta-band{background:linear-gradient(135deg,var(--navy),#12366b);color:#fff;border-radius:34px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.cta-band:before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:rgba(248,213,107,.18)}.cta-band>*{position:relative}.cta-band h2{font-size:clamp(30px,4vw,46px);line-height:1.05;margin:0 0 10px}.cta-band p{margin:0;color:#cbd5e1;font-size:18px;max-width:680px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow-soft)}.contact-card strong{display:block;color:var(--navy);font-size:18px;margin-bottom:8px}.contact-card a,.contact-card span{color:var(--muted);font-weight:750}.footer{background:#030b17;color:#cbd5e1;padding:62px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:36px}.footer-logo{width:230px;filter:brightness(0) invert(1)}.footer h3{color:#fff;margin:0 0 14px;font-size:16px}.footer p{margin:14px 0 0;color:#94a3b8}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.footer a{color:#cbd5e1}.footer a:hover{color:var(--gold-2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:42px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#94a3b8;font-size:14px}.floating-actions{position:fixed;right:18px;bottom:18px;z-index:999;display:flex;flex-direction:column;gap:10px}.float-btn{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;box-shadow:0 14px 34px rgba(6,20,42,.22);font-size:23px}.float-call{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--navy)}.float-form{background:var(--navy);color:#fff}.page-hero{padding:88px 0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(248,213,107,.18),transparent 32%),radial-gradient(circle at 90% 10%,rgba(56,189,248,.16),transparent 34%)}.page-hero .container{position:relative}.page-hero h1{font-size:clamp(40px,6vw,68px);margin:0 0 16px}.page-hero p{font-size:20px;color:#d8e6ff;max-width:760px;margin:0}.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow-soft)}.detail-card h2{font-size:24px;line-height:1.12;color:var(--navy);margin:0 0 12px}.detail-card p{color:var(--muted);margin:0 0 16px}.detail-card ul{margin:0;padding-left:20px;color:var(--muted)}.about-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:38px}.legal{max-width:900px}.legal h2{color:var(--navy);margin-top:34px}.legal p,.legal li{color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .75s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:1060px){.hero .container{grid-template-columns:1fr;min-height:auto}.hero-art{max-width:720px;margin:auto}.services-grid{grid-template-columns:repeat(2,1fr)}.logo-cloud,.stats-row{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.service-detail-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}.nav-menu{gap:18px}.nav-actions .btn-outline-dark{display:none}}
@media (max-width:820px){.top-strip .container{align-items:flex-start;flex-direction:column}.menu-toggle{display:block}.nav-menu{position:fixed;left:20px;right:20px;top:92px;display:grid;gap:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;overflow:hidden;transform:translateY(-18px);opacity:0;pointer-events:none;transition:.25s ease}.nav-menu li{border-bottom:1px solid var(--line)}.nav-menu li:last-child{border-bottom:0}.nav-menu a{display:block;padding:17px 20px}.nav-menu a:after{display:none}body.menu-open .nav-menu{transform:translateY(0);opacity:1;pointer-events:auto}.hero .container{padding:64px 0 78px}.hero-trust{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.contact-cards{grid-template-columns:1fr}.cta-band{align-items:flex-start;flex-direction:column}.service-detail-grid{grid-template-columns:1fr}.floating-actions{right:12px;bottom:12px}.logo img{width:194px}.nav-actions .btn-primary{display:none}}
@media (max-width:620px){.container{width:min(var(--max),calc(100% - 28px))}.section{padding:72px 0}.section-sm{padding:54px 0}.hero-actions{display:grid}.btn{width:100%}.services-grid,.logo-cloud,.stats-row{grid-template-columns:1fr}.service-card{min-height:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}.cta-band{padding:30px 22px}.quote-panel,.advisor-box,.about-card{padding:24px}.top-strip{display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* Wide Corepoint logo lockup: mark on left, Insurance • Tax • Finance inside the logo on the side. */
.logo{min-width:320px;flex-shrink:0}
.logo img{width:310px;max-height:86px;object-fit:contain}
.footer-logo{width:290px;max-height:94px;object-fit:contain}
.customer-portal-shell{display:grid;gap:30px}.customer-login-panel{max-width:620px;margin-inline:auto}.customer-dashboard{display:grid;gap:26px}.customer-hero-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow)}.customer-hero-card .lead{margin:8px 0 0}.customer-clock-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:20px;min-width:230px;text-align:center}.mini-calendar{display:grid;place-items:center;background:#fff;color:var(--navy);border-radius:22px;padding:14px;margin:0 auto 12px;max-width:120px}.mini-calendar span,.mini-calendar em{font-size:13px;font-weight:850;color:var(--muted);font-style:normal}.mini-calendar strong{font-size:42px;line-height:1;color:var(--navy)}.customer-info-grid .contact-card p{margin:8px 0;color:var(--muted)}.customer-2fa-grid{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:start}.customer-qr-box img{width:210px;height:210px}.customer-service-table td,.customer-service-table th{white-space:nowrap}
@media (max-width:1060px){.logo{min-width:260px}.logo img{width:260px}.footer-logo{width:260px}}
@media (max-width:820px){.logo{min-width:210px}.logo img{width:210px}.nav-menu{top:104px}.customer-hero-card{align-items:flex-start;flex-direction:column}.customer-clock-card{width:100%}.customer-2fa-grid{grid-template-columns:1fr}.customer-service-table{min-width:760px}}
@media (max-width:620px){.logo{min-width:190px}.logo img{width:190px}.footer-logo{width:240px}}

/* Customer portal journey cleanup: public login first, private dashboard after login only. */
.hidden{display:none!important}
.customer-login-page .section-white{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.customer-login-hero{padding:78px 0 70px}
.customer-login-layout{display:grid;grid-template-columns:minmax(320px,620px) 1fr;gap:28px;align-items:stretch}
.customer-login-layout .customer-login-panel{max-width:none;margin:0}
.customer-login-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.customer-journey-card{background:linear-gradient(135deg,#071326,#0e2344);color:#fff;border-radius:var(--radius-lg);padding:34px;border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);position:relative;overflow:hidden}
.customer-journey-card:before{content:"";position:absolute;right:-65px;top:-65px;width:190px;height:190px;border-radius:50%;background:rgba(248,213,107,.14)}
.customer-journey-card>*{position:relative}
.customer-journey-card h3{font-size:30px;line-height:1.08;margin:0 0 20px;color:#fff;letter-spacing:-.03em}
.customer-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.customer-steps li{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:15px}
.customer-steps strong{color:var(--gold-2);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.customer-steps span{color:#dbeafe;font-weight:700;line-height:1.45}
.secure-note{margin-top:18px;background:#fff;color:var(--navy);border-radius:18px;padding:15px 16px;font-weight:850}
.customer-dashboard{display:grid;gap:26px}
.customer-hero-card{align-items:stretch}
.customer-welcome-copy{display:grid;align-content:center;min-width:0}
.customer-welcome-copy h2{font-size:clamp(30px,4.5vw,48px);line-height:1.05;margin:12px 0 4px;letter-spacing:-.04em;color:#fff}
.customer-dashboard-tools{display:grid;grid-template-columns:130px minmax(230px,1fr);gap:16px;align-items:stretch;min-width:390px}
.customer-dashboard-tools .mini-calendar{margin:0;max-width:none;height:100%;align-content:center;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.customer-dashboard-tools .customer-clock-card{min-width:0;width:100%;display:grid;align-content:center;margin:0}
.clock-label{display:block;color:var(--gold-2);font-weight:950;text-transform:uppercase;letter-spacing:.14em;font-size:12px;margin-bottom:4px}
.customer-clock-card h3{margin:0;color:#fff;font-size:32px;letter-spacing:-.03em}.customer-clock-card .muted{color:#cbd5e1}.customer-2fa-fields{display:grid;gap:14px}.customer-2fa-fields label{display:grid;gap:7px;font-weight:850;color:var(--navy)}.customer-2fa-fields input{border:1px solid var(--line);border-radius:16px;padding:14px 15px;outline:none;background:#fff;color:var(--text)}
.customer-login-page .field-hint{color:var(--muted);font-size:13px}.customer-login-page .table-wrap{overflow-x:auto}
@media (max-width:1060px){.customer-login-layout{grid-template-columns:1fr}.customer-dashboard-tools{min-width:0}}
@media (max-width:820px){.customer-dashboard-tools{grid-template-columns:1fr;width:100%}.customer-dashboard-tools .mini-calendar{max-width:160px;width:160px;justify-self:center}.customer-login-actions .btn{width:auto}.customer-steps li{grid-template-columns:1fr}.secure-note{font-size:14px}}
@media (max-width:620px){.customer-login-actions{display:grid}.customer-login-actions .btn{width:100%}.customer-journey-card{padding:24px}.customer-hero-card{padding:24px}.customer-dashboard-tools .mini-calendar{width:100%;max-width:none}.customer-clock-card h3{font-size:28px}}

/* Quote form country code + multi-service selection */
.phone-input-wrap{display:grid;grid-template-columns:104px 1fr;gap:10px;align-items:center}
.phone-input-wrap select,.phone-input-wrap input,.phone-country-field select{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:#fff;color:var(--text);outline:none;font:inherit}
.field-hint{display:block;margin-top:7px;color:var(--muted);font-size:13px;font-weight:650}
.multi-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.multi-service-grid label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:18px;padding:13px 14px;background:#fff;color:var(--navy);font-weight:850;cursor:pointer;transition:.2s ease;box-shadow:0 10px 20px rgba(15,23,42,.04)}
.multi-service-grid label:hover{transform:translateY(-1px);border-color:rgba(193,148,48,.55);box-shadow:0 14px 28px rgba(15,23,42,.08)}
.multi-service-grid input{width:18px;height:18px;accent-color:var(--gold)}
@media (max-width:620px){.phone-input-wrap{grid-template-columns:1fr}.multi-service-grid{grid-template-columns:1fr}}

/* More interactive customer portal dashboard */
.customer-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.customer-stat-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.customer-stat-card:before{content:"";position:absolute;right:-22px;top:-26px;width:82px;height:82px;border-radius:50%;background:rgba(193,148,48,.12)}
.customer-stat-card span{display:block;color:var(--muted);font-weight:850;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.customer-stat-card strong{display:block;color:var(--navy);font-size:38px;line-height:1;margin:8px 0}.customer-stat-card em{font-style:normal;color:var(--muted);font-weight:750}
.interactive-card{transition:.22s ease;position:relative;overflow:hidden}.interactive-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.next-payment-card{background:linear-gradient(135deg,#fff,#fff9e7)}
.payment-highlight{float:right;width:86px;height:86px;border-radius:28px;background:linear-gradient(135deg,var(--gold-2),var(--gold));display:grid;place-items:center;color:var(--navy);font-weight:950;box-shadow:0 18px 34px rgba(193,148,48,.25)}.payment-highlight span{font-size:30px;line-height:.9}.payment-highlight em{font-size:12px;font-style:normal;text-transform:uppercase;letter-spacing:.1em}
.customer-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.customer-insight-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:22px;box-shadow:var(--shadow-soft);display:grid;gap:10px;transition:.22s ease;min-height:220px}.customer-insight-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.customer-insight-card span{font-size:34px}.customer-insight-card h3{margin:0;color:var(--navy);font-size:19px}.customer-insight-card p{margin:0;color:var(--muted);line-height:1.5}.customer-insight-card a{margin-top:auto;font-weight:950;color:var(--gold)}.customer-insight-card.positive{grid-column:1/-1;min-height:auto;background:linear-gradient(135deg,#f8fff8,#ffffff)}
.customer-policy-card-grid{display:grid;gap:14px;margin-bottom:22px}.customer-policy-card{display:grid;grid-template-columns:56px 1.1fr .8fr .7fr .9fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:var(--shadow-soft);padding:16px;transition:.22s ease}.customer-policy-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.policy-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(6,20,42,.06);font-size:26px}.policy-card-main h3{margin:0;color:var(--navy);font-size:18px}.policy-card-main p{margin:3px 0 0;color:var(--muted);font-weight:750}.policy-card-meta span,.policy-due span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.policy-card-meta strong,.policy-due strong{display:block;color:var(--navy);font-size:15px;margin-top:4px}.policy-due{border-radius:18px;background:#fff;padding:12px;border:1px solid var(--line)}.policy-due.urgent{background:#fff2f2;border-color:#fecaca}.policy-status{border-radius:999px;background:#e8fff4;color:#027a48;padding:8px 11px;font-weight:950;font-size:12px}.customer-empty-state{border:1px dashed rgba(6,20,42,.22);border-radius:24px;padding:24px;text-align:center;background:#fff}.customer-empty-state strong{color:var(--navy)}.customer-empty-state p{margin:8px 0 0;color:var(--muted)}.customer-2fa-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:1060px){.customer-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-policy-card{grid-template-columns:56px 1fr 1fr}.policy-status{justify-self:start}}
@media (max-width:820px){.customer-stat-grid{grid-template-columns:1fr}.customer-insight-grid{grid-template-columns:1fr}.customer-policy-card{grid-template-columns:1fr}.policy-icon{width:56px}.payment-highlight{float:none;margin-bottom:12px}.customer-2fa-actions{display:grid}.customer-2fa-actions .btn{width:100%}}

/* 2026-07 logo + phone/quote fixes */
.logo{min-width:330px;flex-shrink:0}
.logo img{width:330px;max-height:78px;object-fit:contain;display:block}
.footer-logo{width:330px;max-height:110px;object-fit:contain}
.phone-input-wrap{grid-template-columns:118px 1fr}
.phone-input-wrap input[data-dial-code]{font-weight:900;color:var(--navy);letter-spacing:.02em}
.field-hint{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}
.multi-service-grid input:checked + span{color:var(--blue)}
@media (max-width:1180px){.logo{min-width:285px}.logo img{width:285px}.nav-menu{gap:20px}}
@media (max-width:820px){.logo{min-width:230px}.logo img{width:230px;max-height:62px}.nav-menu{top:102px}}
@media (max-width:620px){.logo{min-width:205px}.logo img{width:205px}.footer-logo{width:260px}.phone-input-wrap{grid-template-columns:1fr}}
.footer-logo{filter:none!important}


/* 2026-07-04 focused fix: clean logo display + phone field alignment */
.logo img,
.footer-logo{
  image-rendering:auto;
  -ms-interpolation-mode:bicubic;
  backface-visibility:hidden;
  transform:translateZ(0);
}

.logo img{
  width:360px;
  max-height:72px;
  object-fit:contain;
}

.footer-logo{
  width:385px;
  max-width:100%;
  max-height:none;
  object-fit:contain;
  opacity:1;
  filter:none!important;
  margin-bottom:16px;
}

.phone-country-field,
.phone-number-field{
  align-self:start;
}

.phone-input-wrap{
  display:grid;
  grid-template-columns:126px minmax(260px,1fr);
  gap:14px;
  align-items:stretch;
  width:100%;
}

.phone-input-wrap input,
.phone-country-field select{
  min-height:58px;
  height:58px;
  line-height:1.2;
}

.phone-input-wrap input[data-dial-code]{
  text-align:left;
  font-weight:900;
  padding-left:18px;
}

.phone-input-wrap input[name="phone_national"]{
  min-width:0;
}

.phone-input-wrap input[name="phone_national"]::placeholder{
  color:#64748b;
  opacity:1;
}

.field-hint{
  margin-top:8px;
  line-height:1.35;
}

@media (max-width:980px){
  .phone-input-wrap{
    grid-template-columns:118px minmax(190px,1fr);
  }
  .logo img{width:315px;}
}

@media (max-width:820px){
  .logo img{width:250px;max-height:62px;}
  .footer-logo{width:330px;}
}

@media (max-width:620px){
  .phone-input-wrap{
    grid-template-columns:1fr;
  }
  .logo img{width:220px;}
  .footer-logo{width:285px;}
}

.customer-top-logout {
  align-self: center;
  white-space: nowrap;
}
.customer-dashboard-tools {
  gap: 14px;
}
@media (max-width: 760px) {
  .customer-top-logout {
    order: -1;
    width: 100%;
  }
}


/* Final customer portal compact layout fix */
.customer-dashboard {
  gap: 18px;
}
.customer-hero-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 22px !important;
  padding: 26px 30px !important;
  border-radius: 30px !important;
  min-height: 0 !important;
}
.customer-welcome-copy h2 {
  font-size: clamp(30px, 3.8vw, 44px) !important;
  margin: 8px 0 6px !important;
}
.customer-welcome-copy .lead {
  font-size: clamp(17px, 1.7vw, 22px) !important;
  line-height: 1.45 !important;
  max-width: 780px !important;
}
.customer-dashboard-tools {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 120px 150px !important;
  grid-template-areas:
    "logout calendar"
    "clock clock" !important;
  gap: 12px !important;
  align-items: stretch !important;
}
.customer-top-logout {
  grid-area: logout !important;
  align-self: center !important;
  justify-self: stretch !important;
  padding: 12px 18px !important;
  min-height: 48px !important;
}
.customer-dashboard-tools .mini-calendar {
  grid-area: calendar !important;
  max-width: none !important;
  height: auto !important;
  min-height: 96px !important;
  padding: 12px 10px !important;
  margin: 0 !important;
}
.customer-dashboard-tools .mini-calendar strong {
  font-size: 34px !important;
}
.customer-dashboard-tools .customer-clock-card {
  grid-area: clock !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
  margin: 0 !important;
  border-radius: 20px !important;
}
.customer-clock-card h3 {
  font-size: 30px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.customer-stat-grid {
  gap: 16px !important;
}
.customer-stat-card {
  padding: 22px 24px !important;
  min-height: 126px !important;
}
.customer-info-grid {
  gap: 18px !important;
}
.customer-dashboard .quote-panel {
  padding: clamp(22px, 3vw, 34px) !important;
}
.customer-policies-panel .section-head {
  align-items: center !important;
}
.customer-service-table,
.customer-login-page .table-wrap {
  display: none !important;
}

@media (max-width: 1060px) {
  .customer-hero-card {
    grid-template-columns: 1fr !important;
  }
  .customer-dashboard-tools {
    width: 100% !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    grid-template-areas: "logout calendar clock" !important;
  }
}
@media (max-width: 700px) {
  .customer-hero-card {
    padding: 22px !important;
  }
  .customer-dashboard-tools {
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "logout logout"
      "calendar clock" !important;
  }
  .customer-clock-card h3 {
    font-size: 24px !important;
  }
}


/* Final moving customer opportunity cards */
.customer-smart-panel {
  overflow: hidden;
}
.customer-insight-grid {
  display: flex !important;
  gap: 18px;
  overflow: hidden;
  padding: 6px 0 10px;
  animation: corepointInsightScroll 38s linear infinite;
  width: max-content;
  min-width: 100%;
}
.customer-insight-grid:hover {
  animation-play-state: paused;
}
.customer-insight-card {
  flex: 0 0 310px;
}
.customer-insight-card button,
.customer-insight-quote-btn {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: var(--navy);
  font-weight: 900;
  padding: 10px 16px;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(214,160,48,.18);
}
@keyframes corepointInsightScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-45%); }
}
@media (max-width: 760px) {
  .customer-insight-grid {
    overflow-x: auto;
    width: auto;
    animation: none;
    scroll-snap-type: x mandatory;
  }
  .customer-insight-card {
    flex-basis: 280px;
    scroll-snap-align: start;
  }
}


/* Final compact account summary merge */
.customer-account-summary-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 22px;
  align-items: stretch;
  padding: clamp(22px, 3vw, 34px) !important;
}
.customer-account-details,
.customer-account-renewal {
  min-width: 0;
}
.customer-account-details #customerDetails {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 12px 20px;
}
.customer-account-details #customerDetails p {
  margin: 0 !important;
}
.customer-account-details #customerDetails strong {
  display: block;
  color: var(--navy);
}
.customer-account-renewal {
  background: linear-gradient(135deg, #fffaf0, #fff);
  border: 1px solid rgba(214,160,48,.22);
  border-radius: 22px;
  padding: 20px;
}
.customer-account-renewal #customerNextPayment {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.customer-account-renewal .payment-highlight {
  order: 2;
}
@media (max-width: 900px) {
  .customer-account-summary-card {
    grid-template-columns: 1fr;
  }
  .customer-account-details #customerDetails {
    grid-template-columns: 1fr;
  }
}


/* Final compact customer account summary */
.customer-account-summary-card {
  padding: 26px 30px !important;
}
.customer-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);
  gap: 22px;
  align-items: stretch;
}
.customer-summary-section {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
  background: #fff;
}
.customer-summary-section > strong {
  display:block;
  font-size: 18px;
  margin-bottom: 12px;
}
#customerDetails {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
}
#customerDetails p {
  margin: 0 !important;
}
#customerDetails strong {
  display:block;
  margin-bottom:4px;
}
.next-payment-card #customerNextPayment {
  min-height: 100%;
}
.next-payment-card .payment-highlight {
  float: right;
  margin-left: 14px;
}
@media (max-width: 860px) {
  .customer-summary-grid {
    grid-template-columns: 1fr;
  }
  #customerDetails {
    grid-template-columns: 1fr;
  }
}


/* Final profile menu password social footer */
.customer-profile-menu {
  grid-area: logout !important;
  position: relative;
  align-self: center;
  justify-self: stretch;
}
.customer-profile-btn {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(255,255,255,.95);
  color: var(--navy);
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}
.customer-profile-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 190px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 8px;
  z-index: 20;
}
.customer-profile-dropdown button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 850;
  color: var(--navy);
  cursor: pointer;
}
.customer-profile-dropdown button:hover {
  background: #f8fafc;
}
.customer-password-panel {
  border: 1px solid var(--line);
}
.social-links {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.social-links a {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: #f8d36a;
  font-weight: 950;
  text-decoration: none;
}
.social-links a:hover {
  background: rgba(248,211,106,.16);
}


.social-links {
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:18px;
}
.social-links a {
  width:40px;
  height:40px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#f8d36a;
  transition:transform .2s ease, background .2s ease;
}
.social-links a:hover {
  transform:translateY(-2px);
  background:rgba(248,211,106,.16);
}
.social-links svg {
  width:20px;
  height:20px;
  fill:currentColor;
}

/* Final ordered service package cards */
.services-grid .service-card h3,
.service-detail-grid .detail-card h2 {
  letter-spacing: -0.02em;
}

/* Final customer portal compact card layout V5 */
.customer-dashboard {
  gap: 16px !important;
}
.customer-hero-card {
  padding: 22px 26px !important;
  margin-bottom: 0 !important;
}
.customer-welcome-copy h2 {
  font-size: clamp(28px, 3.2vw, 42px) !important;
}
.customer-welcome-copy .lead {
  font-size: clamp(16px, 1.4vw, 20px) !important;
}
.customer-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: -4px !important;
}
.customer-stat-card {
  min-height: 108px !important;
  padding: 18px 20px !important;
  border-radius: 20px !important;
}
.customer-account-summary-card,
.customer-smart-panel,
.customer-policies-panel {
  width: min(100%, 1480px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.customer-account-summary-card {
  padding: 20px 24px !important;
}
.customer-account-details > strong,
.customer-account-renewal > strong {
  font-size: 18px !important;
}
#customerDetails {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
}
#customerDetails p {
  font-size: 15px !important;
}
.customer-smart-panel,
.customer-policies-panel {
  padding: 24px !important;
}
.customer-insight-grid {
  min-height: 150px !important;
}
.customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
  gap: 16px !important;
}
.customer-policy-card {
  min-width: 0 !important;
}
@media (max-width: 980px) {
  .customer-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #customerDetails {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  .customer-stat-grid,
  #customerDetails {
    grid-template-columns: 1fr !important;
  }
  .customer-policy-card-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Customer portal V6 width correction: make cards wider, not the inner detail text crowded */
.customer-login-page .container,
.customer-dashboard,
.customer-login-page .customer-dashboard {
  max-width: 1520px !important;
}
.customer-login-page .customer-account-summary-card,
.customer-login-page .customer-smart-panel,
.customer-login-page .customer-policies-panel,
.customer-login-page .quote-panel.customer-account-summary-card {
  width: 100% !important;
  max-width: none !important;
}
.customer-summary-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
}
#customerDetails {
  display: block !important;
  max-width: 720px !important;
}
#customerDetails p {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.customer-stat-grid {
  margin-top: -8px !important;
}
.customer-policies-list,
.customer-insight-grid {
  width: 100% !important;
}
.customer-service-card {
  grid-template-columns: 60px minmax(220px, 1fr) repeat(3, minmax(140px, .5fr)) !important;
}
@media (max-width: 980px) {
  .customer-summary-grid { grid-template-columns: 1fr !important; }
  #customerDetails { max-width: none !important; }
  .customer-service-card { grid-template-columns: 1fr !important; }
}


/* V7 customer portal layout: top dashboard + stat cards together, panels wider but inner details compact */
.customer-login-page .container {
  max-width: 1680px !important;
}
.customer-dashboard {
  max-width: 1620px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 18px !important;
}
.customer-top-combo {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.customer-top-combo .customer-hero-card {
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
}
.customer-top-combo #customerQuickStats.customer-stat-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin: 0 !important;
  align-self: stretch !important;
}
.customer-top-combo .customer-stat-card {
  min-height: 0 !important;
  padding: 18px 20px !important;
}
.customer-login-page .customer-account-summary-card,
.customer-login-page .customer-smart-panel,
.customer-login-page .customer-policies-panel {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.customer-account-summary-card {
  display: grid !important;
  grid-template-columns: minmax(0, 700px) minmax(280px, 420px) !important;
  justify-content: start !important;
  gap: 26px !important;
  padding: 24px 30px !important;
}
#customerDetails {
  display: block !important;
  max-width: 580px !important;
}
#customerDetails p {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.customer-smart-panel,
.customer-policies-panel {
  padding: 28px 34px !important;
}
.customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(560px, 1fr)) !important;
  gap: 18px !important;
}
.customer-service-card,
.customer-policy-card {
  width: 100% !important;
  max-width: none !important;
}
.customer-service-card {
  grid-template-columns: 58px minmax(180px, 250px) 96px 110px 130px 78px !important;
  justify-content: start !important;
  column-gap: 18px !important;
}
.customer-service-card > * {
  min-width: 0 !important;
}
@media (max-width: 1200px) {
  .customer-top-combo {
    grid-template-columns: 1fr !important;
  }
  .customer-top-combo #customerQuickStats.customer-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .customer-account-summary-card {
    grid-template-columns: 1fr !important;
  }
  .customer-top-combo #customerQuickStats.customer-stat-grid {
    grid-template-columns: 1fr !important;
  }
  .customer-policy-card-grid {
    grid-template-columns: 1fr !important;
  }
  .customer-service-card {
    grid-template-columns: 1fr !important;
  }
}


/* V8 customer portal no wasted side space layout */
.customer-login-page .customer-login-hero {
  padding-top: 36px !important;
}
.customer-login-page .container {
  width: min(96vw, 1780px) !important;
  max-width: min(96vw, 1780px) !important;
}
.customer-portal-shell {
  width: 100% !important;
}
.customer-dashboard {
  gap: 18px !important;
  width: 100% !important;
}

/* Put dashboard card and the 3 summary cards together at the very top. */
.customer-top-combo {
  display: grid !important;
  grid-template-columns: minmax(560px, 1.8fr) repeat(3, minmax(190px, .55fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.customer-top-combo #customerQuickStats.customer-stat-grid {
  display: contents !important;
}
.customer-top-combo .customer-hero-card {
  min-height: 220px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 28px 34px !important;
  border-radius: 28px !important;
}
.customer-top-combo .customer-stat-card {
  min-height: 0 !important;
  height: 100% !important;
  padding: 20px 22px !important;
  display: grid !important;
  align-content: center !important;
}
.customer-top-combo .customer-stat-card strong {
  font-size: clamp(30px, 3vw, 44px) !important;
}
.customer-dashboard-tools {
  grid-template-columns: 58px minmax(190px, 240px) !important;
  grid-template-areas: "logout clock" !important;
  align-items: center !important;
}
.customer-dashboard-tools .mini-calendar,
#customerMiniCalendar,
#customerDate {
  display: none !important;
}
.customer-dashboard-tools .customer-clock-card {
  grid-area: clock !important;
  padding: 16px 18px !important;
  width: 100% !important;
}
.customer-clock-card h3 {
  margin: 4px 0 0 !important;
  font-size: clamp(24px, 2vw, 34px) !important;
}
.customer-profile-menu {
  grid-area: logout !important;
}

/* Wider cards, compact inner details. */
.customer-account-summary-card {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .72fr) minmax(360px, 1fr) !important;
  gap: 20px !important;
  padding: 22px 28px !important;
  border-radius: 28px !important;
}
.customer-account-details,
.customer-account-renewal {
  max-width: 620px !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 18px 20px !important;
  background: #fff !important;
}
#customerDetails {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 18px !important;
  max-width: none !important;
}
#customerDetails p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
#customerDetails strong {
  display: block !important;
  font-size: 13px !important;
  margin-bottom: 2px !important;
}
.payment-highlight {
  width: 72px !important;
  height: 72px !important;
  border-radius: 22px !important;
}

/* Repair opportunities: no cut-off carousel; fill the card width cleanly. */
.customer-smart-panel,
.customer-policies-panel {
  width: 100% !important;
  max-width: none !important;
  padding: 28px 32px !important;
  overflow: hidden !important;
}
.customer-insight-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  transform: none !important;
  animation: none !important;
  padding: 0 !important;
}
.customer-insight-card {
  min-height: 210px !important;
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
}
.customer-insight-quote-btn {
  width: 100% !important;
  margin-top: auto !important;
}

/* Enrolled domain cards fill the left/right gap but keep contents readable. */
.customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(620px, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
}
.customer-policy-card {
  grid-template-columns: 56px minmax(180px, 1.25fr) minmax(90px, .6fr) minmax(90px, .6fr) minmax(130px, .7fr) auto !important;
  gap: 14px !important;
  width: 100% !important;
}

@media (max-width: 1180px) {
  .customer-top-combo {
    grid-template-columns: 1fr !important;
  }
  .customer-top-combo #customerQuickStats.customer-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .customer-account-summary-card {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .customer-login-page .container {
    width: 94vw !important;
    max-width: 94vw !important;
  }
  .customer-top-combo #customerQuickStats.customer-stat-grid,
  #customerDetails,
  .customer-insight-grid,
  .customer-policy-card-grid {
    grid-template-columns: 1fr !important;
  }
  .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
}


/* V9 customer portal layout: expand ONLY after login, not the public login card. */
.customer-login-page .container {
  width: min(1180px, 92vw) !important;
  max-width: min(1180px, 92vw) !important;
}
#customerPortalPanel:not(.hidden) {
  width: min(96vw, 1780px) !important;
  max-width: min(96vw, 1780px) !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}
#customerPortalPanel.hidden {
  width: auto !important;
  transform: none !important;
}

/* Put dashboard and summary cards together, use horizontal space without huge side gaps. */
#customerPortalPanel .customer-top-combo {
  display: grid !important;
  grid-template-columns: minmax(720px, 1.55fr) minmax(240px, .48fr) minmax(240px, .48fr) minmax(240px, .48fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}
#customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
  display: contents !important;
}
#customerPortalPanel .customer-hero-card {
  min-height: 230px !important;
  padding: 30px 36px !important;
  margin: 0 !important;
  border-radius: 28px !important;
}
#customerPortalPanel .customer-top-combo .customer-stat-card {
  height: 100% !important;
  min-height: 0 !important;
  padding: 20px 22px !important;
  display: grid !important;
  align-content: center !important;
}
#customerPortalPanel .customer-dashboard-tools {
  grid-template-columns: 58px minmax(230px, 290px) !important;
  grid-template-areas: "logout clock" !important;
  align-items: center !important;
}
#customerPortalPanel #customerMiniCalendar,
#customerPortalPanel .mini-calendar {
  display: none !important;
}
#customerPortalPanel #customerDate {
  display: block !important;
  color: rgba(255,255,255,.82) !important;
  margin-top: 6px !important;
  font-weight: 750 !important;
}
#customerPortalPanel .customer-clock-card {
  grid-area: clock !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
}
#customerPortalPanel .customer-clock-card h3 {
  margin: 4px 0 0 !important;
  font-size: clamp(24px, 2vw, 34px) !important;
}

/* Compact attractive details card, but outer card stays wide. */
#customerPortalPanel .customer-account-summary-card {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(420px, .7fr) minmax(420px, 1fr) !important;
  gap: 20px !important;
  padding: 22px 28px !important;
  border-radius: 28px !important;
}
#customerPortalPanel .customer-account-details,
#customerPortalPanel .customer-account-renewal {
  max-width: 680px !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 18px 20px !important;
  background: #fff !important;
}
#customerPortalPanel #customerDetails {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 18px !important;
  max-width: none !important;
}
#customerPortalPanel #customerDetails p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
#customerPortalPanel #customerDetails strong {
  display: block !important;
  font-size: 13px !important;
  margin-bottom: 2px !important;
}

/* Opportunities should not be cut/corrupted. */
#customerPortalPanel .customer-smart-panel,
#customerPortalPanel .customer-policies-panel {
  width: 100% !important;
  max-width: none !important;
  padding: 28px 32px !important;
  overflow: hidden !important;
}
#customerPortalPanel .customer-insight-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  transform: none !important;
  animation: none !important;
  padding: 0 !important;
}
#customerPortalPanel .customer-insight-card {
  width: 100% !important;
  max-width: none !important;
  min-height: 205px !important;
}
#customerPortalPanel .customer-insight-quote-btn {
  width: 100% !important;
  margin-top: auto !important;
}

/* Policies and services: one full-width row, details in one line like earlier. */
#customerPortalPanel .customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  width: 100% !important;
}
#customerPortalPanel .customer-policy-card {
  display: grid !important;
  grid-template-columns: 58px minmax(260px, 1.4fr) minmax(130px, .55fr) minmax(130px, .55fr) minmax(190px, .75fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  width: 100% !important;
  padding: 18px 20px !important;
}
#customerPortalPanel .policy-card-main h3 {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#customerPortalPanel .policy-due {
  min-width: 185px !important;
}
#customerPortalPanel .policy-due strong {
  white-space: nowrap !important;
}
#customerPortalPanel .payment-highlight {
  width: 72px !important;
  height: 72px !important;
  border-radius: 22px !important;
}

@media (max-width: 1280px) {
  #customerPortalPanel .customer-top-combo {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  #customerPortalPanel .customer-account-summary-card,
  #customerPortalPanel .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid,
  #customerPortalPanel #customerDetails,
  #customerPortalPanel .customer-insight-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10 portal cleanup: expand logged-in portal only; keep login page normal and stop header overlap */
.customer-login-page .customer-login-hero {
  padding-top: 84px !important;
}
.customer-login-page .container {
  width: min(1180px, 92vw) !important;
  max-width: min(1180px, 92vw) !important;
}
#customerPortalPanel:not(.hidden) {
  width: min(94vw, 1520px) !important;
  max-width: min(94vw, 1520px) !important;
  margin: 0 auto !important;
  transform: none !important;
  padding-top: 18px !important;
}
#customerPortalPanel .customer-top-combo {
  display: grid !important;
  grid-template-columns: minmax(620px, 1.45fr) minmax(220px, .55fr) minmax(220px, .55fr) minmax(220px, .55fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-bottom: 18px !important;
}
#customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
  display: contents !important;
}
#customerPortalPanel .customer-hero-card {
  min-height: 230px !important;
  padding: 30px 36px !important;
  margin: 0 !important;
  border-radius: 30px !important;
}
#customerPortalPanel .customer-stat-card {
  height: 100% !important;
  padding: 20px 22px !important;
  display: grid !important;
  align-content: center !important;
}
#customerPortalPanel .customer-dashboard-tools {
  grid-template-columns: 58px minmax(230px, 290px) !important;
  grid-template-areas: "logout clock" !important;
}
#customerPortalPanel #customerMiniCalendar,
#customerPortalPanel .mini-calendar {
  display: none !important;
}
#customerPortalPanel #customerDate {
  display: block !important;
  color: rgba(255,255,255,.82) !important;
  margin-top: 6px !important;
  font-weight: 750 !important;
}
#customerPortalPanel .customer-clock-card {
  grid-area: clock !important;
  width: 100% !important;
  padding: 16px 18px !important;
}
#customerPortalPanel .customer-account-summary-card {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(380px, .7fr) minmax(420px, 1fr) !important;
  gap: 20px !important;
  padding: 22px 28px !important;
  border-radius: 28px !important;
}
#customerPortalPanel .customer-account-details,
#customerPortalPanel .customer-account-renewal {
  max-width: 620px !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 18px 20px !important;
  background: #fff !important;
}
#customerPortalPanel #customerDetails {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 18px !important;
}
#customerPortalPanel #customerDetails p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
#customerPortalPanel .customer-smart-panel,
#customerPortalPanel .customer-policies-panel {
  width: 100% !important;
  padding: 28px 32px !important;
  overflow: hidden !important;
  margin-top: 18px !important;
}
#customerPortalPanel .customer-insight-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  animation: none !important;
  transform: none !important;
  padding: 0 !important;
}
#customerPortalPanel .customer-insight-card {
  min-height: 205px !important;
  width: 100% !important;
}
#customerPortalPanel .customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
#customerPortalPanel .customer-policy-card {
  display: grid !important;
  grid-template-columns: 58px minmax(260px, 1.4fr) minmax(130px, .55fr) minmax(130px, .55fr) minmax(190px, .75fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px 20px !important;
}
#customerPortalPanel .policy-card-main h3,
#customerPortalPanel .policy-due strong {
  white-space: nowrap !important;
}
@media (max-width: 1280px) {
  #customerPortalPanel .customer-top-combo,
  #customerPortalPanel .customer-account-summary-card,
  #customerPortalPanel .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  #customerPortalPanel #customerDetails,
  #customerPortalPanel .customer-insight-grid,
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V11 customer portal cleanup */

/* Public login page: attractive, not congested, and not hidden under header. */
.customer-login-page .customer-login-hero {
  padding-top: 96px !important;
  padding-bottom: 72px !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(214,160,48,.16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}
.customer-login-page #customerLoginWrap:not(.hidden) {
  width: min(1180px, 92vw) !important;
  max-width: min(1180px, 92vw) !important;
  margin: 0 auto !important;
}
.customer-login-page #customerLoginWrap:not(.hidden) .customer-login-layout {
  display: grid !important;
  grid-template-columns: minmax(360px, 560px) minmax(360px, 520px) !important;
  gap: 34px !important;
  align-items: stretch !important;
  justify-content: center !important;
}
.customer-login-page #customerLoginWrap:not(.hidden) .customer-login-panel {
  padding: 38px 42px !important;
  border-radius: 30px !important;
  box-shadow: 0 26px 70px rgba(15,23,42,.12) !important;
}
.customer-login-page #customerLoginWrap:not(.hidden) .customer-login-panel h1 {
  font-size: clamp(36px, 4vw, 54px) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
  margin-bottom: 14px !important;
}
.login-intro-copy {
  max-width: 520px !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: var(--muted) !important;
  margin: 0 0 8px !important;
}
.login-support-copy {
  max-width: 500px !important;
  color: #64748b !important;
  margin: 0 0 18px !important;
  font-weight: 750 !important;
}
.customer-login-page #customerLoginWrap:not(.hidden) .login-journey-card {
  border-radius: 30px !important;
  padding: 38px !important;
  min-height: 100% !important;
}

/* Logged-in portal expansion only. No page-wide overflow. */
.customer-login-page #customerPortalPanel:not(.hidden) {
  width: min(94vw, 1480px) !important;
  max-width: min(94vw, 1480px) !important;
  margin: 0 auto !important;
  transform: none !important;
  position: relative !important;
  padding-top: 74px !important;
  overflow: visible !important;
}

/* Profile is outside the dashboard card at the top-right of the portal. */
.customer-portal-topbar {
  position: absolute !important;
  top: 12px !important;
  right: 0 !important;
  z-index: 20 !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.customer-portal-topbar .customer-profile-menu {
  position: relative !important;
  grid-area: auto !important;
}
.customer-portal-topbar .customer-profile-btn {
  width: 54px !important;
  height: 54px !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  color: var(--navy) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.14) !important;
}

/* Remove profile/minicalendar from inside dashboard tools; leave clock + date only. */
#customerPortalPanel .customer-dashboard-tools .customer-profile-menu,
#customerPortalPanel .customer-dashboard-tools .mini-calendar,
#customerPortalPanel #customerMiniCalendar {
  display: none !important;
}
#customerPortalPanel .customer-dashboard-tools {
  display: grid !important;
  grid-template-columns: minmax(230px, 300px) !important;
  grid-template-areas: "clock" !important;
  align-items: center !important;
}
#customerPortalPanel .customer-clock-card {
  grid-area: clock !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 18px 20px !important;
  border-radius: 22px !important;
}
#customerPortalPanel #customerDate {
  display: block !important;
  color: rgba(255,255,255,.82) !important;
  margin-top: 6px !important;
  font-weight: 750 !important;
}

/* Top row fits inside viewport; no clipping to the right. */
#customerPortalPanel .customer-top-combo {
  display: grid !important;
  grid-template-columns: minmax(520px, 1.35fr) repeat(3, minmax(190px, .45fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
#customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
  display: contents !important;
}
#customerPortalPanel .customer-hero-card {
  min-height: 240px !important;
  padding: 30px 34px !important;
  border-radius: 30px !important;
  margin: 0 !important;
}
#customerPortalPanel .customer-stat-card {
  min-height: 0 !important;
  height: 100% !important;
  padding: 20px 20px !important;
  display: grid !important;
  align-content: center !important;
}
#customerPortalPanel .customer-stat-card strong {
  font-size: clamp(30px, 2.8vw, 42px) !important;
}

/* Details are compact but outer cards use the available width. */
#customerPortalPanel .customer-account-summary-card {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .75fr) minmax(400px, 1fr) !important;
  gap: 20px !important;
  padding: 22px 26px !important;
  border-radius: 28px !important;
}
#customerPortalPanel .customer-account-details,
#customerPortalPanel .customer-account-renewal {
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 18px 20px !important;
  background: #fff !important;
  max-width: 620px !important;
}
#customerPortalPanel #customerDetails {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 18px !important;
}
#customerPortalPanel #customerDetails p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

/* Smart insights: grid only, no corrupted sideways carousel. */
#customerPortalPanel .customer-smart-panel,
#customerPortalPanel .customer-policies-panel {
  width: 100% !important;
  max-width: 100% !important;
  padding: 28px 30px !important;
  overflow: hidden !important;
}
#customerPortalPanel .customer-insight-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  transform: none !important;
  animation: none !important;
  overflow: visible !important;
  padding: 0 !important;
}
#customerPortalPanel .customer-insight-card {
  width: 100% !important;
  max-width: none !important;
  min-height: 205px !important;
}

/* Policies/services: single line row style. */
#customerPortalPanel .customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  width: 100% !important;
}
#customerPortalPanel .customer-policy-card {
  display: grid !important;
  grid-template-columns: 58px minmax(240px, 1.25fr) minmax(120px, .5fr) minmax(120px, .5fr) minmax(180px, .65fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  width: 100% !important;
  padding: 18px 20px !important;
}
#customerPortalPanel .policy-card-main h3,
#customerPortalPanel .policy-due strong {
  white-space: nowrap !important;
}

@media (max-width: 1250px) {
  #customerPortalPanel .customer-top-combo {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 860px) {
  .customer-login-page #customerLoginWrap:not(.hidden) .customer-login-layout,
  #customerPortalPanel .customer-account-summary-card,
  #customerPortalPanel .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel #customerDetails,
  #customerPortalPanel .customer-insight-grid,
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V12 restore: make only the login card nicer, center logged-in portal, and keep opportunities moving. */

/* Before login: remove the huge washed hero; focus on the secure login card. */
.customer-login-page #customerLoginScreen {
  display: none !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) {
  padding-top: 72px !important;
  padding-bottom: 76px !important;
  width: min(1180px, 92vw) !important;
  margin: 0 auto !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel {
  padding: 40px 42px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(214,160,48,.13), transparent 34%),
    #fff !important;
  box-shadow: 0 28px 70px rgba(15,23,42,.12) !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(214,160,48,.12) !important;
  color: #b67a00 !important;
  margin-bottom: 16px !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-kicker::before {
  content: "🔐";
  font-size: 14px;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-title {
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  margin: 0 0 14px !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-copy {
  max-width: 520px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  border: 1px solid var(--line) !important;
  color: #53657f !important;
  line-height: 1.48 !important;
  margin-bottom: 20px !important;
}

/* Logged-in portal: center it; equal left/right space; profile stays outside dashboard top-right. */
.customer-login-page #customerPortalPanel:not(.hidden) {
  width: min(94vw, 1500px) !important;
  max-width: min(94vw, 1500px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  padding-top: 72px !important;
  overflow: visible !important;
}
.customer-login-page .customer-portal-shell {
  width: min(94vw, 1500px) !important;
  max-width: min(94vw, 1500px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#customerPortalPanel .customer-portal-topbar {
  position: absolute !important;
  top: 10px !important;
  right: 0 !important;
  z-index: 30 !important;
}
#customerPortalPanel .customer-dashboard-tools .customer-profile-menu {
  display: none !important;
}

/* Top dashboard/cards should fit inside the centered portal, not spill off the right side. */
#customerPortalPanel .customer-top-combo {
  display: grid !important;
  grid-template-columns: minmax(560px, 1.35fr) repeat(3, minmax(210px, .55fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
#customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
  display: contents !important;
}
#customerPortalPanel .customer-hero-card {
  min-height: 235px !important;
  padding: 30px 34px !important;
  border-radius: 30px !important;
  margin: 0 !important;
}
#customerPortalPanel .customer-stat-card {
  height: 100% !important;
  min-width: 0 !important;
  padding: 20px 22px !important;
  display: grid !important;
  align-content: center !important;
}
#customerPortalPanel .customer-dashboard-tools {
  grid-template-columns: minmax(230px, 300px) !important;
  grid-template-areas: "clock" !important;
}
#customerPortalPanel .mini-calendar,
#customerPortalPanel #customerMiniCalendar {
  display: none !important;
}
#customerPortalPanel .customer-clock-card {
  grid-area: clock !important;
  width: 100% !important;
  padding: 18px 20px !important;
}
#customerPortalPanel #customerDate {
  display: block !important;
  color: rgba(255,255,255,.82) !important;
  margin-top: 6px !important;
  font-weight: 750 !important;
}

/* Keep your details compact; let the outer card occupy the available portal width. */
#customerPortalPanel .customer-account-summary-card {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .76fr) minmax(420px, 1fr) !important;
  gap: 20px !important;
  padding: 22px 26px !important;
  border-radius: 28px !important;
}
#customerPortalPanel .customer-account-details,
#customerPortalPanel .customer-account-renewal {
  max-width: 620px !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 18px 20px !important;
  background: #fff !important;
}
#customerPortalPanel #customerDetails {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px 18px !important;
}
#customerPortalPanel #customerDetails p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.32 !important;
}

/* Policies/services: single-row view like earlier. */
#customerPortalPanel .customer-policy-card-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
#customerPortalPanel .customer-policy-card {
  display: grid !important;
  grid-template-columns: 58px minmax(260px, 1.25fr) minmax(130px, .5fr) minmax(130px, .5fr) minmax(190px, .7fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 18px 20px !important;
}
#customerPortalPanel .policy-card-main h3,
#customerPortalPanel .policy-due strong {
  white-space: nowrap !important;
}

/* Smart opportunities: moving carousel restored, but contained cleanly. */
#customerPortalPanel .customer-smart-panel {
  overflow: hidden !important;
}
#customerPortalPanel #customerSmartInsights.customer-insight-grid.is-moving {
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  transform: none !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
  display: flex !important;
  width: max-content !important;
  gap: 16px !important;
  animation: corepointInsightMarquee 12s linear infinite !important;
  will-change: transform;
}
#customerPortalPanel #customerSmartInsights.is-moving:hover .insight-marquee-track {
  animation-play-state: paused !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .customer-insight-card {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-height: 210px !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .customer-insight-quote-btn {
  width: 100% !important;
  margin-top: auto !important;
}
@keyframes corepointInsightMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 8px)); }
}

@media (prefers-reduced-motion: reduce) {
  #customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
    animation: none !important;
  }
}
@media (max-width: 1280px) {
  #customerPortalPanel .customer-top-combo,
  #customerPortalPanel .customer-account-summary-card,
  #customerPortalPanel .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}
@media (max-width: 760px) {
  #customerPortalPanel #customerDetails,
  #customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V13 Next Due multi-service list + aligned policy due buckets */
#customerPortalPanel .customer-stat-card-due {
  align-content: start !important;
  gap: 8px !important;
}
#customerPortalPanel .customer-stat-card-due strong {
  font-size: clamp(30px, 2.4vw, 42px) !important;
  line-height: 1 !important;
}
#customerPortalPanel .customer-stat-card-due em {
  margin-bottom: 4px !important;
}
#customerPortalPanel .customer-due-mini-list {
  display: grid !important;
  gap: 7px !important;
  margin-top: 8px !important;
}
#customerPortalPanel .customer-due-mini-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  border: 1px solid var(--line) !important;
}
#customerPortalPanel .customer-due-mini-row span {
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--navy) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#customerPortalPanel .customer-due-mini-row small {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 800 !important;
}
#customerPortalPanel .customer-due-mini-row b {
  font-size: 11px !important;
  border-radius: 999px !important;
  padding: 5px 7px !important;
  background: #eef2ff !important;
  color: #273b74 !important;
  white-space: nowrap !important;
}
#customerPortalPanel .customer-due-mini-row b.past,
#customerPortalPanel .customer-stat-card-due.is-past .customer-due-mini-row b {
  background: #fff1f2 !important;
  color: #b42318 !important;
}

/* Renewal details card: show multiple services compactly instead of only one. */
#customerPortalPanel .customer-renewal-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
#customerPortalPanel .customer-renewal-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
}
#customerPortalPanel .customer-renewal-row.is-past {
  border-color: #fecaca !important;
  background: #fff7f7 !important;
}
#customerPortalPanel .customer-renewal-row strong,
#customerPortalPanel .customer-renewal-row span {
  display: block !important;
}
#customerPortalPanel .customer-renewal-row strong {
  font-size: 14px !important;
}
#customerPortalPanel .customer-renewal-row span {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 800 !important;
  margin-top: 2px !important;
}
#customerPortalPanel .customer-renewal-row b {
  font-size: 12px !important;
  border-radius: 999px !important;
  padding: 7px 10px !important;
  background: #fee2e2 !important;
  color: #b42318 !important;
  white-space: nowrap !important;
}

/* Align all policy/renewal buckets in the same columns. */
#customerPortalPanel .customer-policy-card {
  grid-template-columns: 58px minmax(240px, 1.05fr) 170px 170px 230px 92px !important;
  column-gap: 18px !important;
}
#customerPortalPanel .policy-card-meta,
#customerPortalPanel .policy-due,
#customerPortalPanel .policy-status {
  justify-self: stretch !important;
}
#customerPortalPanel .policy-due {
  width: 230px !important;
  min-width: 230px !important;
  max-width: 230px !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
#customerPortalPanel .policy-status {
  justify-self: end !important;
  width: 86px !important;
  text-align: center !important;
}
@media (max-width: 1100px) {
  #customerPortalPanel .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .policy-due,
  #customerPortalPanel .policy-status {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}


/* V14 due window + compact next-due card fix */

/* Only the important +/-7 day items show; make the stat card readable, not huge/truncated. */
#customerPortalPanel .customer-stat-card-due {
  padding: 18px 18px !important;
  align-content: center !important;
}
#customerPortalPanel .customer-stat-card-due strong {
  font-size: clamp(28px, 2.4vw, 40px) !important;
  margin-bottom: 2px !important;
}
#customerPortalPanel .customer-stat-card-due em {
  font-size: 14px !important;
  line-height: 1.25 !important;
}
#customerPortalPanel .customer-due-mini-list {
  margin-top: 10px !important;
  gap: 8px !important;
}
#customerPortalPanel .customer-due-mini-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  gap: 2px 8px !important;
  align-items: center !important;
  padding: 9px 10px !important;
  border-radius: 15px !important;
}
#customerPortalPanel .customer-due-mini-row span {
  grid-column: 1 !important;
  grid-row: 1 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  max-height: 2.3em !important;
}
#customerPortalPanel .customer-due-mini-row small {
  grid-column: 1 !important;
  grid-row: 2 !important;
  font-size: 12px !important;
}
#customerPortalPanel .customer-due-mini-row b {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  font-size: 12px !important;
  padding: 7px 9px !important;
}

/* Renewal detail card: compact rows for only +/-7 day due items. */
#customerPortalPanel .customer-renewal-list {
  gap: 8px !important;
  margin-top: 10px !important;
}
#customerPortalPanel .customer-renewal-row {
  min-height: 0 !important;
  padding: 10px 12px !important;
  border-radius: 15px !important;
}
#customerPortalPanel .customer-renewal-row strong {
  font-size: 14px !important;
  line-height: 1.2 !important;
}
#customerPortalPanel .customer-renewal-row b {
  font-size: 12px !important;
  padding: 7px 10px !important;
}

/* Keep all policy card renewal buckets aligned and slightly left from the status pill. */
#customerPortalPanel .customer-policy-card {
  grid-template-columns: 58px minmax(240px, 1.1fr) 160px 160px 220px 92px !important;
  column-gap: 16px !important;
}
#customerPortalPanel .policy-due {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  justify-self: start !important;
}
#customerPortalPanel .policy-status {
  justify-self: end !important;
}
@media (max-width: 1100px) {
  #customerPortalPanel .customer-policy-card {
    grid-template-columns: 1fr !important;
  }
  #customerPortalPanel .policy-due {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


/* V15: 45-day due window label support */
#customerPortalPanel .customer-stat-card-due .customer-due-mini-row b {
  min-width: 86px !important;
  text-align: center !important;
}


/* V16 clickable dashboard summary cards + faster opportunities */
#customerPortalPanel .customer-stat-jump {
  border: 1px solid var(--line) !important;
  cursor: pointer !important;
  text-align: left !important;
  font-family: inherit !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
#customerPortalPanel .customer-stat-jump:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 46px rgba(15,23,42,.12) !important;
  border-color: rgba(214,160,48,.55) !important;
}
#customerPortalPanel .customer-stat-jump:focus-visible {
  outline: 3px solid rgba(214,160,48,.45) !important;
  outline-offset: 3px !important;
}
#customerPortalPanel .customer-section-highlight {
  animation: corepointSectionPulse 1.15s ease !important;
}
@keyframes corepointSectionPulse {
  0% { box-shadow: 0 0 0 0 rgba(214,160,48,.0); }
  30% { box-shadow: 0 0 0 6px rgba(214,160,48,.22); }
  100% { box-shadow: 0 0 0 0 rgba(214,160,48,.0); }
}
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
  animation-duration: 12s !important;
}


/* V20: faster customer portal opportunity carousel */
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
  animation-duration: 12s !important;
}


/* V21 customer portal opportunities: faster continuous loop, no empty gap */
#customerPortalPanel #customerSmartInsights.customer-insight-grid.is-moving {
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  width: max-content !important;
  animation: corepointInsightMarqueeNoGap 8s linear infinite !important;
  will-change: transform !important;
}
#customerPortalPanel #customerSmartInsights.is-moving:hover .insight-marquee-track {
  animation-play-state: paused !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .customer-insight-card {
  flex: 0 0 285px !important;
  width: 285px !important;
}
@keyframes corepointInsightMarqueeNoGap {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(calc(-50% - 7px), 0, 0); }
}


/* V22: continuous fast customer opportunities carousel — six repeated sets, no empty finish */
#customerPortalPanel #customerSmartInsights.customer-insight-grid.is-moving {
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  width: max-content !important;
  animation: corepointInsightMarqueeSixSet 6s linear infinite !important;
  will-change: transform !important;
}
#customerPortalPanel #customerSmartInsights.is-moving:hover .insight-marquee-track {
  animation-play-state: paused !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .customer-insight-card {
  flex: 0 0 285px !important;
  width: 285px !important;
}
@keyframes corepointInsightMarqueeSixSet {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(calc(-16.6667% - 2.333px),0,0); }
}


/* V25 customer 2FA disable UI */
#customerDisable2faBtn { color: #b42318 !important; }
#customerDisable2faPanel { border-color: rgba(180,35,24,.18) !important; }
#customerDisable2faPanel .section-kicker { color: #b42318 !important; }


/* V26 footer logo cleanup: use original colored logo; no invert/filter blur */
.footer-logo {
  width: 260px !important;
  max-width: 100% !important;
  height: auto !important;
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto !important;
  transform: translateZ(0);
}


/* V27 footer logo: white tagline for dark footer, no blur filter */
.footer-logo {
  width: 270px !important;
  max-width: 100% !important;
  height: auto !important;
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto !important;
}


/* V29 footer logo: original logo image rendered as-is, not rebuilt with HTML text */
.footer .footer-logo {
  display: block !important;
  width: 300px !important;
  max-width: min(100%, 300px) !important;
  height: auto !important;
  aspect-ratio: 1400 / 240 !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  image-rendering: auto !important;
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
}
.footer-brand-logo,
.footer-brand-mark,
.footer-brand-text {
  display: none !important;
}
@media (max-width: 520px) {
  .footer .footer-logo {
    width: 260px !important;
    max-width: 100% !important;
  }
}


/* Service segment pages and carousel upgrade */
.service-segment-grid .segment-card,
.segment-card{
  display:block;
  text-decoration:none;
  color:inherit;
}
.segment-card .service-link{
  display:inline-flex;
  align-items:center;
  margin-top:4px;
  font-weight:900;
  color:var(--blue);
}
.service-index-card{min-height:310px;}
.service-number{
  position:absolute;
  right:22px;
  top:20px;
  font-size:42px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.08em;
  color:rgba(6,20,42,.09);
}
.service-page-hero .hero-actions{margin-top:28px;}
.service-page-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
}
.service-carousel{
  background:#06142a;
  border-radius:34px;
  padding:14px;
  box-shadow:var(--shadow);
  overflow:hidden;
  border:1px solid rgba(214,162,50,.28);
}
.carousel-frame{
  position:relative;
  min-height:430px;
  border-radius:25px;
  overflow:hidden;
  background:#071326;
}
.carousel-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.02);
  transition:opacity .45s ease, transform .45s ease;
  margin:0;
}
.carousel-slide.is-active{opacity:1;transform:scale(1);z-index:1;}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.carousel-slide figcaption{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:2;
  color:#fff;
  background:rgba(6,20,42,.74);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  border-radius:18px;
  padding:14px 16px;
  font-weight:850;
}
.carousel-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 8px 2px;
}
.carousel-controls button{
  border:0;
  cursor:pointer;
}
.carousel-controls [data-carousel-prev],
.carousel-controls [data-carousel-next]{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:var(--navy);
  font-size:30px;
  font-weight:900;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}
.carousel-dots{display:flex;gap:9px;align-items:center;justify-content:center;}
.carousel-dot{
  width:10px;
  height:10px;
  border-radius:99px;
  background:rgba(255,255,255,.35);
  transition:.25s ease;
}
.carousel-dot.is-active{width:34px;background:var(--gold-2);}
.service-overview-card h2,
.service-info-layout h2{color:var(--navy);font-size:clamp(26px,3vw,38px);line-height:1.08;margin:0 0 14px;}
.service-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;}
.service-metric{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--line);border-radius:18px;padding:14px;text-align:center;}
.service-metric strong{display:block;font-size:24px;color:var(--navy);font-weight:950;letter-spacing:-.04em;}
.service-metric span{display:block;color:var(--muted);font-size:12px;font-weight:850;}
.check-list{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:11px;color:var(--muted);}
.check-list li{position:relative;padding-left:32px;line-height:1.45;}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:999px;background:rgba(214,162,50,.16);color:var(--navy);display:grid;place-items:center;font-weight:950;font-size:13px;}
.service-info-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:stretch;}
.service-graphic-card{overflow:hidden;position:relative;background:linear-gradient(145deg,#fff,#f8fafc);}
.graphic-orbit{height:210px;border-radius:28px;background:radial-gradient(circle at center,rgba(248,213,107,.26),transparent 38%),linear-gradient(135deg,var(--navy),#12366b);display:grid;place-items:center;position:relative;margin-bottom:22px;overflow:hidden;}
.graphic-orbit span{font-size:68px;z-index:2;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28));}
.graphic-orbit i{position:absolute;border-radius:999px;border:2px solid rgba(255,255,255,.24);}
.graphic-orbit i:nth-child(2){width:140px;height:140px;}
.graphic-orbit i:nth-child(3){width:230px;height:110px;transform:rotate(-25deg);}
.graphic-orbit i:nth-child(4){width:290px;height:160px;transform:rotate(28deg);}
.service-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.service-tags span{background:#eff6ff;color:var(--navy);border:1px solid #dbeafe;border-radius:999px;padding:8px 11px;font-weight:850;font-size:13px;}
.process-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.process-list li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;color:var(--muted);}
.process-list span{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--gold-2),var(--gold));display:grid;place-items:center;color:var(--navy);font-weight:950;}
.process-list strong{color:var(--text);line-height:1.35;}
.service-deep-dive{display:grid;grid-template-columns:1fr .75fr;gap:28px;align-items:center;position:relative;}
.service-feature-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:30px;box-shadow:0 18px 38px rgba(0,0,0,.14);}
.service-feature-panel h3{margin:0 0 10px;color:#fff;font-size:28px;}
.service-feature-panel p{color:#d8e6ff;margin:0 0 20px;}
.related-services{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow-soft);}
.related-services h2{margin:0;color:var(--navy);font-size:clamp(28px,3vw,40px);}
.related-service-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.related-service-links a{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:999px;padding:11px 15px;color:var(--navy);font-weight:900;text-decoration:none;}
.related-service-links a:hover{border-color:rgba(214,162,50,.55);box-shadow:0 12px 24px rgba(6,20,42,.08);}
@media (max-width:1060px){
  .service-page-grid,.service-info-layout,.service-deep-dive{grid-template-columns:1fr;}
  .carousel-frame{min-height:390px;}
  .related-services{align-items:flex-start;flex-direction:column;}
  .related-service-links{justify-content:flex-start;}
}
@media (max-width:620px){
  .carousel-frame{min-height:280px;}
  .carousel-slide figcaption{left:12px;right:12px;bottom:12px;font-size:13px;}
  .service-metrics{grid-template-columns:1fr;}
  .service-index-card{min-height:auto;}
}

/* Photo-style service carousel update */
.photo-banner-carousel {
  background: #06142a;
}
.photo-banner-carousel .carousel-frame {
  aspect-ratio: 2048 / 688;
  min-height: 300px;
  max-height: 430px;
}
.photo-banner-carousel .carousel-slide img {
  object-fit: contain;
  background: #f8fafc;
}
.photo-banner-carousel .carousel-slide figcaption {
  display: none;
}
@media (max-width: 620px) {
  .photo-banner-carousel .carousel-frame {
    min-height: 185px;
  }
}



/* Showcase carousel cards for all service pages */
.showcase-carousel{
  background:#06142a;
  border-radius:34px;
  padding:16px 16px 10px;
  border:1px solid rgba(214,162,50,.24);
  box-shadow:var(--shadow);
}
.showcase-carousel .carousel-frame{
  min-height:360px;
  background:#eff4fa;
  border:10px solid #0a1f43;
  border-radius:30px;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.showcase-slide{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.showcase-bg,
.showcase-tone,
.showcase-watermark{position:absolute;inset:0;}
.showcase-bg{
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}
.showcase-tone{
  background:linear-gradient(90deg,rgba(6,20,42,.92) 0%,rgba(6,20,42,.78) 38%,rgba(6,20,42,.28) 70%,rgba(6,20,42,.08) 100%);
}
.showcase-watermark{
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:26px 28px;
  color:rgba(255,255,255,.22);
  font-size:62px;
  line-height:.88;
  font-weight:950;
  letter-spacing:-.06em;
  text-align:right;
  white-space:pre-line;
  text-transform:uppercase;
  pointer-events:none;
}
.showcase-panel{
  position:relative;
  z-index:2;
  width:min(470px,calc(100% - 44px));
  margin:28px 0 0 28px;
  background:rgba(6,20,42,.72);
  border:2px solid var(--showcase-accent,#8fd14f);
  border-radius:24px;
  padding:24px 26px 22px;
  backdrop-filter:blur(10px);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  color:#fff;
}
.showcase-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
  font-weight:900;
}
.showcase-panel h3{
  margin:8px 0 0;
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:.92;
  letter-spacing:-.04em;
  font-weight:950;
}
.showcase-panel h3 em{
  display:block;
  font-style:normal;
  color:var(--showcase-accent,#8fd14f);
}
.showcase-divider{
  width:175px;
  height:4px;
  border-radius:999px;
  background:var(--showcase-accent,#8fd14f);
  margin:12px 0 14px;
}
.showcase-panel p{
  margin:0 0 16px;
  color:#f3f7ff;
  line-height:1.42;
  font-size:16px;
  max-width:390px;
}
.showcase-pills{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.showcase-pills li{
  position:relative;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.12);
  padding:9px 14px 9px 38px;
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
}
.showcase-pills li:before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--showcase-accent,#8fd14f);
  box-shadow:0 0 0 5px rgba(143,209,79,.18);
}
.showcase-badge{
  position:absolute;
  right:22px;
  bottom:18px;
  z-index:2;
  width:min(280px,calc(100% - 44px));
  background:rgba(255,255,255,.95);
  border:1px solid rgba(6,20,42,.1);
  border-radius:22px;
  padding:14px 16px;
  color:var(--navy);
  box-shadow:0 16px 28px rgba(6,20,42,.14);
}
.showcase-badge strong{
  display:block;
  margin-bottom:5px;
  color:var(--showcase-accent-deep,#4d8e16);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:950;
}
.showcase-badge span{
  display:block;
  color:var(--navy);
  font-size:14px;
  line-height:1.38;
  font-weight:800;
}
.showcase-theme-auto{--showcase-accent:#8fd14f;--showcase-accent-deep:#5d9225;}
.showcase-theme-business{--showcase-accent:#7dc7ff;--showcase-accent-deep:#1f5f95;}
.showcase-theme-health{--showcase-accent:#8fd14f;--showcase-accent-deep:#5f8d2d;}
.showcase-theme-life{--showcase-accent:#f3c96f;--showcase-accent-deep:#9c6a00;}
.showcase-theme-dental{--showcase-accent:#69d6d3;--showcase-accent-deep:#0a7b78;}
.showcase-theme-tax{--showcase-accent:#8fd14f;--showcase-accent-deep:#4e8d1a;}
.showcase-theme-medicare{--showcase-accent:#8cc4ff;--showcase-accent-deep:#2d6ca8;}
.showcase-theme-retirement{--showcase-accent:#f1cc73;--showcase-accent-deep:#a8780a;}

.showcase-bg-business-1{background-image:radial-gradient(circle at 80% 18%,rgba(255,255,255,.28) 0,rgba(255,255,255,0) 22%),linear-gradient(135deg,#0a1d3d 0%,#15376f 50%,#274f90 100%);}
.showcase-bg-business-2{background-image:radial-gradient(circle at 84% 22%,rgba(125,199,255,.35) 0,rgba(125,199,255,0) 18%),linear-gradient(135deg,#08172f 0%,#12325e 45%,#1f4a7f 100%);}
.showcase-bg-business-3{background-image:radial-gradient(circle at 72% 25%,rgba(255,255,255,.22) 0,rgba(255,255,255,0) 19%),linear-gradient(135deg,#0b2146 0%,#1c3963 50%,#305b8f 100%);}
.showcase-bg-life-1{background-image:radial-gradient(circle at 78% 20%,rgba(243,201,111,.28) 0,rgba(243,201,111,0) 18%),linear-gradient(135deg,#07182f 0%,#173761 52%,#35507e 100%);}
.showcase-bg-life-2{background-image:radial-gradient(circle at 82% 20%,rgba(243,201,111,.26) 0,rgba(243,201,111,0) 20%),linear-gradient(135deg,#0a1830 0%,#19355d 48%,#2a4f79 100%);}
.showcase-bg-life-3{background-image:radial-gradient(circle at 84% 20%,rgba(243,201,111,.22) 0,rgba(243,201,111,0) 20%),linear-gradient(135deg,#09162b 0%,#14345a 50%,#28486d 100%);}
.showcase-bg-dental-1{background-image:radial-gradient(circle at 80% 22%,rgba(105,214,211,.24) 0,rgba(105,214,211,0) 18%),linear-gradient(135deg,#082034 0%,#0f4663 52%,#1f768c 100%);}
.showcase-bg-dental-2{background-image:radial-gradient(circle at 78% 18%,rgba(105,214,211,.28) 0,rgba(105,214,211,0) 18%),linear-gradient(135deg,#0a2030 0%,#11465d 50%,#27737f 100%);}
.showcase-bg-dental-3{background-image:radial-gradient(circle at 82% 20%,rgba(105,214,211,.22) 0,rgba(105,214,211,0) 20%),linear-gradient(135deg,#082334 0%,#0f495f 50%,#2a7680 100%);}
.showcase-bg-tax-1{background-image:radial-gradient(circle at 82% 20%,rgba(143,209,79,.22) 0,rgba(143,209,79,0) 18%),linear-gradient(135deg,#081931 0%,#13345d 50%,#245378 100%);}
.showcase-bg-tax-2{background-image:radial-gradient(circle at 80% 22%,rgba(143,209,79,.26) 0,rgba(143,209,79,0) 18%),linear-gradient(135deg,#0a1e37 0%,#173d63 52%,#285c74 100%);}
.showcase-bg-tax-3{background-image:radial-gradient(circle at 78% 22%,rgba(143,209,79,.2) 0,rgba(143,209,79,0) 19%),linear-gradient(135deg,#081932 0%,#12375f 50%,#1d5877 100%);}
.showcase-bg-medicare-1{background-image:radial-gradient(circle at 82% 20%,rgba(140,196,255,.26) 0,rgba(140,196,255,0) 18%),linear-gradient(135deg,#08192e 0%,#12355d 52%,#295b83 100%);}
.showcase-bg-medicare-2{background-image:radial-gradient(circle at 80% 18%,rgba(140,196,255,.28) 0,rgba(140,196,255,0) 20%),linear-gradient(135deg,#09182c 0%,#103257 52%,#2f5378 100%);}
.showcase-bg-medicare-3{background-image:radial-gradient(circle at 84% 22%,rgba(140,196,255,.24) 0,rgba(140,196,255,0) 18%),linear-gradient(135deg,#081a31 0%,#13365d 50%,#245f81 100%);}
.showcase-bg-retirement-1{background-image:radial-gradient(circle at 82% 20%,rgba(241,204,115,.28) 0,rgba(241,204,115,0) 18%),linear-gradient(135deg,#07172d 0%,#17335d 50%,#35557d 100%);}
.showcase-bg-retirement-2{background-image:radial-gradient(circle at 80% 18%,rgba(241,204,115,.24) 0,rgba(241,204,115,0) 19%),linear-gradient(135deg,#08182f 0%,#153660 50%,#2d5078 100%);}
.showcase-bg-retirement-3{background-image:radial-gradient(circle at 84% 20%,rgba(241,204,115,.22) 0,rgba(241,204,115,0) 20%),linear-gradient(135deg,#091a30 0%,#163a64 50%,#32547e 100%);}

@media (max-width:1060px){
  .showcase-carousel .carousel-frame{min-height:330px;}
  .showcase-panel{width:min(420px,calc(100% - 34px));margin:18px 0 0 18px;padding:22px 20px;}
  .showcase-watermark{font-size:50px;padding:20px;}
  .showcase-badge{right:16px;bottom:14px;width:min(240px,calc(100% - 32px));}
}
@media (max-width:720px){
  .showcase-carousel .carousel-frame{min-height:430px;}
  .showcase-tone{background:linear-gradient(180deg,rgba(6,20,42,.9) 0%,rgba(6,20,42,.72) 48%,rgba(6,20,42,.35) 100%);}
  .showcase-panel{width:calc(100% - 30px);margin:14px 15px 0;padding:18px 16px 18px;}
  .showcase-panel h3{font-size:30px;}
  .showcase-panel p,.showcase-pills li{font-size:14px;}
  .showcase-divider{width:130px;}
  .showcase-watermark{justify-content:flex-start;align-items:flex-end;padding:20px 16px;font-size:42px;opacity:.45;}
  .showcase-badge{position:relative;right:auto;bottom:auto;margin:12px 15px 15px;width:auto;}
  .carousel-controls{padding:12px 4px 2px;}
}
@media (max-width:620px){
  .showcase-carousel{padding:12px 12px 8px;}
  .showcase-carousel .carousel-frame{min-height:440px;border-width:8px;border-radius:24px;}
  .showcase-panel h3{font-size:26px;}
  .showcase-kicker{font-size:11px;}
  .showcase-watermark{font-size:34px;}
}


/* Generated carousel banners */
.generated-photo-carousel{
  background:#06142a;
  border-radius:34px;
  padding:14px;
  box-shadow:var(--shadow);
  overflow:hidden;
  border:1px solid rgba(214,162,50,.28);
}
.generated-photo-carousel .carousel-frame{
  min-height:430px;
  border-radius:25px;
  overflow:hidden;
  background:#071326;
}
.generated-photo-carousel .carousel-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.generated-photo-carousel .carousel-slide figcaption{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  margin:0;
  background:rgba(6,20,42,.70);
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.18);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  max-width:calc(100% - 36px);
}
@media (max-width:1060px){
  .generated-photo-carousel .carousel-frame{min-height:390px;}
}
@media (max-width:620px){
  .generated-photo-carousel .carousel-frame{min-height:270px;}
  .generated-photo-carousel .carousel-slide figcaption{font-size:12px;padding:8px 12px;left:12px;bottom:12px;max-width:calc(100% - 24px);} 
}


/* Final fitted generated carousel override V35 */
.generated-photo-carousel{
  position:relative;
  display:flex;
  flex-direction:column;
  background:#06142a;
  border-radius:34px;
  padding:14px;
  box-shadow:var(--shadow);
  overflow:hidden;
  border:1px solid rgba(214,162,50,.30);
  min-height:560px;
}
.generated-photo-carousel .carousel-frame{
  position:relative;
  flex:1 1 auto;
  width:100%;
  min-height:500px;
  height:100%;
  border-radius:25px;
  overflow:hidden;
  background:#071326;
}
.generated-photo-carousel .carousel-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .45s ease, transform .45s ease;
  margin:0;
}
.generated-photo-carousel .carousel-slide.is-active{
  opacity:1;
  transform:scale(1);
  z-index:1;
}
.generated-photo-carousel .carousel-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.generated-photo-carousel .carousel-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(6,20,42,.88) 0%,rgba(6,20,42,.72) 43%,rgba(6,20,42,.20) 74%,rgba(6,20,42,.05) 100%),
    linear-gradient(180deg,rgba(6,20,42,.08) 0%,rgba(6,20,42,.05) 48%,rgba(6,20,42,.62) 100%);
  pointer-events:none;
}
.generated-photo-carousel .slide-content-panel{
  position:absolute;
  z-index:2;
  left:28px;
  top:28px;
  bottom:auto;
  width:min(430px,calc(100% - 56px));
  max-width:58%;
  border-radius:24px;
  padding:24px 24px 22px;
  color:#fff;
  background:rgba(6,20,42,.76);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  font-weight:normal;
}
.generated-photo-carousel .slide-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  color:var(--gold-2);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:950;
}
.generated-photo-carousel .slide-content-panel strong{
  display:block;
  color:#fff;
  font-size:clamp(26px,3.2vw,40px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:950;
  margin:0 0 12px;
}
.generated-photo-carousel .slide-content-panel p{
  color:#eaf2ff;
  line-height:1.42;
  font-size:16px;
  margin:0 0 15px;
  max-width:380px;
}
.generated-photo-carousel .slide-content-panel ul{
  list-style:none;
  display:grid;
  gap:8px;
  margin:0 0 17px;
  padding:0;
}
.generated-photo-carousel .slide-content-panel li{
  position:relative;
  color:#fff;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
  padding:9px 12px 9px 34px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.12);
}
.generated-photo-carousel .slide-content-panel li::before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--gold-2);
  box-shadow:0 0 0 5px rgba(248,213,107,.14);
}
.generated-photo-carousel .slide-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:11px 16px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#06142a;
  font-size:14px;
  font-weight:950;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.generated-photo-carousel .carousel-controls{
  position:absolute;
  z-index:5;
  left:28px;
  right:28px;
  bottom:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0;
  pointer-events:none;
}
.generated-photo-carousel .carousel-controls button,
.generated-photo-carousel .carousel-dots{
  pointer-events:auto;
}
.generated-photo-carousel .carousel-controls [data-carousel-prev],
.generated-photo-carousel .carousel-controls [data-carousel-next]{
  width:48px;
  height:48px;
}
.generated-photo-carousel .carousel-dots{
  border-radius:999px;
  padding:8px 11px;
  background:rgba(6,20,42,.58);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
}
@media (max-width:1060px){
  .generated-photo-carousel{
    min-height:520px;
  }
  .generated-photo-carousel .carousel-frame{
    min-height:490px;
  }
  .generated-photo-carousel .slide-content-panel{
    max-width:65%;
  }
}
@media (max-width:720px){
  .generated-photo-carousel{
    min-height:520px;
    padding:12px;
  }
  .generated-photo-carousel .carousel-frame{
    min-height:496px;
    border-radius:22px;
  }
  .generated-photo-carousel .carousel-slide::after{
    background:
      linear-gradient(180deg,rgba(6,20,42,.86) 0%,rgba(6,20,42,.68) 52%,rgba(6,20,42,.60) 100%);
  }
  .generated-photo-carousel .slide-content-panel{
    left:16px;
    top:16px;
    width:calc(100% - 32px);
    max-width:none;
    padding:18px 17px;
    border-radius:20px;
  }
  .generated-photo-carousel .slide-content-panel strong{
    font-size:27px;
  }
  .generated-photo-carousel .slide-content-panel p,
  .generated-photo-carousel .slide-content-panel li{
    font-size:13px;
  }
  .generated-photo-carousel .carousel-controls{
    left:18px;
    right:18px;
    bottom:18px;
  }
}
@media (max-width:620px){
  .generated-photo-carousel{
    min-height:500px;
  }
  .generated-photo-carousel .carousel-frame{
    min-height:476px;
  }
  .generated-photo-carousel .slide-content-panel ul{
    gap:7px;
  }
}


/* Final fitted generated carousel override V36 */
.generated-photo-carousel{
  min-height:560px;
  padding:12px;
  border-radius:34px;
}
.generated-photo-carousel .carousel-frame{
  min-height:510px;
  border-radius:28px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.generated-photo-carousel .carousel-slide{
  transform:scale(1.008);
}
.generated-photo-carousel .carousel-slide.is-active{
  transform:scale(1);
}
.generated-photo-carousel .carousel-slide img{
  object-fit:cover;
  object-position:center center;
  filter:contrast(1.03) saturate(1.04);
}
.generated-photo-carousel .carousel-slide::after{
  background:
    radial-gradient(circle at 18% 78%, rgba(6,20,42,.38) 0%, rgba(6,20,42,.18) 28%, rgba(6,20,42,0) 52%),
    linear-gradient(180deg, rgba(6,20,42,.04) 0%, rgba(6,20,42,.02) 46%, rgba(6,20,42,.38) 100%);
}
.generated-photo-carousel .slide-content-panel{
  left:18px;
  bottom:76px;
  top:auto;
  width:min(360px, calc(100% - 36px));
  max-width:44%;
  padding:16px 16px 14px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(6,20,42,.56), rgba(6,20,42,.34));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(4px);
  box-shadow:0 12px 24px rgba(0,0,0,.15);
}
.generated-photo-carousel .slide-kicker{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.16em;
}
.generated-photo-carousel .slide-content-panel strong{
  font-size:clamp(22px,2.4vw,30px);
  line-height:1.02;
  margin:0 0 9px;
}
.generated-photo-carousel .slide-content-panel p{
  font-size:14px;
  line-height:1.38;
  margin:0 0 12px;
  max-width:100%;
}
.generated-photo-carousel .slide-content-panel ul{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}
.generated-photo-carousel .slide-content-panel li{
  padding:8px 12px 8px 28px;
  font-size:12px;
  font-weight:800;
  line-height:1.15;
  background:rgba(255,255,255,.14);
}
.generated-photo-carousel .slide-content-panel li::before{
  left:11px;
  width:8px;
  height:8px;
  box-shadow:0 0 0 4px rgba(248,213,107,.12);
}
.generated-photo-carousel .slide-cta{
  padding:9px 13px;
  font-size:13px;
  box-shadow:0 10px 18px rgba(0,0,0,.12);
}
.generated-photo-carousel .carousel-controls{
  left:18px;
  right:18px;
  bottom:16px;
}
.generated-photo-carousel .carousel-dots{
  padding:7px 10px;
  background:rgba(6,20,42,.46);
}
.generated-photo-carousel .carousel-controls [data-carousel-prev],
.generated-photo-carousel .carousel-controls [data-carousel-next]{
  width:44px;
  height:44px;
}
@media (max-width:1100px){
  .generated-photo-carousel .slide-content-panel{max-width:50%;}
}
@media (max-width:820px){
  .generated-photo-carousel{min-height:530px;}
  .generated-photo-carousel .carousel-frame{min-height:486px;}
  .generated-photo-carousel .slide-content-panel{
    max-width:60%;
    bottom:70px;
  }
}
@media (max-width:720px){
  .generated-photo-carousel{min-height:500px;}
  .generated-photo-carousel .carousel-frame{min-height:456px;}
  .generated-photo-carousel .slide-content-panel{
    left:14px;
    right:14px;
    width:auto;
    max-width:none;
    bottom:68px;
    padding:14px 14px 13px;
  }
  .generated-photo-carousel .slide-content-panel strong{
    font-size:24px;
  }
  .generated-photo-carousel .slide-content-panel p{font-size:13px;}
}
@media (max-width:560px){
  .generated-photo-carousel{min-height:480px;}
  .generated-photo-carousel .carousel-frame{min-height:438px;}
  .generated-photo-carousel .slide-content-panel ul{gap:6px;}
  .generated-photo-carousel .slide-content-panel li{font-size:11px;padding:7px 10px 7px 25px;}
}


/* Final fitted generated carousel override V37 */
.generated-photo-carousel{
  min-height:auto !important;
  padding:12px !important;
}
.generated-photo-carousel .carousel-frame{
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  border-radius:28px !important;
  background:#071326 !important;
}
.generated-photo-carousel .carousel-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
}
.generated-photo-carousel .carousel-slide::after{
  background:linear-gradient(180deg, rgba(6,20,42,0) 0%, rgba(6,20,42,0) 58%, rgba(6,20,42,.50) 100%) !important;
}
.generated-photo-carousel .slide-content-panel{
  top:auto !important;
  left:14px !important;
  right:14px !important;
  bottom:72px !important;
  width:auto !important;
  max-width:none !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(6,20,42,.18), rgba(6,20,42,.55)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.generated-photo-carousel .slide-kicker{
  font-size:10px !important;
  margin:0 0 4px !important;
}
.generated-photo-carousel .slide-content-panel strong{
  font-size:clamp(18px,2vw,24px) !important;
  margin:0 0 4px !important;
  line-height:1.05 !important;
}
.generated-photo-carousel .slide-content-panel p{
  font-size:12px !important;
  line-height:1.32 !important;
  margin:0 !important;
  max-width:92% !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.generated-photo-carousel .slide-content-panel ul,
.generated-photo-carousel .slide-content-panel .slide-cta{
  display:none !important;
}
.generated-photo-carousel .carousel-controls{
  left:16px !important;
  right:16px !important;
  bottom:16px !important;
}
.generated-photo-carousel .carousel-dots{
  background:rgba(6,20,42,.58) !important;
}
@media (max-width:720px){
  .generated-photo-carousel .slide-content-panel{
    bottom:68px !important;
    padding:11px 12px !important;
  }
  .generated-photo-carousel .slide-content-panel strong{font-size:18px !important;}
  .generated-photo-carousel .slide-content-panel p{font-size:11px !important;max-width:100% !important;}
}


/* Final high-resolution clean carousel V38 */
.generated-photo-carousel{
  padding:12px !important;
  border-radius:34px !important;
  background:#06142a !important;
  min-height:auto !important;
}
.generated-photo-carousel .carousel-frame{
  aspect-ratio:4 / 3 !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:#071326 !important;
}
.generated-photo-carousel .carousel-slide{
  inset:0 !important;
  transform:none !important;
}
.generated-photo-carousel .carousel-slide.is-active{
  transform:none !important;
}
.generated-photo-carousel .carousel-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:none !important;
  image-rendering:auto !important;
  transform:none !important;
}
.generated-photo-carousel .carousel-slide::after{
  background:linear-gradient(180deg, rgba(6,20,42,0) 0%, rgba(6,20,42,0) 58%, rgba(6,20,42,.55) 100%) !important;
}
.generated-photo-carousel .slide-content-panel{
  top:auto !important;
  left:18px !important;
  right:18px !important;
  bottom:76px !important;
  width:auto !important;
  max-width:none !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  background:rgba(6,20,42,.48) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.generated-photo-carousel .slide-kicker{
  font-size:10px !important;
  letter-spacing:.15em !important;
  margin:0 0 3px !important;
  color:var(--gold-2) !important;
}
.generated-photo-carousel .slide-content-panel strong{
  font-size:clamp(18px,2.1vw,25px) !important;
  line-height:1.05 !important;
  margin:0 0 3px !important;
  color:#fff !important;
}
.generated-photo-carousel .slide-content-panel p{
  font-size:12px !important;
  line-height:1.28 !important;
  margin:0 !important;
  color:#eef5ff !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.generated-photo-carousel .slide-content-panel ul,
.generated-photo-carousel .slide-content-panel .slide-cta{
  display:none !important;
}
.generated-photo-carousel .carousel-controls{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  z-index:5 !important;
  padding:0 !important;
}
.generated-photo-carousel .carousel-dots{
  background:rgba(6,20,42,.55) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  backdrop-filter:none !important;
}
@media (max-width:720px){
  .generated-photo-carousel .slide-content-panel{
    left:12px !important;
    right:12px !important;
    bottom:68px !important;
    padding:10px 12px !important;
  }
  .generated-photo-carousel .slide-content-panel strong{font-size:18px !important;}
  .generated-photo-carousel .slide-content-panel p{font-size:11px !important;}
  .generated-photo-carousel .carousel-controls{left:14px !important;right:14px !important;bottom:14px !important;}
}


/* V41 client portal page-only idle logout warning */
.customer-idle-warning{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(18px);
  z-index:99999;
  width:min(720px,calc(100vw - 32px));
  background:#06142a;
  color:#fff;
  border:1px solid rgba(248,213,107,.65);
  border-radius:16px;
  padding:14px 18px;
  box-shadow:0 24px 60px rgba(6,20,42,.24);
  opacity:0;
  pointer-events:none;
  transition:.22s ease;
  font-size:14px;
  line-height:1.35;
}
.customer-idle-warning.is-visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.customer-idle-warning strong{color:var(--gold-2);}

.required{color:#b42318;font-weight:900;}


/* V44 customer portal due carousel + compact renewal grid + all-domain quote opportunities */
#customerPortalPanel .customer-due-mini-list {
  max-height: 172px !important;
  overflow: hidden !important;
  position: relative !important;
}
#customerPortalPanel .customer-due-mini-track {
  display: grid !important;
  gap: 8px !important;
}
#customerPortalPanel .customer-due-mini-list.is-moving .customer-due-mini-track {
  animation: corepointDueVerticalLoop 9s linear infinite !important;
  will-change: transform !important;
}
#customerPortalPanel .customer-due-mini-list.is-moving:hover .customer-due-mini-track {
  animation-play-state: paused !important;
}
@keyframes corepointDueVerticalLoop {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, -50%, 0); }
}

#customerPortalPanel .customer-account-renewal {
  min-width: 0 !important;
}
#customerPortalPanel .customer-renewal-list.customer-renewal-list-compact {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
#customerPortalPanel .customer-renewal-list-compact .customer-renewal-row {
  min-height: 0 !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 8px !important;
}
#customerPortalPanel .customer-renewal-list-compact .customer-renewal-row strong {
  font-size: 13px !important;
  line-height: 1.16 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#customerPortalPanel .customer-renewal-list-compact .customer-renewal-row span {
  font-size: 11px !important;
  margin-top: 1px !important;
}
#customerPortalPanel .customer-renewal-list-compact .customer-renewal-row b {
  font-size: 11px !important;
  padding: 6px 8px !important;
  min-width: 64px !important;
  text-align: center !important;
}
#customerPortalPanel .customer-insight-card.is-enrolled {
  border-color: rgba(22, 163, 74, .22) !important;
  background: linear-gradient(180deg, #fff, #f8fff9) !important;
}
#customerPortalPanel .customer-insight-badge {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  border-radius: 999px !important;
  padding: 5px 9px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #0f5132 !important;
  background: #dcfce7 !important;
  margin: 2px 0 10px !important;
}
#customerPortalPanel .customer-insight-card:not(.is-enrolled) .customer-insight-badge {
  color: #854d0e !important;
  background: #fef3c7 !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .customer-insight-card {
  display: flex !important;
  flex-direction: column !important;
}
#customerPortalPanel #customerSmartInsights.is-moving .customer-insight-card p {
  flex: 1 1 auto !important;
}
@media (max-width: 760px) {
  #customerPortalPanel .customer-renewal-list.customer-renewal-list-compact {
    grid-template-columns: 1fr !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #customerPortalPanel .customer-due-mini-list.is-moving .customer-due-mini-track {
    animation: none !important;
  }
}


/* V45 customer portal: slower opportunity carousel + status colors */
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
  animation: corepointInsightMarqueeSixSet 30s linear infinite !important;
}
#customerPortalPanel #customerSmartInsights.is-moving:hover .insight-marquee-track {
  animation-play-state: paused !important;
}
#customerPortalPanel .policy-status {
  border: 1px solid transparent !important;
}
#customerPortalPanel .policy-status.policy-status-active {
  background: #dcfce7 !important;
  color: #027a48 !important;
  border-color: #bbf7d0 !important;
}
#customerPortalPanel .policy-status.policy-status-expired {
  background: #fee2e2 !important;
  color: #b42318 !important;
  border-color: #fecaca !important;
}
#customerPortalPanel .policy-status.policy-status-pending {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}
#customerPortalPanel .policy-status.policy-status-inactive {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border-color: #e2e8f0 !important;
}
#customerPortalPanel .customer-policy-card.is-expired {
  border-color: rgba(220, 38, 38, .26) !important;
  background: linear-gradient(135deg, #fff, #fff7f7) !important;
}
#customerPortalPanel .customer-policy-card.is-pending {
  border-color: rgba(217, 119, 6, .28) !important;
  background: linear-gradient(135deg, #fff, #fffbeb) !important;
}
@media (prefers-reduced-motion: reduce) {
  #customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track {
    animation: none !important;
  }
}


/* V46 force customer portal carousel speed + status colors */
@keyframes corepointInsightMarqueeV46Slow {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(calc(-16.6667% - 2.333px),0,0); }
}
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
#customerSmartInsights.is-moving .insight-marquee-track {
  animation: corepointInsightMarqueeV46Slow 95s linear infinite !important;
  animation-duration: 95s !important;
}
#customerPortalPanel .policy-status.policy-status-expired,
.policy-status.policy-status-expired {
  background: #fee2e2 !important;
  background-color: #fee2e2 !important;
  color: #b42318 !important;
  border: 1px solid #fecaca !important;
}
#customerPortalPanel .policy-status.policy-status-pending,
.policy-status.policy-status-pending {
  background: #fef3c7 !important;
  background-color: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
}
#customerPortalPanel .policy-status.policy-status-active,
.policy-status.policy-status-active {
  background: #dcfce7 !important;
  background-color: #dcfce7 !important;
  color: #027a48 !important;
  border: 1px solid #bbf7d0 !important;
}
#customerPortalPanel .policy-status.policy-status-inactive,
.policy-status.policy-status-inactive {
  background: #f1f5f9 !important;
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}
#customerPortalPanel .customer-policy-card.is-expired,
.customer-policy-card.is-expired {
  border-color: rgba(220, 38, 38, .32) !important;
  background: linear-gradient(135deg, #fff, #fff5f5) !important;
}
#customerPortalPanel .customer-policy-card.is-pending,
.customer-policy-card.is-pending {
  border-color: rgba(217, 119, 6, .32) !important;
  background: linear-gradient(135deg, #fff, #fffbeb) !important;
}


/* V47 hard override: customer portal status colors and JS-driven slow opportunities */
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
#customerSmartInsights.is-moving .insight-marquee-track{
  animation:none!important;
  animation-name:none!important;
  transition:none!important;
  will-change:transform!important;
}
#customerPortalPanel .policy-status.policy-status-expired,
.policy-status.policy-status-expired,
#customerPortalPanel .customer-policy-card.is-expired .policy-status,
.customer-policy-card.is-expired .policy-status{
  background:#fee2e2!important;
  background-color:#fee2e2!important;
  color:#b42318!important;
  border:1px solid #fecaca!important;
  box-shadow:none!important;
}
#customerPortalPanel .policy-status.policy-status-pending,
.policy-status.policy-status-pending,
#customerPortalPanel .customer-policy-card.is-pending .policy-status,
.customer-policy-card.is-pending .policy-status{
  background:#fef3c7!important;
  background-color:#fef3c7!important;
  color:#92400e!important;
  border:1px solid #fde68a!important;
  box-shadow:none!important;
}
#customerPortalPanel .policy-status.policy-status-active,
.policy-status.policy-status-active{
  background:#dcfce7!important;
  background-color:#dcfce7!important;
  color:#027a48!important;
  border:1px solid #bbf7d0!important;
}
#customerPortalPanel .policy-status.policy-status-inactive,
.policy-status.policy-status-inactive{
  background:#f1f5f9!important;
  background-color:#f1f5f9!important;
  color:#475569!important;
  border:1px solid #e2e8f0!important;
}


/* V48 no-hang customer portal fixes */
@keyframes corepointV48OpportunitySlow {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-16.666666%,0,0); }
}
#customerPortalPanel #customerSmartInsights.v48-slow-carousel .insight-marquee-track,
#customerSmartInsights.v48-slow-carousel .insight-marquee-track,
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
#customerSmartInsights.is-moving .insight-marquee-track {
  animation-name: corepointV48OpportunitySlow !important;
  animation-duration: 360s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  transition: none !important;
}
#customerPortalPanel .policy-status.policy-status-expired,
.policy-status.policy-status-expired,
#customerPortalPanel .policy-status[data-corepoint-status="Expired"],
.policy-status[data-corepoint-status="Expired"],
#customerPortalPanel .policy-status[data-corepoint-status-category="expired"],
.policy-status[data-corepoint-status-category="expired"],
#customerPortalPanel .customer-policy-card.is-expired .policy-status,
.customer-policy-card.is-expired .policy-status {
  background: #fee2e2 !important;
  background-color: #fee2e2 !important;
  color: #b42318 !important;
  border: 1px solid #fecaca !important;
  box-shadow: none !important;
}
#customerPortalPanel .policy-status.policy-status-pending,
.policy-status.policy-status-pending,
#customerPortalPanel .policy-status[data-corepoint-status-category="pending"],
.policy-status[data-corepoint-status-category="pending"],
#customerPortalPanel .customer-policy-card.is-pending .policy-status,
.customer-policy-card.is-pending .policy-status {
  background: #fef3c7 !important;
  background-color: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
  box-shadow: none !important;
}
#customerPortalPanel .policy-status.policy-status-active,
.policy-status.policy-status-active,
#customerPortalPanel .policy-status[data-corepoint-status-category="active"],
.policy-status[data-corepoint-status-category="active"] {
  background: #dcfce7 !important;
  background-color: #dcfce7 !important;
  color: #027a48 !important;
  border: 1px solid #bbf7d0 !important;
  box-shadow: none !important;
}
#customerPortalPanel .policy-status.policy-status-inactive,
.policy-status.policy-status-inactive,
#customerPortalPanel .policy-status[data-corepoint-status-category="inactive"],
.policy-status[data-corepoint-status-category="inactive"] {
  background: #f1f5f9 !important;
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: none !important;
}


/* V50: continuous faster opportunity carousel + forced status colors */
@keyframes corepointV49OpportunitySlow {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(calc(-16.6667% - 2.333px),0,0); }
}
#customerPortalPanel #customerSmartInsights.v49-slow-carousel .insight-marquee-track,
#customerSmartInsights.v49-slow-carousel .insight-marquee-track,
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
#customerSmartInsights.is-moving .insight-marquee-track {
  animation: corepointV49OpportunitySlow 55s linear infinite !important;
  animation-name: corepointV49OpportunitySlow !important;
  animation-duration: 55s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
  transition: none !important;
  will-change: transform !important;
}
#customerPortalPanel #customerSmartInsights.v49-slow-carousel:hover .insight-marquee-track,
#customerSmartInsights.v49-slow-carousel:hover .insight-marquee-track,
#customerPortalPanel #customerSmartInsights.is-moving:hover .insight-marquee-track,
#customerSmartInsights.is-moving:hover .insight-marquee-track {
  animation-play-state: running !important;
}
@media (prefers-reduced-motion: reduce) {
  #customerPortalPanel #customerSmartInsights.v49-slow-carousel .insight-marquee-track,
  #customerSmartInsights.v49-slow-carousel .insight-marquee-track,
  #customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
  #customerSmartInsights.is-moving .insight-marquee-track {
    animation: corepointV49OpportunitySlow 55s linear infinite !important;
    animation-play-state: running !important;
  }
}
#customerPortalPanel .policy-status.policy-status-expired,
.policy-status.policy-status-expired,
#customerPortalPanel .policy-status[data-corepoint-status="Expired"],
.policy-status[data-corepoint-status="Expired"],
#customerPortalPanel .policy-status[data-corepoint-status-category="expired"],
.policy-status[data-corepoint-status-category="expired"],
#customerPortalPanel .customer-policy-card.is-expired .policy-status,
.customer-policy-card.is-expired .policy-status {
  background: #fee2e2 !important;
  background-color: #fee2e2 !important;
  color: #b42318 !important;
  border: 1px solid #fecaca !important;
  box-shadow: none !important;
}
#customerPortalPanel .policy-status.policy-status-pending,
.policy-status.policy-status-pending,
#customerPortalPanel .policy-status[data-corepoint-status-category="pending"],
.policy-status[data-corepoint-status-category="pending"],
#customerPortalPanel .customer-policy-card.is-pending .policy-status,
.customer-policy-card.is-pending .policy-status {
  background: #fef3c7 !important;
  background-color: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
  box-shadow: none !important;
}
#customerPortalPanel .policy-status.policy-status-active,
.policy-status.policy-status-active,
#customerPortalPanel .policy-status[data-corepoint-status-category="active"],
.policy-status[data-corepoint-status-category="active"] {
  background: #dcfce7 !important;
  background-color: #dcfce7 !important;
  color: #027a48 !important;
  border: 1px solid #bbf7d0 !important;
  box-shadow: none !important;
}
#customerPortalPanel .customer-policy-card.is-expired,
.customer-policy-card.is-expired,
#customerPortalPanel .customer-policy-card[data-corepoint-status-category="expired"],
.customer-policy-card[data-corepoint-status-category="expired"] {
  border-color: rgba(220, 38, 38, .32) !important;
  background: linear-gradient(135deg, #fff, #fff5f5) !important;
}

/* V51: final customer portal carousel speed override */
#customerPortalPanel #customerSmartInsights.v49-slow-carousel .insight-marquee-track,
#customerSmartInsights.v49-slow-carousel .insight-marquee-track,
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
#customerSmartInsights.is-moving .insight-marquee-track {
  animation-duration: 55s !important;
}


/* V52: faster customer portal opportunity carousel + pause on hover */
:root { --corepoint-opportunity-carousel-speed: 32s; }
@keyframes corepointV52OpportunityFaster {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(calc(-16.6667% - 2.333px), 0, 0); }
}
#customerPortalPanel #customerSmartInsights.v49-slow-carousel .insight-marquee-track,
#customerSmartInsights.v49-slow-carousel .insight-marquee-track,
#customerPortalPanel #customerSmartInsights.is-moving .insight-marquee-track,
#customerSmartInsights.is-moving .insight-marquee-track {
  animation: corepointV52OpportunityFaster var(--corepoint-opportunity-carousel-speed) linear infinite !important;
  animation-name: corepointV52OpportunityFaster !important;
  animation-duration: var(--corepoint-opportunity-carousel-speed) !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
  transition: none !important;
  will-change: transform !important;
}
#customerPortalPanel #customerSmartInsights.v49-slow-carousel:hover .insight-marquee-track,
#customerSmartInsights.v49-slow-carousel:hover .insight-marquee-track,
#customerPortalPanel #customerSmartInsights.is-moving:hover .insight-marquee-track,
#customerSmartInsights.is-moving:hover .insight-marquee-track {
  animation-play-state: paused !important;
}


/* V57: Corepoint popup modal, policy effective/renewal dates, and fitted Auto/Home carousel cards */
.corepoint-modal-open{overflow:hidden;}
.corepoint-site-modal.hidden{display:none!important;}
.corepoint-site-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:22px;}
.corepoint-site-modal-backdrop{position:absolute;inset:0;background:rgba(6,20,42,.62);backdrop-filter:blur(8px);}
.corepoint-site-modal-card{position:relative;z-index:1;width:min(520px,calc(100vw - 32px));border-radius:28px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(6,20,42,.12);box-shadow:0 32px 90px rgba(6,20,42,.32);padding:26px;}
.corepoint-site-modal-x{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(6,20,42,.12);background:#fff;color:#06142a;font-size:24px;font-weight:900;cursor:pointer;}
.corepoint-site-modal-kicker{margin:0 0 8px!important;color:#1b67d6!important;}
.corepoint-site-modal-card h3{margin:0 34px 10px 0;color:#06142a;font-size:24px;line-height:1.15;}
.corepoint-site-modal-card p{margin:0;color:#64748b;font-weight:700;line-height:1.55;}
.corepoint-site-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap;}
.corepoint-site-modal-actions .btn{min-width:110px;}
@media (max-width:560px){.corepoint-site-modal-card{padding:22px 18px;border-radius:22px}.corepoint-site-modal-actions{display:grid}.corepoint-site-modal-actions .btn{width:100%}}

#customerPortalPanel .customer-policy-card{grid-template-columns:58px minmax(210px,.95fr) minmax(170px,.65fr) minmax(300px,1.15fr) 92px!important;column-gap:16px!important;align-items:center!important;}
#customerPortalPanel .policy-card-meta-group{display:grid;gap:10px;}
#customerPortalPanel .policy-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
#customerPortalPanel .policy-date-item{border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px 11px;min-width:0;}
#customerPortalPanel .policy-date-item span{display:block;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.075em;white-space:nowrap;}
#customerPortalPanel .policy-date-item strong{display:block;color:var(--navy);font-size:13px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#customerPortalPanel .policy-date-due.urgent{background:#fff2f2;border-color:#fecaca;}
#customerPortalPanel .policy-date-due.urgent strong{color:#b42318;}
@media (max-width:1180px){#customerPortalPanel .customer-policy-card{grid-template-columns:1fr!important}.policy-card-meta-group,#customerPortalPanel .policy-date-grid{grid-template-columns:1fr 1fr!important}.policy-status{justify-self:start!important;width:auto!important}}
@media (max-width:640px){#customerPortalPanel .policy-card-meta-group,#customerPortalPanel .policy-date-grid{grid-template-columns:1fr!important}}

.generated-photo-carousel .carousel-frame{aspect-ratio:4 / 3!important;background:#06142a!important;}
.generated-photo-carousel .carousel-slide img{object-fit:cover!important;object-position:center center!important;}


/* V59: make auto/home real photo carousels fit cards properly */
.service-photo-fit-carousel{
  min-height: unset !important;
}
.service-photo-fit-carousel .carousel-frame{
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 34px !important;
  background: #0b1b33 !important;
}
.service-photo-fit-carousel .carousel-slide,
.service-photo-fit-carousel .carousel-slide.is-active{
  inset: 0 !important;
}
.service-photo-fit-carousel .carousel-slide img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}
.auto-card-carousel .carousel-slide:nth-child(1) img{object-position:center center !important;}
.auto-card-carousel .carousel-slide:nth-child(2) img{object-position:center 42% !important;}
.auto-card-carousel .carousel-slide:nth-child(3) img{object-position:center center !important;}
.home-card-carousel .carousel-slide:nth-child(1) img{object-position:center 38% !important;}
.home-card-carousel .carousel-slide:nth-child(2) img{object-position:center center !important;}
.home-card-carousel .carousel-slide:nth-child(3) img{object-position:center 38% !important;}
.service-photo-fit-carousel .slide-content-panel{
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  max-width: calc(100% - 36px) !important;
  border-radius: 22px !important;
  padding: 16px 18px !important;
}
.service-photo-fit-carousel .carousel-controls{
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
}
@media (max-width: 1024px){
  .service-photo-fit-carousel .carousel-frame{
    aspect-ratio: 1 / 1 !important;
    border-radius: 28px !important;
  }
}
@media (max-width: 768px){
  .service-photo-fit-carousel .carousel-frame{
    aspect-ratio: 1 / 1 !important;
    border-radius: 24px !important;
  }
  .service-photo-fit-carousel .slide-content-panel{
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    padding: 14px 16px !important;
  }
}
@media (max-width: 520px){
  .service-photo-fit-carousel .carousel-frame{
    aspect-ratio: 1 / 1 !important;
    border-radius: 20px !important;
  }
  .service-photo-fit-carousel .slide-content-panel{
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: calc(100% - 24px) !important;
    padding: 12px 14px !important;
  }
}


/* V60: customer login UI refresh + 2FA prompt overlap fix */
.customer-login-page .section-white{
  background: linear-gradient(180deg,#f8fbff 0%, #ffffff 34%, #f8fafc 100%) !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden){
  padding-top: 42px !important;
  padding-bottom: 52px !important;
  width: min(1160px, 92vw) !important;
  gap: 22px !important;
  align-items: start !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel{
  padding: 28px 28px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(6,20,42,.08) !important;
  box-shadow: 0 24px 60px rgba(15,23,42,.10) !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-kicker,
.customer-login-info-card .section-kicker{
  font-size: 12px !important;
  letter-spacing: .08em !important;
  margin-bottom: 12px !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-title{
  font-size: clamp(28px, 3vw, 34px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 12px !important;
}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-copy{
  max-width: none !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  margin-bottom: 16px !important;
  font-size: 14px !important;
}
.customer-login-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin: 14px 0 4px;
}
.customer-login-trust span,
.customer-setup-chip{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(6,20,42,.10);
  color: #214163;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(6,20,42,.05);
}
.customer-login-page .field label{font-size: 13px !important;font-weight:800 !important;}
.customer-login-page .field input{
  min-height: 52px !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
}
.customer-login-page .customer-login-actions{gap:10px !important;margin-top: 6px !important;}
.customer-login-page .customer-login-actions .btn{min-height:48px !important;padding: 12px 18px !important;}
.customer-login-info-card{
  padding: 28px !important;
  border-radius: 28px !important;
  min-height: 100%;
  display:grid;
  gap: 16px;
  align-content: start;
}
.customer-login-info-card h3{
  font-size: clamp(24px, 3vw, 30px) !important;
  line-height: 1.08 !important;
  margin: 0 !important;
}
.customer-info-lead{
  margin: 0 !important;
  color: rgba(255,255,255,.82) !important;
  line-height: 1.6 !important;
  font-size: 14px !important;
}
.customer-benefit-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.customer-benefit-item{
  padding: 14px 15px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
.customer-benefit-item strong{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:4px;
}
.customer-benefit-item span{
  display:block;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  line-height:1.55;
}
.compact-steps{margin: 0;padding: 0;display:grid;gap: 10px;list-style:none;}
.compact-steps li{
  display:grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
.compact-steps li strong{
  width:34px;height:34px;border-radius:999px;display:grid;place-items:center;
  background: var(--gold); color:#071326; font-size: 14px; font-weight:900;
}
.compact-steps li span{font-size:13px;line-height:1.5;color:rgba(255,255,255,.82);}
.customer-help-box{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 16px;border-radius:18px;background:rgba(248,213,107,.12);border:1px solid rgba(248,213,107,.22);
}
.customer-help-box span{color:#fff;font-weight:700;font-size:13px;}
.customer-help-box a{color:var(--gold);font-weight:900;}
#customerTwoFactorSetup,
#customerPasswordPanel,
#customerDisable2faPanel{
  max-width: min(100%, 1100px) !important;
  margin: 0 auto !important;
  border-radius: 28px !important;
  padding: 24px !important;
}
#customerTwoFactorSetup h3,
#customerPasswordPanel h3,
#customerDisable2faPanel h3{
  font-size: 28px !important;
  line-height:1.1 !important;
  margin-bottom: 10px !important;
}
#customerTwoFactorSetup .section-copy,
#customerDisable2faPanel .section-copy{
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
}
.customer-setup-badge-row{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px 0;
}
.customer-2fa-grid{
  grid-template-columns: minmax(210px, 240px) minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
.customer-qr-box{
  display:grid;place-items:center;padding:16px;border-radius:24px;background:#f8fbff;border:1px solid var(--line);
}
.customer-qr-box img{
  width:min(100%, 190px) !important;
  height:auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.customer-2fa-fields{
  gap: 12px !important;
  align-content: start !important;
}
.customer-2fa-fields label{
  font-size: 13px !important;
}
.customer-2fa-fields input{
  min-height: 50px !important;
  border-radius: 16px !important;
}
#customerManualKey{
  font-size: 13px !important;
  letter-spacing: .04em !important;
  word-break: break-all !important;
}
.customer-2fa-actions{gap: 10px !important;align-items:center !important;}
.customer-2fa-actions .btn{min-height:46px !important;padding: 11px 16px !important;}
.customer-login-page .field-hint{font-size:12px !important;line-height:1.55 !important;}
.corepoint-site-modal{z-index:2147483647 !important; padding: 18px !important;}
.corepoint-site-modal-card{max-height:min(88vh, 760px) !important;overflow:auto !important;}
#customerPortalPanel .customer-portal-topbar{z-index: 20 !important;}
.customer-profile-dropdown{z-index: 25 !important;}
@media (max-width: 1060px){
  .customer-login-page #customerPublicLoginArea:not(.hidden){padding-top: 30px !important;padding-bottom: 38px !important;}
  .customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel,
  .customer-login-info-card{padding: 22px !important;}
}
@media (max-width: 820px){
  .customer-login-page #customerPublicLoginArea:not(.hidden){width:min(94vw, 680px) !important;}
  .customer-2fa-grid{grid-template-columns: 1fr !important;}
  .customer-qr-box{max-width: 260px;margin:0 auto;}
}
@media (max-width: 560px){
  .customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-title{font-size: 26px !important;}
  .customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel,
  .customer-login-info-card,
  #customerTwoFactorSetup,
  #customerPasswordPanel,
  #customerDisable2faPanel{padding: 18px !important;border-radius: 22px !important;}
  .customer-help-box{align-items:flex-start;}
  .customer-2fa-actions{display:grid !important;}
  .customer-2fa-actions .btn{width:100% !important;}
  .corepoint-site-modal-card{padding: 20px !important;border-radius: 22px !important;}
}


/* V63 final: stable real-photo carousel filenames, faster JPGs, card-fit safeguards */
.service-photo-fit-carousel .carousel-frame{
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 34px !important;
}
.service-photo-fit-carousel .carousel-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.auto-card-carousel .carousel-slide:nth-child(1) img{object-position:center center !important;}
.auto-card-carousel .carousel-slide:nth-child(2) img{object-position:center 45% !important;}
.auto-card-carousel .carousel-slide:nth-child(3) img{object-position:center center !important;}
.home-card-carousel .carousel-slide:nth-child(1) img{object-position:center 40% !important;}
.home-card-carousel .carousel-slide:nth-child(2) img{object-position:center center !important;}
.home-card-carousel .carousel-slide:nth-child(3) img{object-position:center 40% !important;}
.customer-login-page #customerPublicLoginArea:not(.hidden) .customer-login-panel .section-title{font-size:clamp(28px,3vw,34px)!important;}
.customer-login-page #customerPublicLoginArea:not(.hidden){padding-top:42px!important;padding-bottom:52px!important;}
.corepoint-site-modal{z-index:2147483647!important;}
.corepoint-site-modal-card{max-height:min(88vh,760px)!important;overflow:auto!important;}
@media(max-width:560px){.service-photo-fit-carousel .carousel-frame{border-radius:22px!important}.customer-login-page #customerPublicLoginArea:not(.hidden){padding-top:24px!important}}


/* V64: polished Google Authenticator modal, no button overlap/clipping */
.corepoint-modal-open{overflow:hidden!important;}
.corepoint-site-modal.hidden{display:none!important;}
.corepoint-site-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
}
.corepoint-site-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(7,19,38,.64)!important;
  backdrop-filter:blur(10px)!important;
}
.corepoint-site-modal-card{
  position:relative!important;
  z-index:1!important;
  width:min(92vw, 520px)!important;
  max-width:520px!important;
  max-height:min(88vh, 720px)!important;
  overflow:auto!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(248,213,107,.22), transparent 33%),
    linear-gradient(180deg,#ffffff 0%, #f8fbff 100%)!important;
  border:1px solid rgba(6,20,42,.12)!important;
  box-shadow:0 34px 90px rgba(7,19,38,.34)!important;
  padding:30px 30px 26px!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
.corepoint-site-modal-card *{box-sizing:border-box!important;}
.corepoint-site-modal-x{
  position:absolute!important;
  right:18px!important;
  top:18px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(6,20,42,.12)!important;
  background:#fff!important;
  color:#06142a!important;
  font-size:22px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(7,19,38,.10)!important;
  overflow:hidden!important;
  text-indent:0!important;
}
.corepoint-site-modal-icon{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#fff7da,#f8d56b)!important;
  color:#06142a!important;
  font-size:24px!important;
  box-shadow:0 16px 36px rgba(214,160,48,.22)!important;
  margin-bottom:16px!important;
}
.corepoint-site-modal-kicker{
  margin:0 48px 8px 0!important;
  color:#1d5fd1!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.corepoint-site-modal-card h3{
  margin:0 48px 12px 0!important;
  color:#06142a!important;
  font-size:clamp(24px, 4vw, 32px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
  overflow-wrap:anywhere!important;
}
.corepoint-site-modal-card p{
  margin:0!important;
  color:#5c6d86!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.62!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
}
.corepoint-site-modal-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:24px!important;
  align-items:center!important;
  width:100%!important;
}
.corepoint-site-modal-actions .btn,
.corepoint-site-modal-actions button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:48px!important;
  border-radius:18px!important;
  padding:12px 16px!important;
  font-size:15px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  text-align:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.corepoint-site-modal-actions [data-corepoint-modal-ok]{
  background:linear-gradient(135deg,#f8d56b,#d6a030)!important;
  color:#06142a!important;
  border-color:rgba(214,160,48,.42)!important;
  box-shadow:0 18px 40px rgba(214,160,48,.24)!important;
}
.corepoint-site-modal-actions [data-corepoint-modal-cancel]{
  background:#fff!important;
  color:#06142a!important;
  border:1px solid rgba(6,20,42,.14)!important;
  box-shadow:0 12px 28px rgba(7,19,38,.07)!important;
}
@media (max-width:560px){
  .corepoint-site-modal{padding:12px!important;align-items:center!important;}
  .corepoint-site-modal-card{width:calc(100vw - 24px)!important;border-radius:24px!important;padding:24px 18px 20px!important;}
  .corepoint-site-modal-x{right:14px!important;top:14px!important;width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;font-size:20px!important;}
  .corepoint-site-modal-icon{width:48px!important;height:48px!important;border-radius:16px!important;margin-bottom:14px!important;}
  .corepoint-site-modal-card h3{font-size:24px!important;margin-right:40px!important;}
  .corepoint-site-modal-card p{font-size:14px!important;line-height:1.55!important;}
  .corepoint-site-modal-actions{grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important;}
  .corepoint-site-modal-actions .btn,.corepoint-site-modal-actions button{min-height:46px!important;font-size:14px!important;}
}


/* V66: final customer popup polish - no overlapping Back/Go Back button */
.corepoint-modal-open{overflow:hidden!important;}
.corepoint-site-modal.hidden{display:none!important;}
.corepoint-site-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
}
.corepoint-site-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(6,20,42,.68)!important;
  backdrop-filter:blur(10px)!important;
}
.corepoint-site-modal-card{
  position:relative!important;
  z-index:1!important;
  width:min(480px,calc(100vw - 32px))!important;
  max-height:min(86vh,720px)!important;
  overflow:auto!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 90% 4%, rgba(248,213,107,.18), transparent 32%),
    linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 34px 90px rgba(6,20,42,.38)!important;
  padding:28px!important;
  text-align:left!important;
}
.corepoint-site-modal-icon{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#06142a,#123463)!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(6,20,42,.18)!important;
  font-size:25px!important;
  margin:0 0 14px!important;
}
.corepoint-site-modal-x{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:36px!important;
  height:36px!important;
  border-radius:999px!important;
  border:1px solid rgba(6,20,42,.10)!important;
  background:#fff!important;
  color:#06142a!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  display:grid!important;
  place-items:center!important;
}
.corepoint-site-modal-kicker{
  margin:0 42px 8px 0!important;
  font-size:12px!important;
  letter-spacing:.11em!important;
  color:#b67a00!important;
}
.corepoint-site-modal-card h3{
  margin:0 40px 10px 0!important;
  color:#06142a!important;
  font-size:clamp(22px,3vw,28px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}
.corepoint-site-modal-card p{
  margin:0!important;
  color:#53657f!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:1.62!important;
}
.corepoint-site-modal-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:22px!important;
  width:100%!important;
}
.corepoint-site-modal.is-alert .corepoint-modal-secondary,
.corepoint-site-modal:not(.is-confirm) [data-corepoint-modal-cancel]{
  display:none!important;
}
.corepoint-site-modal-actions .btn{
  min-height:46px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  font-size:14px!important;
  font-weight:900!important;
  white-space:normal!important;
  text-align:center!important;
}
.corepoint-site-modal.is-alert .corepoint-site-modal-actions{
  justify-content:flex-end!important;
}
.corepoint-site-modal.is-alert .corepoint-modal-primary{
  min-width:160px!important;
}
@media (max-width:560px){
  .corepoint-site-modal{padding:14px!important;}
  .corepoint-site-modal-card{padding:22px 18px!important;border-radius:24px!important;}
  .corepoint-site-modal-actions{display:grid!important;grid-template-columns:1fr!important;}
  .corepoint-site-modal-actions .btn{width:100%!important;}
}


/* V72: client portal loading state and forced temporary password reset guard */
.customer-loading-panel{
  display:grid;
  place-items:center;
  min-height:360px;
  padding:38px 16px;
}
.customer-loading-card{
  width:min(460px, calc(100vw - 32px));
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(6,20,42,.08);
  box-shadow:0 28px 80px rgba(6,20,42,.16);
  padding:34px 26px;
  text-align:center;
}
.customer-loading-spinner{
  width:46px;
  height:46px;
  border-radius:999px;
  border:4px solid rgba(214,162,50,.22);
  border-top-color:#d6a232;
  margin:0 auto 16px;
  animation:corepointSpin .85s linear infinite;
}
.customer-loading-card h2{margin:0 0 8px;color:#06142a;font-size:26px;}
.customer-loading-card p{margin:0;color:#64748b;font-weight:700;}
@keyframes corepointSpin{to{transform:rotate(360deg)}}
.customer-dashboard.force-password-change-active .customer-top-combo,
.customer-dashboard.force-password-change-active .customer-account-grid,
.customer-dashboard.force-password-change-active .customer-policies-panel,
.customer-dashboard.force-password-change-active .customer-smart-panel{
  display:none!important;
}
.customer-password-panel.force-password-required{
  display:block!important;
  border:2px solid rgba(214,162,50,.42)!important;
  box-shadow:0 24px 70px rgba(6,20,42,.14)!important;
}
.customer-password-panel.force-password-required .section-kicker::after{
  content:" · Temporary password";
}
.customer-password-panel.force-password-required #customerCancelPassword{display:none!important;}

/* V72: small thank-you overlay page with previous page shown behind it */
.thankyou-overlay-body{
  margin:0;
  min-height:100vh;
  overflow:hidden;
  background:#06142a;
  font-family:inherit;
}
.thankyou-return-frame{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  opacity:.52;
  filter:blur(1.5px);
  transform:scale(1.01);
  pointer-events:none;
  background:#f8fafc;
}
.thankyou-overlay{
  position:fixed;
  inset:0;
  z-index:10;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(6,20,42,.42);
  backdrop-filter:blur(6px);
}
.thankyou-popup{
  position:relative;
  width:min(430px,calc(100vw - 34px));
  border-radius:28px;
  padding:28px 26px 24px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.98));
  border:1px solid rgba(255,255,255,.76);
  box-shadow:0 30px 92px rgba(6,20,42,.36);
  text-align:center;
}
.thankyou-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(6,20,42,.10);
  background:#fff;
  color:#06142a;
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.thankyou-icon{
  width:58px;
  height:58px;
  margin:2px auto 14px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#f8d56b,#d6a232);
  color:#06142a;
  font-size:30px;
  font-weight:900;
  box-shadow:0 14px 32px rgba(214,162,50,.30);
}
.thankyou-popup .section-kicker{
  display:inline-block!important;
  margin:0 0 10px!important;
  padding:7px 13px!important;
  background:#fff8ea!important;
  color:#b67a00!important;
  border:1px solid rgba(214,162,50,.18)!important;
  border-radius:999px!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
}
.thankyou-popup h1{
  margin:0 0 8px;
  color:#06142a;
  font-size:clamp(34px,5vw,46px);
  line-height:1;
  letter-spacing:-.055em;
}
.thankyou-popup p{
  margin:0 auto 18px;
  max-width:330px;
  color:#53657f;
  font-size:15px;
  font-weight:700;
  line-height:1.55;
}
.thankyou-actions{display:grid;gap:10px;margin-top:14px;}
.thankyou-actions .btn{width:100%;justify-content:center;}
.thankyou-footnote{display:block;margin-top:14px;color:#718096;font-size:12px;font-weight:750;}
@media(max-width:520px){.thankyou-popup{padding:26px 18px 20px;border-radius:24px}.thankyou-icon{width:52px;height:52px}.thankyou-popup h1{font-size:34px}}


/* V73: hard security gate - when temporary password is active, show ONLY change-password panel */
body.customer-force-password-active #customerPortalPanel.force-password-change-active > :not(#customerPasswordPanel){
  display:none!important;
  visibility:hidden!important;
}
body.customer-force-password-active #customerPortalPanel.force-password-change-active{
  width:min(760px, calc(100vw - 32px));
  margin:0 auto!important;
  display:block!important;
}
body.customer-force-password-active #customerPasswordPanel.force-password-required{
  display:block!important;
  visibility:visible!important;
  margin:28px auto!important;
}
body.customer-force-password-active #customerTwoFactorSetup,
body.customer-force-password-active #customerDisable2faPanel,
body.customer-force-password-active #customerQuickStats,
body.customer-force-password-active #customerDetails,
body.customer-force-password-active #customerNextPayment,
body.customer-force-password-active #customerSmartInsights,
body.customer-force-password-active #customerServiceCards{
  display:none!important;
  visibility:hidden!important;
}


/* V74 security: quote/login captcha fields */
.corepoint-captcha-field{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px 16px}.corepoint-captcha-row{display:grid;grid-template-columns:auto minmax(120px,1fr) 44px;gap:10px;align-items:center}.corepoint-captcha-question{font-weight:900;color:var(--navy);white-space:nowrap}.corepoint-captcha-row input{margin:0}.corepoint-captcha-refresh{height:44px;width:44px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:22px;font-weight:900;cursor:pointer}.corepoint-captcha-refresh:hover{border-color:rgba(201,162,39,.8);box-shadow:0 8px 18px rgba(15,23,42,.08)}@media(max-width:620px){.corepoint-captcha-row{grid-template-columns:1fr}.corepoint-captcha-refresh{width:100%}}


/* V75: thank-you popup is kept while standalone /contact?sent=1 remains retired */
.thankyou-overlay{z-index:2147483647!important;}
.thankyou-overlay .thankyou-popup{z-index:1;}


/* Informative service guidance sections - v78 */
.service-guidance-section{
  overflow:hidden;
  position:relative;
}
.service-guidance-section:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  top:-240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(214,162,50,.18),rgba(214,162,50,0) 68%);
  pointer-events:none;
}
.service-guidance-section:after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  left:-210px;
  bottom:-250px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);
  pointer-events:none;
}
.service-guidance-section .service-deep-dive{
  grid-template-columns:minmax(0,1.22fr) minmax(310px,.68fr);
  gap:54px;
  align-items:start;
  z-index:1;
}
.service-guidance-content .section-title{
  max-width:860px;
  font-size:clamp(38px,4.2vw,64px);
  line-height:1.02;
}
.service-guidance-content .section-copy{
  max-width:850px;
  margin-top:20px;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.7;
}
.service-decision-list{
  display:grid;
  gap:14px;
  margin-top:34px;
}
.service-decision-item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  backdrop-filter:blur(8px);
}
.service-decision-item>span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:var(--navy);
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.service-decision-item h3{
  margin:1px 0 5px;
  color:#fff;
  font-size:19px;
  line-height:1.25;
}
.service-decision-item p{
  margin:0;
  color:#cbd8ec;
  font-size:15px;
  line-height:1.55;
}
.service-guidance-section .service-feature-panel{
  position:sticky;
  top:108px;
  padding:32px;
  background:linear-gradient(155deg,rgba(255,255,255,.16),rgba(255,255,255,.075));
  border-color:rgba(255,255,255,.23);
  box-shadow:0 28px 70px rgba(0,0,0,.25);
  backdrop-filter:blur(14px);
}
.service-panel-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border-radius:17px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:var(--navy);
  font-size:24px;
  font-weight:950;
  box-shadow:0 14px 26px rgba(0,0,0,.22);
}
.service-guidance-section .service-feature-panel h3{
  font-size:clamp(25px,2.2vw,32px);
  line-height:1.12;
  margin-bottom:20px;
}
.service-feature-checklist{
  list-style:none;
  display:grid;
  gap:13px;
  margin:0 0 24px;
  padding:0;
}
.service-feature-checklist li{
  position:relative;
  padding-left:29px;
  color:#edf4ff;
  font-weight:750;
  line-height:1.45;
}
.service-feature-checklist li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(248,213,107,.18);
  color:var(--gold-2);
  font-size:12px;
  font-weight:950;
}
.service-panel-note{
  margin:0 0 22px!important;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#b9c8df!important;
  font-size:13px;
  line-height:1.55;
}
.service-guidance-section .service-feature-panel .btn{
  width:100%;
  justify-content:center;
  gap:8px;
}
@media (max-width:1060px){
  .service-guidance-section .service-deep-dive{
    grid-template-columns:1fr;
    gap:34px;
  }
  .service-guidance-section .service-feature-panel{
    position:relative;
    top:auto;
  }
}
@media (max-width:620px){
  .service-guidance-content .section-title{
    font-size:clamp(34px,10vw,46px);
  }
  .service-decision-item{
    grid-template-columns:42px minmax(0,1fr);
    gap:13px;
    padding:16px;
  }
  .service-decision-item>span{
    width:40px;
    height:40px;
    border-radius:13px;
  }
  .service-guidance-section .service-feature-panel{
    padding:25px;
  }
}


/* V83: Medicare icon and CRM-aligned client portal details */
.service-icon .service-icon-svg{
  width:36px;
  height:36px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.medicare-service-icon{
  background:linear-gradient(135deg,#0b3a75,#1769b0)!important;
}

#customerDetails.customer-detail-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;
  margin-top:14px;
}
#customerDetails .customer-detail-item{
  min-width:0;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:linear-gradient(135deg,#fff,#f8fafc);
}
#customerDetails .customer-detail-item.is-wide{
  grid-column:span 2;
}
#customerDetails .customer-detail-item span,
#customerPortalPanel .policy-crm-item span{
  display:block;
  color:var(--muted);
  font-size:10px;
  line-height:1.25;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.075em;
}
#customerDetails .customer-detail-item strong,
#customerPortalPanel .policy-crm-item strong{
  display:block;
  margin-top:5px;
  color:var(--navy);
  font-size:13px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

#customerPortalPanel .customer-policy-card{
  grid-template-columns:58px minmax(165px,.62fr) minmax(0,2.25fr) auto!important;
  align-items:start!important;
  padding:20px!important;
}
#customerPortalPanel .policy-card-content{
  min-width:0;
  display:grid;
  gap:10px;
}
#customerPortalPanel .policy-card-meta-group,
#customerPortalPanel .policy-crm-detail-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px!important;
}
#customerPortalPanel .policy-crm-detail-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#customerPortalPanel .policy-crm-item{
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
#customerPortalPanel .policy-crm-item.is-wide{
  grid-column:span 2;
}
#customerPortalPanel .policy-date-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
#customerPortalPanel .policy-status{
  justify-self:end;
  align-self:start;
  white-space:nowrap;
}
@media (max-width:1180px){
  #customerDetails.customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #customerPortalPanel .customer-policy-card{grid-template-columns:58px minmax(180px,.7fr) minmax(0,2fr)!important;}
  #customerPortalPanel .policy-status{grid-column:2 / -1;justify-self:start;}
  #customerPortalPanel .policy-card-meta-group{grid-template-columns:repeat(2,minmax(0,1fr));}
  #customerPortalPanel .policy-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  #customerDetails.customer-detail-grid{grid-template-columns:1fr!important;}
  #customerDetails .customer-detail-item.is-wide{grid-column:auto;}
  #customerPortalPanel .customer-policy-card{grid-template-columns:1fr!important;}
  #customerPortalPanel .policy-status{grid-column:auto;}
  #customerPortalPanel .policy-card-meta-group,
  #customerPortalPanel .policy-crm-detail-grid,
  #customerPortalPanel .policy-date-grid{grid-template-columns:1fr!important;}
}

/* ========================================================================== 
   V85 — Refined customer dashboard inspired by the approved portal concept.
   The existing Smart Insights carousel animation and behavior are unchanged.
   ========================================================================== */
body.customer-modal-open{overflow:hidden!important}

.customer-login-page #customerPortalPanel:not(.hidden){
  width:min(94vw,1260px)!important;
  max-width:min(94vw,1260px)!important;
  margin:0 auto!important;
  padding-top:24px!important;
  overflow:visible!important;
}
.customer-login-page .customer-portal-shell{
  width:min(94vw,1260px)!important;
  max-width:min(94vw,1260px)!important;
  margin:0 auto!important;
}
#customerPortalPanel.customer-dashboard{
  gap:22px!important;
}
#customerPortalPanel .customer-top-combo{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
#customerPortalPanel .customer-hero-card{
  display:block!important;
  min-height:0!important;
  padding:26px 28px 24px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:24px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 12% -12%,rgba(214,162,50,.20),transparent 40%),
    radial-gradient(circle at 93% 10%,rgba(56,189,248,.10),transparent 35%),
    linear-gradient(135deg,#081426 0%,#10213e 58%,#152b50 100%)!important;
  box-shadow:0 24px 58px rgba(6,20,42,.26)!important;
  position:relative!important;
  overflow:visible!important;
}
#customerPortalPanel .customer-hero-card:after{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-72px;
  top:-92px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(214,162,50,.18),transparent 68%);
  pointer-events:none;
}
#customerPortalPanel .customer-hero-main{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:28px!important;
  position:relative!important;
  z-index:3!important;
}
#customerPortalPanel .customer-welcome-copy{
  min-width:0!important;
  padding-top:2px!important;
}
#customerPortalPanel .customer-dashboard-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:13px!important;
  padding:6px 12px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.07)!important;
  color:rgba(255,255,255,.86)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
#customerPortalPanel .customer-dashboard-badge i{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:var(--gold)!important;
  box-shadow:0 0 0 4px rgba(214,162,50,.12)!important;
}
#customerPortalPanel .customer-greeting-row{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
}
#customerPortalPanel .customer-greeting-row h2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(24px,3vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  overflow-wrap:anywhere!important;
}
#customerPortalPanel .customer-hero-card .lead{
  margin:8px 0 0!important;
  max-width:650px!important;
  color:rgba(255,255,255,.68)!important;
  font-size:14px!important;
  line-height:1.55!important;
}
#customerPortalPanel .customer-hero-contact{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:12px!important;
  color:rgba(255,255,255,.58)!important;
  font-size:12.5px!important;
  font-weight:650!important;
}
#customerPortalPanel .customer-hero-contact i{
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.30)!important;
}
#customerPortalPanel .customer-icon-btn{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:10px!important;
  cursor:pointer!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
#customerPortalPanel .customer-icon-btn svg,
#customerPortalPanel .customer-view-btn svg{
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
}
#customerPortalPanel .customer-icon-btn-light{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.08)!important;
}
#customerPortalPanel .customer-icon-btn:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.15)!important;
}
#customerPortalPanel .customer-dashboard-tools{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
  width:auto!important;
  grid-template-columns:none!important;
  grid-template-areas:none!important;
}
#customerPortalPanel .customer-clock-card{
  width:auto!important;
  min-width:205px!important;
  padding:15px 18px!important;
  margin:0!important;
  text-align:center!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.07)!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:none!important;
}
#customerPortalPanel .customer-clock-card .clock-label{
  color:var(--gold-2)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
#customerPortalPanel .customer-clock-card h3{
  margin:4px 0 1px!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.15!important;
}
#customerPortalPanel #customerDate{
  display:block!important;
  margin-top:4px!important;
  color:rgba(255,255,255,.60)!important;
  font-size:11.5px!important;
  font-weight:650!important;
}
#customerPortalPanel .customer-dashboard-tools .customer-profile-menu{
  display:block!important;
  position:relative!important;
  z-index:20!important;
}
#customerPortalPanel .customer-profile-btn{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:13px!important;
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  cursor:pointer!important;
}
#customerPortalPanel .customer-profile-btn svg{
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
}
#customerPortalPanel .customer-profile-btn:hover{
  background:rgba(255,255,255,.15)!important;
}
#customerPortalPanel .customer-profile-dropdown{
  top:50px!important;
  right:0!important;
  min-width:205px!important;
  border:1px solid #e5e9f0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 20px 50px rgba(6,20,42,.22)!important;
  overflow:hidden!important;
}

/* Hero statistics */
#customerPortalPanel .customer-hero-card .legacy-inside-quickstats-disabled{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:22px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
  position:relative!important;
  z-index:2!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card{
  appearance:none!important;
  min-width:0!important;
  min-height:134px!important;
  height:auto!important;
  padding:16px 17px!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#102033!important;
  text-align:left!important;
  box-shadow:0 8px 24px rgba(4,12,25,.18)!important;
  position:relative!important;
  overflow:hidden!important;
  align-content:start!important;
  gap:0!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  right:0!important;
  height:3px!important;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)!important;
  opacity:.7!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(214,162,50,.48)!important;
  box-shadow:0 12px 28px rgba(4,12,25,.24)!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card>span{
  color:#8b96a8!important;
  font-size:10.5px!important;
  font-weight:900!important;
  letter-spacing:.085em!important;
  text-transform:uppercase!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card>strong{
  display:block!important;
  margin:5px 0 2px!important;
  color:#111b2d!important;
  font-size:25px!important;
  line-height:1.05!important;
  font-style:normal!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card>em{
  color:#66758b!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:600!important;
}
#customerPortalPanel .customer-stat-card-due{
  align-content:start!important;
}
#customerPortalPanel .customer-stat-card-due>strong{
  font-size:25px!important;
}
#customerPortalPanel .customer-due-mini-list{
  margin-top:8px!important;
  max-height:48px!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-due-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:7px!important;
  padding:5px 0!important;
  border-top:1px solid #edf0f4!important;
  font-size:10.5px!important;
}
#customerPortalPanel .customer-due-mini-row span{
  color:#172238!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-due-mini-row small{
  color:#8290a4!important;
  font-size:10px!important;
}
#customerPortalPanel .customer-due-mini-row b{
  min-width:auto!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  color:#176a3a!important;
  background:#e8f6ed!important;
  font-size:9.5px!important;
  text-align:center!important;
}
#customerPortalPanel .customer-due-mini-row b.past{
  color:#9f2c24!important;
  background:#fff0ef!important;
}

/* Account overview */
#customerPortalPanel .customer-account-summary-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;
  gap:18px!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#customerPortalPanel .customer-account-details,
#customerPortalPanel .customer-account-renewal{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:21px 22px!important;
  border:1px solid #e2e6ed!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(16,25,43,.06)!important;
}
#customerPortalPanel .customer-card-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:15px!important;
}
#customerPortalPanel .customer-card-kicker{
  display:block!important;
  margin-bottom:3px!important;
  color:#a8781d!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
}
#customerPortalPanel .customer-card-heading h3{
  margin:0!important;
  color:#10192b!important;
  font-size:17px!important;
  line-height:1.2!important;
}
#customerPortalPanel .customer-view-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:36px!important;
  padding:8px 12px!important;
  border:1px solid #e7d29e!important;
  border-radius:10px!important;
  color:#926a19!important;
  background:#fff7e7!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease!important;
}
#customerPortalPanel .customer-view-btn:hover{
  transform:translateY(-1px)!important;
  background:#f9e8bd!important;
  border-color:#d8b55f!important;
}
#customerPortalPanel #customerDetails.customer-detail-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 12px!important;
}
#customerPortalPanel .customer-detail-item{
  min-width:0!important;
  padding:10px 12px!important;
  border:1px solid #edf0f4!important;
  border-radius:11px!important;
  background:#f7f9fc!important;
}
#customerPortalPanel .customer-detail-item.is-wide{
  grid-column:1/-1!important;
}
#customerPortalPanel .customer-detail-item span{
  display:block!important;
  color:#93a0b2!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
#customerPortalPanel .customer-detail-item strong{
  display:block!important;
  margin-top:3px!important;
  color:#182238!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
#customerPortalPanel .customer-renewal-list-compact{
  display:grid!important;
  gap:9px!important;
}
#customerPortalPanel .customer-renewal-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:11px 12px!important;
  border:1px solid #edf0f4!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
#customerPortalPanel .customer-renewal-row div{
  min-width:0!important;
}
#customerPortalPanel .customer-renewal-row strong{
  display:block!important;
  color:#182238!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}
#customerPortalPanel .customer-renewal-row span{
  display:block!important;
  margin-top:2px!important;
  color:#7a8799!important;
  font-size:11px!important;
}
#customerPortalPanel .customer-renewal-row b{
  flex:0 0 auto!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  color:#176a3a!important;
  background:#e8f6ed!important;
  font-size:10px!important;
}
#customerPortalPanel .customer-renewal-row.is-past b{
  color:#a32e25!important;
  background:#fff0ef!important;
}

/* Policies and service records */
#customerPortalPanel .customer-policies-panel{
  padding:24px!important;
  border:1px solid #e2e6ed!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(16,25,43,.06)!important;
}
#customerPortalPanel .customer-policy-section-head{
  align-items:flex-end!important;
  margin-bottom:16px!important;
}
#customerPortalPanel .customer-record-count{
  display:inline-flex!important;
  align-items:center!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  color:#946c1b!important;
  background:#fff4d9!important;
  font-size:10.5px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
#customerPortalPanel .customer-policy-card-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:13px!important;
  margin:0!important;
}
#customerPortalPanel .customer-policy-card{
  display:grid!important;
  grid-template-columns:30px 48px minmax(180px,1fr) minmax(125px,.62fr) minmax(115px,.5fr) minmax(125px,.58fr) auto!important;
  align-items:center!important;
  gap:13px!important;
  min-width:0!important;
  padding:16px 17px!important;
  border:1px solid #e2e6ed!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff,#fbfcfe)!important;
  box-shadow:0 5px 16px rgba(16,25,43,.045)!important;
  position:relative!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-policy-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:3px!important;
  background:linear-gradient(180deg,var(--gold),#a9781e)!important;
}
#customerPortalPanel .customer-policy-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 11px 26px rgba(16,25,43,.09)!important;
}
#customerPortalPanel .customer-policy-index{
  width:27px!important;
  height:27px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  color:#fff!important;
  background:#0b1830!important;
  font-size:10px!important;
  font-weight:900!important;
}
#customerPortalPanel .policy-icon{
  width:46px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #efdcae!important;
  border-radius:12px!important;
  background:#fff5df!important;
  font-size:21px!important;
}
#customerPortalPanel .policy-card-main{
  min-width:0!important;
}
#customerPortalPanel .policy-card-main h3{
  margin:0!important;
  color:#111b2d!important;
  font-size:15px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
#customerPortalPanel .policy-card-main p{
  margin:3px 0 0!important;
  color:#7b8799!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-policy-quick{
  min-width:0!important;
}
#customerPortalPanel .customer-policy-quick span{
  display:block!important;
  color:#97a3b4!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
}
#customerPortalPanel .customer-policy-quick strong{
  display:block!important;
  margin-top:4px!important;
  color:#182238!important;
  font-size:12px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
#customerPortalPanel .customer-policy-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  margin-left:auto!important;
}
#customerPortalPanel .policy-status{
  justify-self:auto!important;
  padding:6px 10px!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* CRM and policy detail modals */
.customer-data-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:10050!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(6,16,31,.66)!important;
  backdrop-filter:blur(5px)!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}
.customer-data-overlay.hidden{
  display:none!important;
}
.customer-data-overlay.is-open{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
}
.customer-data-modal{
  width:min(100%,680px)!important;
  max-height:min(88vh,860px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(4,12,25,.42)!important;
  transform:translateY(12px) scale(.985)!important;
  transition:transform .20s ease!important;
}
.customer-data-overlay.is-open .customer-data-modal{
  transform:translateY(0) scale(1)!important;
}
.customer-data-modal-banner{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  flex:0 0 auto!important;
  padding:19px 22px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 92% -20%,rgba(214,162,50,.25),transparent 45%),
    linear-gradient(135deg,#0a162b,#14243f)!important;
}
.customer-data-modal-icon{
  width:45px!important;
  height:45px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  border:1px solid rgba(255,255,255,.17)!important;
  border-radius:12px!important;
  color:#fff!important;
  background:rgba(255,255,255,.09)!important;
  font-size:20px!important;
}
.customer-data-modal-icon svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
}
.customer-data-modal-title{
  min-width:0!important;
  flex:1!important;
}
.customer-data-modal-title h2{
  margin:0!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1.25!important;
}
.customer-data-modal-title p{
  margin:3px 0 0!important;
  color:rgba(255,255,255,.58)!important;
  font-size:11.5px!important;
  line-height:1.4!important;
}
.customer-data-modal-close{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  color:#fff!important;
  background:rgba(255,255,255,.11)!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.customer-data-modal-close:hover{
  background:rgba(255,255,255,.20)!important;
}
.customer-data-modal-body{
  padding:2px 25px 23px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.customer-modal-section{
  padding:18px 0 0!important;
}
.customer-modal-section+.customer-modal-section{
  margin-top:17px!important;
  border-top:1px solid #e4e8ee!important;
}
.customer-modal-section-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.customer-modal-section-title span{
  color:#aa7616!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.customer-modal-section-title i{
  height:1px!important;
  flex:1!important;
  background:#dfe4eb!important;
}
.customer-modal-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 12px!important;
}
.customer-modal-field{
  min-width:0!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  background:#eef2f7!important;
}
.customer-modal-field span{
  display:block!important;
  color:#98a5b7!important;
  font-size:9px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
}
.customer-modal-field strong{
  display:block!important;
  margin-top:3px!important;
  color:#172238!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.customer-modal-field.is-missing strong{
  color:#9aa6b7!important;
  font-style:italic!important;
  font-weight:650!important;
}

/* Security cards follow the refreshed visual language. */
#customerPortalPanel #customerTwoFactorSetup,
#customerPortalPanel #customerPasswordPanel,
#customerPortalPanel #customerDisable2faPanel{
  border:1px solid #e2e6ed!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(16,25,43,.06)!important;
}

@media (max-width:1080px){
  #customerPortalPanel .customer-policy-card{
    grid-template-columns:30px 48px minmax(180px,1fr) minmax(125px,.7fr) minmax(120px,.6fr) auto!important;
  }
  #customerPortalPanel .customer-policy-quick.is-date{display:none!important}
}
@media (max-width:900px){
  #customerPortalPanel .customer-account-summary-card{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-policy-card{
    grid-template-columns:30px 48px minmax(0,1fr) auto!important;
  }
  #customerPortalPanel .customer-policy-quick{
    display:none!important;
  }
  #customerPortalPanel .customer-policy-actions{
    grid-column:3/-1!important;
    justify-content:flex-start!important;
    margin-left:0!important;
  }
}
@media (max-width:760px){
  .customer-login-page #customerPortalPanel:not(.hidden),
  .customer-login-page .customer-portal-shell{
    width:min(100% - 24px,1260px)!important;
    max-width:min(100% - 24px,1260px)!important;
  }
  #customerPortalPanel .customer-hero-card{
    padding:21px 18px 18px!important;
    border-radius:20px!important;
  }
  #customerPortalPanel .customer-hero-main{
    flex-direction:column!important;
    gap:18px!important;
  }
  #customerPortalPanel .customer-dashboard-tools{
    width:100%!important;
    justify-content:space-between!important;
  }
  #customerPortalPanel .customer-clock-card{
    flex:1!important;
    min-width:0!important;
    text-align:left!important;
  }
  #customerPortalPanel .customer-hero-card .legacy-inside-quickstats-disabled{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-hero-card .customer-stat-card{
    min-height:114px!important;
  }
  #customerPortalPanel #customerDetails.customer-detail-grid{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-policies-panel{
    padding:19px 16px!important;
  }
  #customerPortalPanel .customer-policy-section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #customerPortalPanel .customer-policy-card{
    grid-template-columns:28px 44px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
  }
  #customerPortalPanel .customer-policy-actions{
    grid-column:2/-1!important;
    width:100%!important;
    flex-wrap:wrap!important;
  }
  #customerPortalPanel .customer-policy-actions .customer-view-btn{
    margin-left:auto!important;
  }
  .customer-data-overlay{
    align-items:flex-end!important;
    padding:10px!important;
  }
  .customer-data-modal{
    width:100%!important;
    max-height:92vh!important;
    border-radius:18px!important;
  }
  .customer-data-modal-banner{
    padding:17px 18px!important;
  }
  .customer-data-modal-body{
    padding:2px 18px 20px!important;
  }
  .customer-modal-grid{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:480px){
  #customerPortalPanel .customer-greeting-row{
    align-items:flex-start!important;
  }
  #customerPortalPanel .customer-hero-contact{
    display:grid!important;
    gap:3px!important;
  }
  #customerPortalPanel .customer-hero-contact i{display:none!important}
  #customerPortalPanel .customer-card-heading{
    align-items:flex-start!important;
  }
  #customerPortalPanel .customer-account-details,
  #customerPortalPanel .customer-account-renewal{
    padding:18px 16px!important;
  }
  #customerPortalPanel .customer-policy-actions .customer-view-btn{
    width:100%!important;
    margin-left:0!important;
  }
}

/* V85 finishing touch: let account cards size naturally when only a few dates exist. */
#customerPortalPanel .customer-account-summary-card{
  align-items:start!important;
}
#customerPortalPanel .customer-account-renewal:after{
  content:"Dates shown here are limited to the current 45-day reminder window.";
  display:block;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid #edf0f4;
  color:#8a96a8;
  font-size:10.5px;
  line-height:1.45;
}


/* V86 — remove lower CRM/date cards and move due details into the dashboard summary card. */
#customerPortalPanel .customer-stat-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
#customerPortalPanel .customer-stat-eye{
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid #d7c082!important;
  border-radius:12px!important;
  background:#fff7e2!important;
  color:#9a6b14!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
#customerPortalPanel .customer-stat-eye:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 10px 18px rgba(154,107,20,.12)!important;
  background:#fff1c8!important;
}
#customerPortalPanel .customer-stat-eye svg{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
}
#customerPortalPanel .customer-stat-card-due{
  cursor:pointer!important;
}
#customerPortalPanel .customer-due-rotator{
  margin-top:14px!important;
  min-height:74px!important;
  padding:12px 14px!important;
  border:1px solid #e7ebf0!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#f9fbfd,#f3f6fa)!important;
}
#customerPortalPanel .customer-due-spotlight{
  display:grid!important;
  gap:6px!important;
}
#customerPortalPanel .customer-due-spotlight-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
}
#customerPortalPanel .customer-due-spotlight strong{
  color:#14213d!important;
  font-size:16px!important;
  line-height:1.25!important;
}
#customerPortalPanel .customer-due-spotlight b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#dcfce7!important;
  color:#027a48!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-due-spotlight.is-past b{
  background:#fee2e2!important;
  color:#b42318!important;
}
#customerPortalPanel .customer-due-spotlight span{
  color:#526072!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:700!important;
}
#customerPortalPanel .customer-due-spotlight small{
  color:#8190a4!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
#customerPortalPanel .customer-due-spotlight.is-clear strong{
  font-size:15px!important;
}
#customerPortalPanel .customer-due-rotator-dots{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:12px!important;
}
#customerPortalPanel .customer-due-rotator-dots i{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#d5dde8!important;
  display:block!important;
}
#customerPortalPanel .customer-due-rotator-dots i.is-active{
  width:22px!important;
  border-radius:999px!important;
  background:#b78828!important;
}
#customerPortalPanel .customer-stat-card-due.is-clear .customer-due-rotator{
  background:linear-gradient(180deg,#f8fbf8,#eef7ef)!important;
}
@media (max-width:760px){
  #customerPortalPanel .customer-due-spotlight-top{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  #customerPortalPanel .customer-stat-eye{
    width:34px!important;
    height:34px!important;
  }
}


/* V87 — compact active-domain summary and smaller opportunities card. */
#customerPortalPanel .customer-hero-card .legacy-inside-quickstats-disabled{
  grid-template-columns:minmax(0,1.55fr) minmax(280px,1.18fr) minmax(170px,.72fr)!important;
  gap:12px!important;
  margin-top:14px!important;
  padding-top:14px!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card{
  min-height:122px!important;
}
#customerPortalPanel .customer-hero-card .customer-stat-card.customer-stat-card-domains{
  padding:14px 16px!important;
  min-height:0!important;
}
#customerPortalPanel .customer-stat-card-head-compact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:4px!important;
}
#customerPortalPanel .customer-stat-card-head-compact strong{
  display:block!important;
  margin:4px 0 0!important;
  color:#111b2d!important;
  font-size:22px!important;
  line-height:1.02!important;
}
#customerPortalPanel .customer-stat-card-head-compact em{
  color:#66758b!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:700!important;
}
#customerPortalPanel .customer-domain-mini-list{
  margin-top:10px!important;
  max-height:120px!important;
  overflow:auto!important;
  padding-right:4px!important;
}
#customerPortalPanel .customer-domain-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:6px 0!important;
  border-top:1px solid #edf0f4!important;
}
#customerPortalPanel .customer-domain-mini-row:first-child{
  border-top:1px solid #edf0f4!important;
}
#customerPortalPanel .customer-domain-mini-row.is-empty{
  grid-template-columns:1fr!important;
}
#customerPortalPanel .customer-domain-mini-copy{
  min-width:0!important;
}
#customerPortalPanel .customer-domain-mini-copy b{
  display:block!important;
  color:#172238!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:850!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-domain-mini-copy small{
  display:block!important;
  margin-top:2px!important;
  color:#8a97aa!important;
  font-size:9.5px!important;
  line-height:1.25!important;
  font-weight:700!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-domain-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:72px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-domain-status.is-active{
  color:#027a48!important;
  background:#dcfce7!important;
  border:1px solid #86efac!important;
  animation:corepointBlinkGreen 1.25s infinite!important;
}
#customerPortalPanel .customer-domain-status.is-inactive{
  color:#b42318!important;
  background:#fee2e2!important;
  border:1px solid #fca5a5!important;
  animation:corepointBlinkRed 1.25s infinite!important;
}
#customerPortalPanel .customer-domain-status.is-pending{
  color:#92400e!important;
  background:#fef3c7!important;
  border:1px solid #fcd34d!important;
}
@keyframes corepointBlinkGreen{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.18); opacity:1;}
  50%{box-shadow:0 0 0 4px rgba(34,197,94,.08); opacity:.8;}
}
@keyframes corepointBlinkRed{
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.18); opacity:1;}
  50%{box-shadow:0 0 0 4px rgba(239,68,68,.08); opacity:.8;}
}
#customerPortalPanel .customer-stat-card-opportunities{
  min-height:0!important;
  padding:14px 14px!important;
  display:grid!important;
  align-content:start!important;
}
#customerPortalPanel .customer-stat-card-opportunities>strong{
  margin:8px 0 4px!important;
  font-size:32px!important;
}
#customerPortalPanel .customer-stat-card-opportunities>em{
  font-size:11px!important;
}
@media (max-width:1100px){
  #customerPortalPanel .customer-hero-card .legacy-inside-quickstats-disabled{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr) minmax(155px,.66fr)!important;
  }
}
@media (max-width:760px){
  #customerPortalPanel .customer-hero-card .legacy-inside-quickstats-disabled{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-domain-mini-list{
    max-height:none!important;
  }
}


/* V88 — visible profile controls for enabling/disabling Google Authenticator. */
#customerPortalPanel #customerProfileDropdown #customerEnable2faBtn{
  color:#027a48!important;
  font-weight:800!important;
}
#customerPortalPanel #customerProfileDropdown #customerDisable2faBtn{
  color:#b42318!important;
  font-weight:800!important;
}
#customerPortalPanel #customerProfileDropdown #customerEnable2faBtn:hover{
  background:#ecfdf3!important;
}
#customerPortalPanel #customerProfileDropdown #customerDisable2faBtn:hover{
  background:#fff1f1!important;
}


/* V89 — separate stats cards from hero and use auto-scrolling lists. */
#customerPortalPanel .customer-top-combo{
  display:grid!important;
  gap:16px!important;
}
#customerPortalPanel .customer-hero-card{
  padding:20px 26px 18px!important;
  min-height:0!important;
}
#customerPortalPanel .customer-hero-card:after{
  width:190px!important;
  height:190px!important;
  right:-58px!important;
  top:-74px!important;
}
#customerPortalPanel .customer-hero-main{
  align-items:center!important;
}
#customerPortalPanel .customer-hero-card .lead{
  margin:6px 0 0!important;
}
#customerPortalPanel #customerQuickStats.customer-stat-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1.12fr) minmax(180px,.7fr)!important;
  gap:16px!important;
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
}
#customerPortalPanel #customerQuickStats .customer-stat-card{
  min-height:0!important;
  padding:16px 16px!important;
  border:1px solid #dfe6ef!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 14px 32px rgba(12,24,44,.10)!important;
}
#customerPortalPanel .customer-stat-card-head-domain{
  display:grid!important;
  gap:8px!important;
}
#customerPortalPanel .customer-domain-counts{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
#customerPortalPanel .customer-count-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}
#customerPortalPanel .customer-count-pill i{
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  display:block!important;
}
#customerPortalPanel .customer-count-pill.is-active{
  color:#027a48!important;
  background:#ecfdf3!important;
  border:1px solid #a7f3d0!important;
}
#customerPortalPanel .customer-count-pill.is-active i{
  background:#16a34a!important;
  animation:corepointBlinkGreen 1.25s infinite!important;
}
#customerPortalPanel .customer-count-pill.is-inactive{
  color:#b42318!important;
  background:#fef2f2!important;
  border:1px solid #fca5a5!important;
}
#customerPortalPanel .customer-count-pill.is-inactive i{
  background:#ef4444!important;
  animation:corepointBlinkRed 1.25s infinite!important;
}
#customerPortalPanel .customer-count-pill.is-pending{
  color:#92400e!important;
  background:#fffbeb!important;
  border:1px solid #fcd34d!important;
}
#customerPortalPanel .customer-count-pill.is-pending i{
  background:#f59e0b!important;
}
#customerPortalPanel .customer-domain-mini-list,
#customerPortalPanel .customer-due-mini-list{
  margin-top:12px!important;
  max-height:168px!important;
  overflow:auto!important;
  padding-right:4px!important;
  scroll-behavior:smooth!important;
}
#customerPortalPanel .customer-domain-mini-row,
#customerPortalPanel .customer-due-mini-row{
  min-height:46px!important;
}
#customerPortalPanel .customer-due-mini-list{
  border-top:1px solid #edf0f4!important;
}
#customerPortalPanel .customer-due-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 0!important;
  border-bottom:1px solid #edf0f4!important;
}
#customerPortalPanel .customer-due-mini-row:last-child{
  border-bottom:0!important;
}
#customerPortalPanel .customer-due-mini-row.is-empty{
  grid-template-columns:1fr!important;
}
#customerPortalPanel .customer-due-mini-copy{
  min-width:0!important;
}
#customerPortalPanel .customer-due-mini-copy b{
  display:block!important;
  color:#172238!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:850!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-due-mini-copy small{
  display:block!important;
  margin-top:3px!important;
  color:#8694a8!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
#customerPortalPanel .customer-due-mini-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-due-mini-chip.is-upcoming{
  background:#dcfce7!important;
  color:#027a48!important;
  border:1px solid #bbf7d0!important;
}
#customerPortalPanel .customer-due-mini-chip.is-past{
  background:#fee2e2!important;
  color:#b42318!important;
  border:1px solid #fecaca!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head{
  align-items:flex-start!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head>div strong{
  display:block!important;
  margin:6px 0 2px!important;
  color:#111b2d!important;
  font-size:30px!important;
  line-height:1!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head>div em{
  color:#66758b!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:700!important;
}
#customerPortalPanel .customer-stat-card-opportunities{
  align-content:start!important;
  padding:16px 14px!important;
}
#customerPortalPanel .customer-stat-card-opportunities strong{
  margin:8px 0 4px!important;
}
@media (max-width:1180px){
  #customerPortalPanel #customerQuickStats.customer-stat-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(170px,.72fr)!important;
  }
}
@media (max-width:900px){
  #customerPortalPanel .customer-hero-main{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #customerPortalPanel #customerQuickStats.customer-stat-grid{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-domain-mini-list,
  #customerPortalPanel .customer-due-mini-list{
    max-height:none!important;
  }
}


/* V90 — overlap-safe wide dashboard, exact two-line greeting, and automatic hidden scrolling. */
.customer-login-page #customerPortalPanel:not(.hidden),
.customer-login-page .customer-portal-shell{
  width:min(96vw,1840px)!important;
  max-width:min(96vw,1840px)!important;
}
#customerPortalPanel .customer-top-combo{
  display:grid!important;
  grid-template-columns:minmax(600px,1.62fr) minmax(300px,.92fr) minmax(300px,.92fr) minmax(220px,.68fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
#customerPortalPanel .customer-top-combo #customerQuickStats.customer-stat-grid{
  display:contents!important;
}
#customerPortalPanel .customer-hero-card{
  height:332px!important;
  min-height:332px!important;
  padding:22px 28px!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-hero-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:24px!important;
  height:100%!important;
}
#customerPortalPanel .customer-welcome-copy{
  min-width:0!important;
  max-width:100%!important;
}
#customerPortalPanel .customer-greeting-row{
  align-items:flex-end!important;
  gap:12px!important;
}
#customerPortalPanel .customer-greeting-row h2{
  min-width:0!important;
  font-size:clamp(38px,3.1vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
#customerPortalPanel .customer-greeting-row h2 span{
  display:block!important;
}
#customerPortalPanel .customer-greeting-hello{
  white-space:nowrap!important;
}
#customerPortalPanel .customer-greeting-name{
  white-space:nowrap!important;
}
#customerPortalPanel .customer-greeting-row .customer-icon-btn{
  margin-bottom:7px!important;
  flex:0 0 auto!important;
}
#customerPortalPanel .customer-dashboard-tools{
  flex:0 0 auto!important;
  min-width:250px!important;
  max-width:290px!important;
}
#customerPortalPanel .customer-clock-card{
  min-width:230px!important;
  width:230px!important;
  padding:18px 16px!important;
}
#customerPortalPanel #customerQuickStats .customer-stat-card{
  height:332px!important;
  min-height:332px!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-content:normal!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
  padding:18px!important;
}
#customerPortalPanel .customer-stat-card-domains,
#customerPortalPanel .customer-stat-card-due{
  cursor:default!important;
}
#customerPortalPanel .customer-stat-card-head-domain,
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head{
  flex:0 0 auto!important;
  min-width:0!important;
  position:relative!important;
  z-index:2!important;
}
#customerPortalPanel .customer-domain-counts{
  gap:7px!important;
}
#customerPortalPanel .customer-count-pill{
  padding:5px 9px!important;
  font-size:10.5px!important;
}
#customerPortalPanel .customer-domain-mini-list,
#customerPortalPanel .customer-due-mini-list{
  flex:1 1 auto!important;
  width:100%!important;
  height:162px!important;
  max-height:162px!important;
  min-height:162px!important;
  margin-top:14px!important;
  padding-right:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  scrollbar-width:none!important;
  scroll-behavior:smooth!important;
  position:relative!important;
}
#customerPortalPanel .customer-domain-mini-list::-webkit-scrollbar,
#customerPortalPanel .customer-due-mini-list::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
#customerPortalPanel .customer-domain-mini-row,
#customerPortalPanel .customer-due-mini-row{
  box-sizing:border-box!important;
  min-height:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  margin:0!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-domain-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 0!important;
}
#customerPortalPanel .customer-domain-mini-copy,
#customerPortalPanel .customer-due-mini-copy{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-domain-mini-copy b,
#customerPortalPanel .customer-domain-mini-copy small,
#customerPortalPanel .customer-due-mini-copy b,
#customerPortalPanel .customer-due-mini-copy small{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-domain-status{
  min-width:78px!important;
  max-width:90px!important;
  padding:5px 8px!important;
  font-size:9.5px!important;
  flex:0 0 auto!important;
}
#customerPortalPanel .customer-due-mini-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  padding:7px 0!important;
}
#customerPortalPanel .customer-due-mini-copy{
  grid-column:1!important;
}
#customerPortalPanel .customer-due-mini-chip{
  grid-column:2!important;
  justify-self:end!important;
  min-width:72px!important;
  max-width:98px!important;
  padding:6px 8px!important;
  font-size:10px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#customerPortalPanel .customer-stat-card-opportunities{
  justify-content:center!important;
  align-items:flex-start!important;
  padding:20px!important;
}
#customerPortalPanel .customer-stat-card-opportunities>span{
  margin-top:auto!important;
}
#customerPortalPanel .customer-stat-card-opportunities>em{
  margin-bottom:auto!important;
}
#customerPortalPanel .customer-domain-mini-list.is-auto-rotating:after,
#customerPortalPanel .customer-due-mini-list.is-auto-rotating:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:18px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.92));
}
@media (max-width:1540px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:1fr repeat(3,minmax(0,1fr))!important;
  }
  #customerPortalPanel .customer-hero-card{
    grid-column:1/-1!important;
    height:auto!important;
    min-height:230px!important;
  }
  #customerPortalPanel .customer-hero-main{
    height:auto!important;
  }
  #customerPortalPanel #customerQuickStats .customer-stat-card{
    height:310px!important;
    min-height:310px!important;
  }
}
@media (max-width:980px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-hero-card,
  #customerPortalPanel #customerQuickStats .customer-stat-card{
    grid-column:auto!important;
    height:auto!important;
    min-height:0!important;
  }
  #customerPortalPanel .customer-hero-main{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  #customerPortalPanel .customer-dashboard-tools{
    width:100%!important;
    max-width:none!important;
  }
  #customerPortalPanel .customer-clock-card{
    width:100%!important;
  }
  #customerPortalPanel .customer-domain-mini-list,
  #customerPortalPanel .customer-due-mini-list{
    height:162px!important;
    max-height:162px!important;
    min-height:162px!important;
  }
}
@media (max-width:560px){
  #customerPortalPanel .customer-greeting-row h2{
    font-size:clamp(34px,11vw,48px)!important;
  }
  #customerPortalPanel .customer-greeting-name{
    white-space:normal!important;
  }
  #customerPortalPanel .customer-domain-counts{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #customerPortalPanel .customer-count-pill{
    justify-content:center!important;
  }
}


/* V91 — contained dashboard, compact typography, eye above profile, and bulletin rotation. */
.customer-login-page #customerPortalPanel:not(.hidden),
.customer-login-page .customer-portal-shell{
  width:min(94vw,1480px)!important;
  max-width:min(94vw,1480px)!important;
  margin-inline:auto!important;
}
#customerPortalPanel .customer-top-combo{
  grid-template-columns:minmax(390px,1.34fr) minmax(260px,.92fr) minmax(260px,.92fr) minmax(165px,.58fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}
#customerPortalPanel .customer-hero-card,
#customerPortalPanel #customerQuickStats .customer-stat-card{
  height:294px!important;
  min-height:294px!important;
}
#customerPortalPanel .customer-hero-card{
  padding:18px 22px!important;
}
#customerPortalPanel .customer-hero-main{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:16px!important;
}
#customerPortalPanel .customer-dashboard-badge{
  margin-bottom:10px!important;
  padding:5px 10px!important;
  font-size:9.5px!important;
}
#customerPortalPanel .customer-greeting-row h2{
  font-size:clamp(32px,2.7vw,44px)!important;
  line-height:1.01!important;
  letter-spacing:-.042em!important;
}
#customerPortalPanel .customer-greeting-row h2 span{
  display:block!important;
}
#customerPortalPanel .customer-greeting-hello,
#customerPortalPanel .customer-greeting-name{
  white-space:nowrap!important;
}
#customerPortalPanel .customer-hero-card .lead{
  max-width:340px!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
#customerPortalPanel .customer-hero-contact{
  display:grid!important;
  gap:4px!important;
  margin-top:10px!important;
  font-size:10.5px!important;
}
#customerPortalPanel .customer-hero-contact i{
  display:none!important;
}
#customerPortalPanel .customer-dashboard-tools{
  align-items:center!important;
  gap:8px!important;
  min-width:194px!important;
  max-width:220px!important;
}
#customerPortalPanel .customer-clock-card{
  min-width:160px!important;
  width:160px!important;
  padding:13px 11px!important;
}
#customerPortalPanel .customer-clock-card h3{
  font-size:18px!important;
}
#customerPortalPanel #customerDate{
  font-size:9.5px!important;
}
#customerPortalPanel .customer-profile-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  align-self:center!important;
  position:relative!important;
  z-index:30!important;
}
#customerPortalPanel .customer-crm-eye-shortcut,
#customerPortalPanel .customer-profile-btn{
  width:38px!important;
  height:38px!important;
  margin:0!important;
  border-radius:11px!important;
}
#customerPortalPanel .customer-crm-eye-shortcut{
  display:grid!important;
  place-items:center!important;
}
#customerPortalPanel .customer-profile-menu{
  position:relative!important;
}
#customerPortalPanel .customer-profile-dropdown{
  top:45px!important;
  right:0!important;
}
#customerPortalPanel #customerQuickStats .customer-stat-card{
  padding:14px!important;
  border-radius:18px!important;
}
#customerPortalPanel #customerQuickStats .customer-stat-card>span,
#customerPortalPanel .customer-stat-card-head>span,
#customerPortalPanel .customer-stat-card-head-domain>span{
  font-size:9.5px!important;
  letter-spacing:.075em!important;
}
#customerPortalPanel .customer-domain-counts{
  gap:5px!important;
}
#customerPortalPanel .customer-count-pill{
  padding:4px 7px!important;
  gap:5px!important;
  font-size:8.5px!important;
}
#customerPortalPanel .customer-count-pill i{
  width:6px!important;
  height:6px!important;
}
#customerPortalPanel .customer-domain-mini-list,
#customerPortalPanel .customer-due-mini-list{
  flex:0 0 auto!important;
  width:100%!important;
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  margin-top:10px!important;
  overflow:hidden!important;
  position:relative!important;
  scrollbar-width:none!important;
}
#customerPortalPanel .customer-bulletin-track{
  width:100%!important;
  will-change:transform!important;
  transform:translate3d(0,0,0)!important;
}
#customerPortalPanel .customer-domain-mini-row,
#customerPortalPanel .customer-due-mini-row{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-domain-mini-row{
  padding:5px 0!important;
  gap:6px!important;
}
#customerPortalPanel .customer-domain-mini-copy b,
#customerPortalPanel .customer-due-mini-copy b{
  font-size:10.5px!important;
  line-height:1.2!important;
}
#customerPortalPanel .customer-domain-mini-copy small,
#customerPortalPanel .customer-due-mini-copy small{
  font-size:8.5px!important;
  line-height:1.15!important;
}
#customerPortalPanel .customer-domain-status{
  min-width:62px!important;
  max-width:72px!important;
  padding:4px 6px!important;
  font-size:8px!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head>div strong{
  margin:4px 0 1px!important;
  font-size:24px!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head>div em{
  font-size:9.5px!important;
}
#customerPortalPanel .customer-stat-eye{
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
}
#customerPortalPanel .customer-stat-eye svg{
  width:16px!important;
  height:16px!important;
}
#customerPortalPanel .customer-due-mini-row{
  padding:5px 0!important;
  gap:6px!important;
}
#customerPortalPanel .customer-due-mini-chip{
  min-width:58px!important;
  max-width:76px!important;
  padding:5px 6px!important;
  font-size:8.5px!important;
}
#customerPortalPanel .customer-stat-card-opportunities{
  padding:16px 13px!important;
}
#customerPortalPanel .customer-stat-card-opportunities>strong{
  font-size:28px!important;
  margin:6px 0 3px!important;
}
#customerPortalPanel .customer-stat-card-opportunities>em{
  font-size:9.5px!important;
  line-height:1.35!important;
}
#customerPortalPanel .customer-domain-mini-list.is-auto-rotating:after,
#customerPortalPanel .customer-due-mini-list.is-auto-rotating:after{
  display:none!important;
}
@media (max-width:1280px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:minmax(360px,1.25fr) minmax(235px,.9fr) minmax(235px,.9fr) minmax(155px,.55fr)!important;
  }
  #customerPortalPanel .customer-clock-card{
    min-width:145px!important;
    width:145px!important;
  }
}
@media (max-width:1400px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #customerPortalPanel .customer-hero-card{
    grid-column:1/-1!important;
    height:auto!important;
    min-height:220px!important;
  }
  #customerPortalPanel #customerQuickStats .customer-stat-card{
    height:282px!important;
    min-height:282px!important;
  }
}
@media (max-width:760px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-hero-card,
  #customerPortalPanel #customerQuickStats .customer-stat-card{
    grid-column:auto!important;
    height:auto!important;
    min-height:0!important;
  }
  #customerPortalPanel .customer-hero-main{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-dashboard-tools{
    width:100%!important;
    max-width:none!important;
    justify-content:flex-start!important;
  }
  #customerPortalPanel .customer-clock-card{
    width:min(100%,220px)!important;
  }
  #customerPortalPanel .customer-greeting-name{
    white-space:normal!important;
  }
}


/* V92 — inspected layout: smaller greeting, clock top-right, eye/profile bottom-right, true bulletin rotation. */
.customer-login-page #customerPortalPanel:not(.hidden),
.customer-login-page .customer-portal-shell{
  width:min(92vw,1380px)!important;
  max-width:min(92vw,1380px)!important;
}
#customerPortalPanel .customer-top-combo{
  grid-template-columns:minmax(420px,1.28fr) minmax(265px,.88fr) minmax(265px,.88fr) minmax(165px,.54fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}
#customerPortalPanel .customer-hero-card,
#customerPortalPanel #customerQuickStats .customer-stat-card{
  height:272px!important;
  min-height:272px!important;
  max-height:272px!important;
}
#customerPortalPanel .customer-hero-card{
  position:relative!important;
  padding:18px 20px!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-hero-main{
  display:block!important;
  height:100%!important;
  position:relative!important;
}
#customerPortalPanel .customer-welcome-copy{
  max-width:none!important;
  padding-right:195px!important;
}
#customerPortalPanel .customer-dashboard-badge{
  width:min(100%,280px)!important;
  margin-bottom:13px!important;
}
#customerPortalPanel .customer-greeting-row{
  display:block!important;
}
#customerPortalPanel .customer-greeting-row h2{
  margin:0!important;
  font-size:clamp(26px,2.15vw,33px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
#customerPortalPanel .customer-greeting-row h2 span{
  display:block!important;
}
#customerPortalPanel .customer-greeting-hello,
#customerPortalPanel .customer-greeting-name{
  white-space:nowrap!important;
}
#customerPortalPanel .customer-hero-card .lead{
  max-width:315px!important;
  margin-top:10px!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}
#customerPortalPanel .customer-hero-contact{
  max-width:315px!important;
  margin-top:11px!important;
  font-size:9.5px!important;
  line-height:1.35!important;
}
#customerPortalPanel .customer-dashboard-tools{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:170px!important;
  min-width:170px!important;
  max-width:170px!important;
  display:block!important;
  z-index:35!important;
}
#customerPortalPanel .customer-clock-card{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:170px!important;
  min-width:170px!important;
  max-width:170px!important;
  padding:12px 10px!important;
  border-radius:16px!important;
  text-align:center!important;
}
#customerPortalPanel .customer-clock-card h3{
  margin:5px 0 4px!important;
  font-size:17px!important;
  line-height:1.05!important;
}
#customerPortalPanel #customerDate{
  font-size:8.5px!important;
  line-height:1.3!important;
}
#customerPortalPanel .customer-profile-actions{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  align-items:center!important;
  justify-items:end!important;
  z-index:45!important;
}
#customerPortalPanel .customer-crm-eye-shortcut,
#customerPortalPanel .customer-profile-btn{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
  border-radius:10px!important;
}
#customerPortalPanel .customer-profile-menu{
  position:relative!important;
}
#customerPortalPanel .customer-profile-dropdown{
  top:auto!important;
  right:44px!important;
  bottom:0!important;
}

/* Cards: strict rows prevent the due label from covering the service name. */
#customerPortalPanel #customerQuickStats .customer-stat-card{
  padding:14px!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-domain-mini-list,
#customerPortalPanel .customer-due-mini-list{
  --bulletin-row-height:44px;
  height:calc(var(--bulletin-visible-rows,3) * var(--bulletin-row-height))!important;
  min-height:calc(var(--bulletin-visible-rows,3) * var(--bulletin-row-height))!important;
  max-height:calc(var(--bulletin-visible-rows,3) * var(--bulletin-row-height))!important;
  display:block!important;
  margin-top:10px!important;
  padding:0!important;
  overflow:hidden!important;
  position:relative!important;
  border:0!important;
  scrollbar-width:none!important;
}
#customerPortalPanel .customer-bulletin-track{
  display:block!important;
  width:100%!important;
  will-change:transform!important;
}
#customerPortalPanel .customer-domain-mini-row,
#customerPortalPanel .customer-due-mini-row{
  width:100%!important;
  height:var(--bulletin-row-height)!important;
  min-height:var(--bulletin-row-height)!important;
  max-height:var(--bulletin-row-height)!important;
  box-sizing:border-box!important;
  margin:0!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-domain-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:7px!important;
  padding:5px 0!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  border-radius:0!important;
  background:transparent!important;
}
#customerPortalPanel .customer-domain-mini-copy,
#customerPortalPanel .customer-due-mini-copy{
  min-width:0!important;
  width:auto!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-domain-mini-copy b,
#customerPortalPanel .customer-domain-mini-copy small,
#customerPortalPanel .customer-due-mini-copy b,
#customerPortalPanel .customer-due-mini-copy small{
  display:block!important;
  max-width:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-domain-mini-copy b,
#customerPortalPanel .customer-due-mini-copy b{
  color:#172238!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
#customerPortalPanel .customer-domain-mini-copy small,
#customerPortalPanel .customer-due-mini-copy small{
  margin-top:2px!important;
  color:#8a97aa!important;
  font-size:8px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
#customerPortalPanel .customer-domain-status{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  min-width:60px!important;
  max-width:none!important;
  padding:4px 6px!important;
  font-size:7.5px!important;
}
#customerPortalPanel .customer-due-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:8px!important;
  padding:5px 7px!important;
  border:0!important;
  border-bottom:1px solid #e7ebf1!important;
  border-radius:10px!important;
  background:#f7f9fc!important;
}
#customerPortalPanel .customer-due-mini-copy{
  grid-column:1!important;
  grid-row:1!important;
}
#customerPortalPanel .customer-due-mini-chip,
#customerPortalPanel .customer-due-mini-row>span.customer-due-mini-chip{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:center!important;
  width:auto!important;
  min-width:62px!important;
  max-width:none!important;
  padding:5px 7px!important;
  border-radius:999px!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head>div strong{
  font-size:22px!important;
}
#customerPortalPanel .customer-stat-card-due .customer-stat-card-head>div em{
  font-size:8.5px!important;
}
#customerPortalPanel .customer-stat-eye{
  width:30px!important;
  height:30px!important;
}
#customerPortalPanel .customer-stat-card-opportunities>strong{
  font-size:25px!important;
}
#customerPortalPanel .customer-stat-card-opportunities>em{
  font-size:8.5px!important;
}

@media (max-width:1240px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #customerPortalPanel .customer-hero-card{
    grid-column:1/-1!important;
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }
  #customerPortalPanel #customerQuickStats .customer-stat-card{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
}
@media (max-width:760px){
  #customerPortalPanel .customer-top-combo{
    grid-template-columns:1fr!important;
  }
  #customerPortalPanel .customer-hero-card,
  #customerPortalPanel #customerQuickStats .customer-stat-card{
    grid-column:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  #customerPortalPanel .customer-welcome-copy{
    padding-right:0!important;
  }
  #customerPortalPanel .customer-dashboard-tools{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:112px!important;
    margin-top:14px!important;
  }
  #customerPortalPanel .customer-clock-card{
    left:0!important;
    right:auto!important;
  }
  #customerPortalPanel .customer-profile-actions{
    right:0!important;
    bottom:0!important;
  }
  #customerPortalPanel .customer-greeting-name{
    white-space:normal!important;
  }
}


/* V93 — lock CRM eye/profile into one right-side column and align Next Due rows. */
#customerPortalPanel .customer-dashboard-tools{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  width:170px!important;
  min-width:170px!important;
  max-width:170px!important;
  height:auto!important;
  display:block!important;
  margin:0!important;
}
#customerPortalPanel .customer-profile-actions{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  top:auto!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:79px!important;
  min-height:79px!important;
  max-height:79px!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  z-index:60!important;
}
#customerPortalPanel .customer-crm-eye-shortcut{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
}
#customerPortalPanel .customer-profile-menu{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  top:auto!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0!important;
}
#customerPortalPanel .customer-profile-btn{
  position:absolute!important;
  inset:0!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
}
#customerPortalPanel .customer-profile-dropdown{
  top:auto!important;
  right:44px!important;
  bottom:0!important;
  left:auto!important;
}

#customerPortalPanel .customer-due-mini-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  grid-template-rows:44px!important;
  align-items:center!important;
  column-gap:10px!important;
  row-gap:0!important;
  padding:0 8px!important;
}
#customerPortalPanel .customer-due-mini-copy{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:left!important;
  overflow:hidden!important;
}
#customerPortalPanel .customer-due-mini-copy b,
#customerPortalPanel .customer-due-mini-copy small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel .customer-due-mini-copy b{
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
#customerPortalPanel .customer-due-mini-copy small{
  margin-top:3px!important;
  font-size:8px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
#customerPortalPanel .customer-due-mini-chip,
#customerPortalPanel .customer-due-mini-row>span.customer-due-mini-chip{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:center!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  margin:0!important;
  padding:5px 4px!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

@media (max-width:760px){
  #customerPortalPanel .customer-dashboard-tools{
    position:absolute!important;
    top:0!important;
    right:0!important;
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    height:auto!important;
    margin:0!important;
  }
  #customerPortalPanel .customer-clock-card{
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
  }
  #customerPortalPanel .customer-profile-actions{
    right:0!important;
    bottom:0!important;
  }
}


/* V94 — final Next Due alignment: service and date stay together on the left. */
#customerPortalPanel #customerDueRotator .customer-due-mini-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0 10px 0 12px!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:0!important;
  border-bottom:1px solid #e7ebf1!important;
  border-radius:10px!important;
  background:#f7f9fc!important;
  text-align:left!important;
}
#customerPortalPanel #customerDueRotator .customer-due-record{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-align:left!important;
}
#customerPortalPanel #customerDueRotator .customer-due-record-name,
#customerPortalPanel #customerDueRotator .customer-due-record-date{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel #customerDueRotator .customer-due-record-name{
  color:#172238!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
#customerPortalPanel #customerDueRotator .customer-due-record-date{
  color:#8a97aa!important;
  font-size:8px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
#customerPortalPanel #customerDueRotator .customer-due-mini-chip{
  flex:0 0 72px!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:5px 4px!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#customerPortalPanel #customerDueRotator .customer-due-mini-row.is-empty .customer-due-record{
  flex-basis:100%!important;
}
