/* ============================================================================
   Centrale Assurances — UX responsive foundation v3.25.24 · Étape 1/3
   Scope: site public + contenu, Admin/CRM/Agent, Espace Client.
   Loaded LAST to stabilise the historical responsive layers without changing
   business logic, routes, content or data.
   ============================================================================ */

:root{
  --ux24-blue:#0868d4;
  --ux24-blue-strong:#0758b8;
  --ux24-navy:#0d3156;
  --ux24-text:#173a5d;
  --ux24-muted:#657c91;
  --ux24-line:#dbe6f0;
  --ux24-soft:#f5f8fc;
  --ux24-card:#fff;
  --ux24-green:#0a8f62;
  --ux24-radius-sm:10px;
  --ux24-radius:16px;
  --ux24-radius-lg:22px;
  --ux24-shadow:0 10px 28px rgba(19,66,112,.075);
  --ux24-shadow-lg:0 18px 44px rgba(17,65,117,.11);
  --ux24-focus:0 0 0 3px rgba(8,104,212,.20);
  --ux24-gutter:clamp(16px,2.4vw,30px);
}

body.ca-ux-v32524{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.ca-ux-v32524 *,
body.ca-ux-v32524 *::before,
body.ca-ux-v32524 *::after{box-sizing:border-box}
body.ca-ux-v32524 :where(img,svg,video,canvas){max-width:100%}
body.ca-ux-v32524 :where(a,button,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
body.ca-ux-v32524 :where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--ux24-blue)!important;
  outline-offset:2px!important;
  box-shadow:var(--ux24-focus);
}
body.ca-ux-v32524 :where(input,select,textarea,button){font:inherit}
body.ca-ux-v32524 :where(p,li,td,th,label,small,strong,span){overflow-wrap:anywhere}

/* --------------------------------------------------------------------------
   SITE PUBLIC / PAGES CONTENU
   -------------------------------------------------------------------------- */
body.ca-site-v350.ca-ux-v32524{
  color:var(--ux24-text);
  font-size:16px;
  line-height:1.6;
  overflow-x:clip;
}
body.ca-site-v350.ca-ux-v32524 main{overflow:clip}
body.ca-site-v350.ca-ux-v32524 .container{
  width:min(1280px,calc(100% - (var(--ux24-gutter) * 2)))!important;
  max-width:1280px!important;
  padding-inline:0!important;
}
body.ca-site-v350.ca-ux-v32524 .topbar-inner{min-height:36px;height:auto!important;font-size:12.5px}
body.ca-site-v350.ca-ux-v32524 .nav-wrap{min-height:80px!important;height:auto!important;gap:22px!important}
body.ca-site-v350.ca-ux-v32524 .brand img{width:176px!important;max-height:58px!important}
body.ca-site-v350.ca-ux-v32524 .nav{gap:clamp(12px,1.25vw,21px)!important}
body.ca-site-v350.ca-ux-v32524 .nav>a{font-size:14px!important;line-height:1.2}
body.ca-site-v350.ca-ux-v32524 .btn,
body.ca-site-v350.ca-ux-v32524 button,
body.ca-site-v350.ca-ux-v32524 [role="button"]{
  min-height:44px;
}
body.ca-site-v350.ca-ux-v32524 .btn{padding:11px 18px!important;border-radius:12px!important;font-size:14px}
body.ca-site-v350.ca-ux-v32524 :where(.section,.content-section){padding-block:clamp(52px,5.2vw,78px)!important}
body.ca-site-v350.ca-ux-v32524 :where(.section-head h2,.section-title h2,.unified-section-heading h2){
  font-size:clamp(29px,3vw,40px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
body.ca-site-v350.ca-ux-v32524 :where(.hero h1,.product-hero h1,.article-head h1,.page-head h1,.form-intro h1,.simple-page h1){
  font-size:clamp(40px,4.6vw,62px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.ca-site-v350.ca-ux-v32524 :where(.hero-copy>p,.product-hero p,.page-head p,.form-intro p,.simple-page p){
  font-size:clamp(16px,1.3vw,18px)!important;
  line-height:1.65!important;
}
body.ca-site-v350.ca-ux-v32524 :where(.product-card p,.mini-card p,.benefit-grid p,.how-grid p,.blog-card p,.article-grid p){
  font-size:14px!important;
  line-height:1.55!important;
}
body.ca-site-v350.ca-ux-v32524 :where(.product-card h3,.mini-card h3,.benefit-grid h3,.how-grid h3,.blog-card h3,.article-grid h3){
  line-height:1.25!important;
}
body.ca-site-v350.ca-ux-v32524 :where(.product-card,.mini-card,.blog-card,.formula-grid article,.quote-card,.dynamic-form,.content-card){
  border-radius:var(--ux24-radius)!important;
}
body.ca-site-v350.ca-ux-v32524 :where(input,select,textarea){
  min-height:48px;
  max-width:100%;
  border-radius:11px!important;
  font-size:16px!important;
  line-height:1.35;
}
body.ca-site-v350.ca-ux-v32524 textarea{min-height:112px}
body.ca-site-v350.ca-ux-v32524 label{font-size:14px;line-height:1.4}
body.ca-site-v350.ca-ux-v32524 :where(.rich-content,.article-content){font-size:16px;line-height:1.75}
body.ca-site-v350.ca-ux-v32524 :where(.rich-content,.article-content) p{margin-block:0 1.05em}
body.ca-site-v350.ca-ux-v32524 :where(.rich-content,.article-content) table{
  max-width:100%;
  font-size:14px;
}
body.ca-site-v350.ca-ux-v32524 .footer{padding-top:52px!important}
body.ca-site-v350.ca-ux-v32524 .footer :where(p,a){font-size:13.5px!important;line-height:1.55}
body.ca-site-v350.ca-ux-v32524 .cookie-banner{font-size:14px}
body.ca-site-v350.ca-ux-v32524 .cookie-banner button,
body.ca-site-v350.ca-ux-v32524 .cookie-banner a{min-height:42px}

/* Tablet public: nav drawer + comfortable two-column content. */
@media (max-width:1024px){
  body.ca-site-v350.ca-ux-v32524 .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
  }
  body.ca-site-v350.ca-ux-v32524 .topbar{display:none!important}
  body.ca-site-v350.ca-ux-v32524 .nav-wrap{min-height:72px!important}
  body.ca-site-v350.ca-ux-v32524 .brand img{width:152px!important}
  body.ca-site-v350.ca-ux-v32524 .menu-btn{display:grid!important;width:46px!important;height:46px!important;min-height:46px!important}
  body.ca-site-v350.ca-ux-v32524 .desktop-quote-btn{display:none!important}
  body.ca-site-v350.ca-ux-v32524 #mainNav{
    width:min(88vw,390px)!important;
    padding:82px 20px max(28px,env(safe-area-inset-bottom))!important;
  }
  body.ca-site-v350.ca-ux-v32524 #mainNav>a{min-height:48px!important;padding:13px 14px!important;font-size:15px!important}
  body.ca-site-v350.ca-ux-v32524 :where(.product-grid,.cards-grid.cards-5){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ca-site-v350.ca-ux-v32524 :where(.footer-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:640px){
  body.ca-site-v350.ca-ux-v32524 .container{
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
  }
  body.ca-site-v350.ca-ux-v32524 .nav-wrap{min-height:66px!important}
  body.ca-site-v350.ca-ux-v32524 .brand img{width:138px!important}
  body.ca-site-v350.ca-ux-v32524 :where(.section,.content-section){padding-block:44px!important}
  body.ca-site-v350.ca-ux-v32524 :where(.hero h1,.product-hero h1,.article-head h1,.page-head h1,.form-intro h1,.simple-page h1){
    font-size:clamp(32px,9.6vw,40px)!important;
    line-height:1.04!important;
  }
  body.ca-site-v350.ca-ux-v32524 :where(.section-head h2,.section-title h2,.unified-section-heading h2){font-size:28px!important}
  body.ca-site-v350.ca-ux-v32524 :where(.hero-actions,.form-actions){display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  body.ca-site-v350.ca-ux-v32524 :where(.hero-actions,.form-actions) .btn{width:100%!important;min-height:48px!important}
  body.ca-site-v350.ca-ux-v32524 :where(.product-grid,.cards-grid.cards-5,.formula-grid,.chip-grid,.blog-grid,.benefit-grid,.how-grid,.article-grid){
    grid-template-columns:1fr!important;
  }
  body.ca-site-v350.ca-ux-v32524 .product-card{min-height:0!important;padding:16px!important}
  body.ca-site-v350.ca-ux-v32524 .product-card .product-image{height:112px!important}
  body.ca-site-v350.ca-ux-v32524 .product-card :where(h3,p,a){font-size:14px!important}
  body.ca-site-v350.ca-ux-v32524 .number-grid{grid-template-columns:1fr 1fr!important}
  body.ca-site-v350.ca-ux-v32524 :where(.footer-grid){grid-template-columns:1fr!important}
  body.ca-site-v350.ca-ux-v32524 .footer-bottom{display:grid!important;gap:6px!important}
}

@media (max-width:390px){
  body.ca-site-v350.ca-ux-v32524 .number-grid{grid-template-columns:1fr!important}
}

/* --------------------------------------------------------------------------
   ADMIN / CRM / OWNER / AGENT
   -------------------------------------------------------------------------- */
body.admin-ui-v32420.ca-ux-v32524{
  --ca-sidebar-w:272px;
  background:#f4f7fb!important;
  color:var(--ux24-text)!important;
  font-size:15px!important;
  line-height:1.5;
  overflow-x:hidden;
}
body.admin-ui-v32420.ca-ux-v32524 .ca-admin-sidebar{width:var(--ca-sidebar-w)!important;min-width:var(--ca-sidebar-w)!important}
body.admin-ui-v32420.ca-ux-v32524 .ca-admin-main{
  min-width:0!important;
  margin-left:var(--ca-sidebar-w)!important;
  width:calc(100% - var(--ca-sidebar-w))!important;
  padding-bottom:44px!important;
}
body.admin-ui-v32420.ca-ux-v32524 .ca-admin-top{min-height:70px!important;padding:10px 20px!important;gap:10px!important}
body.admin-ui-v32420.ca-ux-v32524 .admin-global-search{min-height:44px!important}
body.admin-ui-v32420.ca-ux-v32524 .admin-global-search input{font-size:14px!important}
body.admin-ui-v32420.ca-ux-v32524 .admin-page-title{padding:20px clamp(18px,2.1vw,30px) 14px!important}
body.admin-ui-v32420.ca-ux-v32524 .admin-page-title h1{font-size:clamp(24px,2.25vw,31px)!important;line-height:1.15!important;letter-spacing:-.025em}
body.admin-ui-v32420.ca-ux-v32524 .admin-page-title small{font-size:11px!important}
body.admin-ui-v32420.ca-ux-v32524 .crm20-menu-links>a,
body.admin-ui-v32420.ca-ux-v32524 .crm20-dashboard-link{font-size:13px!important;min-height:42px!important}
body.admin-ui-v32420.ca-ux-v32524 .crm20-menu-section>summary{font-size:11px!important;min-height:34px!important}
body.admin-ui-v32420.ca-ux-v32524 .crm20-menu-filter input{font-size:13px!important}
body.admin-ui-v32420.ca-ux-v32524 :where(.admin-card,.crm-card,.panel,.card){line-height:1.5}
body.admin-ui-v32420.ca-ux-v32524 :where(input,select,textarea){max-width:100%;font-size:14px!important;line-height:1.35}
body.admin-ui-v32420.ca-ux-v32524 :where(input:not([type="checkbox"]):not([type="radio"]),select){min-height:42px}
body.admin-ui-v32420.ca-ux-v32524 textarea{min-height:92px}
body.admin-ui-v32420.ca-ux-v32524 :where(button,.btn,.button,[role="button"]){min-height:40px}
body.admin-ui-v32420.ca-ux-v32524 table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}
body.admin-ui-v32420.ca-ux-v32524 table th{font-size:11.5px;line-height:1.3;white-space:normal}
body.admin-ui-v32420.ca-ux-v32524 table td{line-height:1.45;vertical-align:middle}
body.admin-ui-v32420.ca-ux-v32524 :where(.flash,.alert){font-size:13.5px;line-height:1.5}

/* Tablet admin: drawer from 1100 px instead of forcing 272 px sidebar + CRM
   content into a narrow 900–1100 px viewport. The controller JS uses the same
   breakpoint in this package. */
@media (min-width:901px) and (max-width:1100px){
  body.admin-ui-v32420.ca-ux-v32524 .admin-mobile-toggle{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    width:auto!important;min-width:82px!important;height:44px!important;padding:0 12px!important;
    border:1px solid #cfdeeb!important;border-radius:12px!important;background:#fff!important;color:#123b60!important;
    position:relative!important;z-index:1102!important;
  }
  body.admin-ui-v32420.ca-ux-v32524 .admin-mobile-close{display:flex!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-mobile-overlay{
    display:block!important;position:fixed!important;z-index:1100!important;inset:0!important;
    background:rgba(3,17,37,.50)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  body.admin-ui-v32420.ca-ux-v32524.menu-open .admin-mobile-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.admin-ui-v32420.ca-ux-v32524 .ca-admin-sidebar{
    display:flex!important;position:fixed!important;z-index:1101!important;inset:0 auto 0 0!important;
    width:min(88vw,340px)!important;min-width:0!important;max-width:340px!important;height:100dvh!important;
    transform:translate3d(-104%,0,0)!important;transition:transform .24s ease!important;border-radius:0 20px 20px 0!important;
    overflow:hidden!important;
  }
  body.admin-ui-v32420.ca-ux-v32524.menu-open .ca-admin-sidebar{transform:translate3d(0,0,0)!important}
  body.admin-ui-v32420.ca-ux-v32524 .ca-admin-main{margin-left:0!important;width:100%!important}
  body.admin-ui-v32420.ca-ux-v32524 .ca-admin-logout{position:absolute!important;left:0!important;right:0!important;bottom:0!important}
  body.admin-ui-v32420.ca-ux-v32524 .crm20-sidebar-nav{padding-bottom:max(98px,calc(env(safe-area-inset-bottom) + 88px))!important;overflow-y:auto!important}
  body.admin-ui-v32420.ca-ux-v32524.menu-open{overflow:hidden!important}
}

@media (max-width:1100px){
  body.admin-ui-v32420.ca-ux-v32524 .ca-admin-main{margin-left:0!important;width:100%!important;min-width:0!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-page-title{padding-inline:18px!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-account{display:none!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-view-site{display:none!important}
}

@media (max-width:760px){
  body.admin-ui-v32420.ca-ux-v32524 .ca-admin-top{
    min-height:64px!important;padding:9px 12px!important;position:sticky!important;top:0!important;z-index:900!important;
  }
  body.admin-ui-v32420.ca-ux-v32524 .admin-mobile-toggle{min-width:46px!important;width:46px!important;padding:0!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-mobile-toggle .mobile-menu-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-global-search{height:44px!important;min-height:44px!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-global-search input{font-size:16px!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-page-title{padding:14px 12px 10px!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-page-title h1{font-size:23px!important}
  body.admin-ui-v32420.ca-ux-v32524 .admin-live-dot{display:none!important}
  body.admin-ui-v32420.ca-ux-v32524 :where(input,select,textarea){font-size:16px!important}
  body.admin-ui-v32420.ca-ux-v32524 table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  body.admin-ui-v32420.ca-ux-v32524 table th,
  body.admin-ui-v32420.ca-ux-v32524 table td{min-width:110px}
  body.admin-ui-v32420.ca-ux-v32524 :where(.admin-card,.crm-card,.panel,.card){border-radius:14px!important}
}

/* --------------------------------------------------------------------------
   ESPACE CLIENT
   -------------------------------------------------------------------------- */
body.client-portal-body.ca-ux-v32524{
  --cp23-text:var(--ux24-text);
  --cp23-muted:var(--ux24-muted);
  margin:0;
  background:#f3f7fb!important;
  color:var(--ux24-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:15px;
  line-height:1.5;
  overflow-x:hidden;
}
body.client-portal-body.ca-ux-v32524 .client-portal-shell{grid-template-columns:270px minmax(0,1fr)!important}
body.client-portal-body.ca-ux-v32524 .client-portal-sidebar{width:270px;padding:18px 14px!important}
body.client-portal-body.ca-ux-v32524 .client-portal-brand span{font-size:20px!important}
body.client-portal-body.ca-ux-v32524 .client-portal-brand small{font-size:10px!important;line-height:1.35}
body.client-portal-body.ca-ux-v32524 .cp-nav a{min-height:46px!important;font-size:13px!important;border-radius:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-nav a i{font-size:15px!important}
body.client-portal-body.ca-ux-v32524 .cp-nav-badge{font-size:10px!important;min-width:21px!important;height:21px!important}
body.client-portal-body.ca-ux-v32524 .cp-side-help{padding:14px!important}
body.client-portal-body.ca-ux-v32524 .cp-side-help strong{font-size:13px!important}
body.client-portal-body.ca-ux-v32524 .cp-side-help span,
body.client-portal-body.ca-ux-v32524 .cp-side-help a{font-size:11.5px!important}
body.client-portal-body.ca-ux-v32524 .client-portal-sidebar form button{min-height:44px;font-size:13px}
body.client-portal-body.ca-ux-v32524 .client-portal-top{min-height:70px!important;padding:10px 24px!important}
body.client-portal-body.ca-ux-v32524 .client-portal-top small{font-size:10px!important}
body.client-portal-body.ca-ux-v32524 .client-portal-top strong{font-size:15px!important}
body.client-portal-body.ca-ux-v32524 .client-secure{font-size:11.5px!important;padding:7px 10px!important}
body.client-portal-body.ca-ux-v32524 .client-portal-content{max-width:1500px!important;padding:clamp(18px,2vw,30px)!important}
body.client-portal-body.ca-ux-v32524 .client-flash{font-size:13px!important;padding:12px 14px!important}
body.client-portal-body.ca-ux-v32524 .cp-hero-v2{padding:28px!important;border-radius:20px!important}
body.client-portal-body.ca-ux-v32524 .cp-eyebrow{font-size:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-hero-v2 h1{font-size:clamp(28px,2.6vw,36px)!important;line-height:1.12!important}
body.client-portal-body.ca-ux-v32524 .cp-hero-v2 p{font-size:14px!important;line-height:1.55!important}
body.client-portal-body.ca-ux-v32524 .cp-hero-ref small,
body.client-portal-body.ca-ux-v32524 .cp-hero-ref span{font-size:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-hero-ref strong{font-size:14px!important}
body.client-portal-body.ca-ux-v32524 .cp-progress>div{font-size:11px!important;line-height:1.35!important;min-height:88px}
body.client-portal-body.ca-ux-v32524 .cp-progress b{width:32px!important;height:32px!important}
body.client-portal-body.ca-ux-v32524 .cp-kpi-grid a{padding:17px!important}
body.client-portal-body.ca-ux-v32524 .cp-kpi-grid span{font-size:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-kpi-grid strong{font-size:26px!important;line-height:1.1}
body.client-portal-body.ca-ux-v32524 .cp-kpi-grid small{font-size:11px!important;line-height:1.35!important}
body.client-portal-body.ca-ux-v32524 .cp-panel{padding:20px!important}
body.client-portal-body.ca-ux-v32524 .cp-panel-head small{font-size:10px!important}
body.client-portal-body.ca-ux-v32524 .cp-panel-head h2{font-size:19px!important;line-height:1.2!important}
body.client-portal-body.ca-ux-v32524 .cp-panel-head a{font-size:12px!important}
body.client-portal-body.ca-ux-v32524 .cp-list strong{font-size:13px!important}
body.client-portal-body.ca-ux-v32524 .cp-list span,
body.client-portal-body.ca-ux-v32524 .cp-list-right small{font-size:11px!important;line-height:1.35!important}
body.client-portal-body.ca-ux-v32524 .cp-list-right b{font-size:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-empty{font-size:13px!important;line-height:1.5!important}
body.client-portal-body.ca-ux-v32524 .cp-status,
body.client-portal-body.ca-ux-v32524 .cp-pill{font-size:10px!important;line-height:1.2!important;padding:6px 9px!important}
body.client-portal-body.ca-ux-v32524 .cp-detail-card{padding:20px!important}
body.client-portal-body.ca-ux-v32524 .cp-detail-top small{font-size:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-detail-card h2{font-size:19px!important}
body.client-portal-body.ca-ux-v32524 .cp-detail-fields p{padding:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-detail-fields span{font-size:11px!important}
body.client-portal-body.ca-ux-v32524 .cp-detail-fields strong{font-size:13px!important;line-height:1.4!important}
body.client-portal-body.ca-ux-v32524 .cp-note b{font-size:12px!important}
body.client-portal-body.ca-ux-v32524 .cp-note p{font-size:12px!important;line-height:1.55!important}
body.client-portal-body.ca-ux-v32524 :where(.cp-success-line,.cp-renewal,.cp-security-line){font-size:12px!important;line-height:1.45!important}
body.client-portal-body.ca-ux-v32524 .cp-actions a{min-height:42px!important;padding:0 14px!important;font-size:12px!important}
body.client-portal-body.ca-ux-v32524 .cp-amount{font-size:28px!important}
body.client-portal-body.ca-ux-v32524 .cp-security-box span,
body.client-portal-body.ca-ux-v32524 .cp-security-box strong{font-size:12px!important}
body.client-portal-body.ca-ux-v32524 :where(input,select,textarea){font-size:14px;min-height:44px}

@media (min-width:901px) and (max-width:1100px){
  body.client-portal-body.ca-ux-v32524 .client-portal-shell{display:block!important}
  body.client-portal-body.ca-ux-v32524 .client-portal-main{width:100%!important;min-width:0!important}
  body.client-portal-body.ca-ux-v32524 .client-mobile-menu{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    min-width:82px!important;width:auto!important;height:44px!important;padding:0 12px!important;
    border:1px solid #d3e0ec!important;border-radius:12px!important;background:#fff!important;color:#173b5d!important;
  }
  body.client-portal-body.ca-ux-v32524 .client-mobile-close{display:flex!important}
  body.client-portal-body.ca-ux-v32524 .client-portal-sidebar{
    display:flex!important;position:fixed!important;z-index:1001!important;left:0!important;top:0!important;bottom:0!important;
    width:min(88vw,330px)!important;max-width:330px!important;height:100dvh!important;
    transform:translate3d(-104%,0,0)!important;transition:transform .24s ease!important;
    box-shadow:26px 0 60px rgba(0,20,45,.28)!important;
  }
  body.client-portal-body.ca-ux-v32524.client-menu-open .client-portal-sidebar{transform:translate3d(0,0,0)!important}
  body.client-portal-body.ca-ux-v32524 .client-mobile-overlay{
    display:block!important;position:fixed!important;z-index:1000!important;inset:0!important;background:rgba(3,17,37,.50)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  }
  body.client-portal-body.ca-ux-v32524.client-menu-open .client-mobile-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.client-portal-body.ca-ux-v32524.client-menu-open{overflow:hidden!important}
}

@media (max-width:1100px){
  body.client-portal-body.ca-ux-v32524 .client-portal-content{padding:18px!important}
  body.client-portal-body.ca-ux-v32524 .cp-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.client-portal-body.ca-ux-v32524 .cp-dashboard-columns,
  body.client-portal-body.ca-ux-v32524 .cp-profile-grid{grid-template-columns:1fr!important}
}

@media (max-width:760px){
  body.client-portal-body.ca-ux-v32524 .client-portal-top{min-height:64px!important;padding:9px 12px!important;position:sticky!important;top:0!important;z-index:900!important}
  body.client-portal-body.ca-ux-v32524 .client-portal-content{padding:14px 12px max(18px,env(safe-area-inset-bottom))!important}
  body.client-portal-body.ca-ux-v32524 .client-secure{display:none!important}
  body.client-portal-body.ca-ux-v32524 .client-mobile-menu{min-width:46px!important;width:46px!important;padding:0!important}
  body.client-portal-body.ca-ux-v32524 .client-mobile-menu .mobile-menu-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  body.client-portal-body.ca-ux-v32524 .cp-hero-v2{padding:20px!important}
  body.client-portal-body.ca-ux-v32524 .cp-hero-v2 h1{font-size:27px!important}
  body.client-portal-body.ca-ux-v32524 .cp-hero-v2 p{font-size:13px!important}
  body.client-portal-body.ca-ux-v32524 .cp-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.client-portal-body.ca-ux-v32524 .cp-kpi-grid a{padding:14px!important;min-height:108px}
  body.client-portal-body.ca-ux-v32524 .cp-progress{grid-template-columns:1fr 1fr!important}
  body.client-portal-body.ca-ux-v32524 .cp-card-grid{grid-template-columns:1fr!important}
  body.client-portal-body.ca-ux-v32524 .cp-detail-fields{grid-template-columns:1fr!important}
  body.client-portal-body.ca-ux-v32524 :where(input,select,textarea){font-size:16px!important}
}

@media (max-width:420px){
  body.client-portal-body.ca-ux-v32524 .cp-kpi-grid{grid-template-columns:1fr!important}
  body.client-portal-body.ca-ux-v32524 .cp-progress{grid-template-columns:1fr!important}
  body.client-portal-body.ca-ux-v32524 .cp-kpi-grid a{min-height:0}
}

/* Motion / accessibility */
@media (prefers-reduced-motion:reduce){
  body.ca-ux-v32524 *,body.ca-ux-v32524 *::before,body.ca-ux-v32524 *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
