/* Pulso follows the Nexo shell, satin silver navigation and Tectria red. */
.pulso-sidebar,.pulso-topbar{display:none}
body.connected main{display:grid;grid-template-columns:230px minmax(0,1fr);background:radial-gradient(ellipse at 96% 4%,#efdfe3aa,transparent 46%),radial-gradient(ellipse at 4% 32%,#dce4ef90,transparent 50%),linear-gradient(130deg,#faf9f7,#f0f2f6 60%,#f8f3f2)}
body.connected .pulso-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:32px 22px;background:linear-gradient(128deg,#e0e2e6,#cbd0d7 43%,#b5bdc9);border-right:1px solid #aab2bf66;box-shadow:7px 0 26px #45516a09;isolation:isolate}
.pulso-sidebar:after{content:'';position:absolute;left:-190px;bottom:-140px;width:440px;height:520px;border:1px solid #ffffff66;border-radius:50%;box-shadow:0 0 0 16px #ffffff45,0 0 0 32px #ffffff35;z-index:-1;pointer-events:none}
.pulso-sidebar>.logo{display:flex;font-size:33px;gap:10px;margin-bottom:26px}.pulso-sidebar>.logo svg{width:49px;height:49px}.pulso-sidebar .logo small{font-size:7px;letter-spacing:3px;margin-top:8px}
.client-logo{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:78px;background:#ffffff40;border:1px dashed #929eac;border-radius:10px;font-size:10px;font-weight:700;color:#566172;margin-bottom:22px}.client-logo small{display:block;font-size:9px;font-weight:400;margin-top:7px}
.sidebar-company{border-top:1px solid #8d97a64d;padding:18px 8px 24px;font-size:14px;font-weight:600}.sidebar-company small{display:block;font-size:8px;letter-spacing:1px;color:#566172;margin-top:9px}
.pulso-sidebar .dashboard-nav{display:grid;gap:8px;margin:0}.pulso-sidebar .dashboard-nav button,.pulso-sidebar .module-links button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:12px 11px;min-height:44px;font-size:12px;font-weight:600;border-radius:7px;color:#333d4c;background:linear-gradient(180deg,#f0f2f48c,#d8dde49c 48%,#c0c7d2c2 52%,#b5bfcca6);border:1px solid #949eac60;box-shadow:inset 0 1px 0 #ffffffa8,0 3px 7px #4b5c7210}
.pulso-sidebar .dashboard-nav [aria-current=page]{background:linear-gradient(155deg,#e03149,#c81d35 57%,#b11830)!important;border-color:#a81830!important;color:white!important;box-shadow:inset 0 1px 0 #ffffff40,0 5px 13px #a3162b25}
.nav-icon{width:19px;text-align:center;font-size:18px;font-weight:400}.pulso-sidebar .module-links{background:none;box-shadow:none;border:0;border-top:1px solid #8d97a64d;border-radius:0;padding:16px 0 0;margin:20px 0;display:grid;gap:8px}.module-links button>span{width:19px;text-align:center;font-size:18px}.sidebar-footer{margin-top:auto;padding:20px 8px 0;color:#4c586a;font-size:10px}.sidebar-footer p{font-size:10px;color:#556174;line-height:1.5}
body.connected .card{padding:110px 35px 30px;position:relative;margin:0;max-width:1600px;width:100%;min-width:0}body.connected .card>.logo{display:none}body.connected .card>.eyebrow{display:block;font-size:9px;letter-spacing:1.9px;color:#b7253c}body.connected h2{font-size:30px;font-weight:650;letter-spacing:-.8px;margin:12px 0 9px}body.connected #access-description{font-size:12px;margin:0;color:#6b7382}
body.connected .pulso-topbar{position:absolute;top:0;left:0;right:0;height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;background:linear-gradient(180deg,#373b43,#171b23 50%,#11151d 52%,#1b202a);color:#d5dae4;border-bottom:1px solid #0b0f16;box-shadow:0 5px 18px #27324614;font-size:11px}.pulso-topbar strong{font-weight:400;font-size:20px;letter-spacing:5px;color:#e2e5eb}.pulso-topbar i{display:inline-block;width:6px;height:6px;background:#5cba99;border-radius:50%;margin-right:10px}
#connected{margin-top:24px}.dashboard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.dashboard-actions button{margin:0;font-size:12px}.local-badge{font-size:10px;padding:7px 10px;border:1px solid #d9dde5;border-radius:5px;background:#ffffff8c;color:#697587}.metric,.metric:nth-child(2),.metric:nth-child(3),.metric:nth-child(4),.dashboard-card{background:linear-gradient(145deg,#ffffffed,#f9fafbe0);border:1px solid #d9dee6;box-shadow:inset 0 1px 0 #fff,0 7px 22px #35415808,0 1px 3px #35415804;border-radius:15px}.metric:first-child{border-top:3px solid #c9233c;background:linear-gradient(145deg,#fff,#fbf5f6)}.metric{gap:14px;padding:23px 20px}.metric strong{font-weight:650;font-size:29px}.metric span{font-size:11px}.metric small{font-size:10px}.dashboard-card h3{font-size:16px}.dashboard-card{padding:25px}.dashboard-filters{gap:12px}.dashboard-filters input{min-height:41px;font-size:13px}.portal-account{border-top:1px solid #cbd3df88;padding-top:14px;margin-top:24px}.dashboard-filters button,.portal-account button{background:linear-gradient(180deg,#fff,#f4f6f9)!important}th{background:linear-gradient(180deg,#f6f8fa,#edf0f5);font-size:10px}td{font-size:12px}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:750px){body.connected main{grid-template-columns:1fr}body.connected .pulso-sidebar{height:auto;position:relative;padding:20px;overflow:hidden}.pulso-sidebar>.logo{font-size:29px;margin-bottom:18px}.pulso-sidebar>.logo svg{width:42px;height:42px}.client-logo,.sidebar-company,.sidebar-footer{display:none}.pulso-sidebar .dashboard-nav{display:flex;overflow:auto;flex-wrap:nowrap;gap:6px;padding:0 0 8px}.pulso-sidebar .dashboard-nav button{width:auto;min-height:36px;font-size:11px;padding:8px 10px;gap:6px;flex-shrink:0}.nav-icon{font-size:14px;width:15px}.pulso-sidebar .module-links{display:flex;margin:10px 0 0;padding:10px 0 0;gap:8px}.pulso-sidebar .module-links button{width:auto;min-height:36px;font-size:11px;padding:8px 14px}.pulso-sidebar:after{display:none}body.connected .card{padding:92px 18px 25px}body.connected .pulso-topbar{height:65px;padding:0 18px}.pulso-topbar strong{font-size:14px;letter-spacing:3px}body.connected h2{font-size:25px}.metric{padding:17px 14px}.metric strong{font-size:23px}.dashboard-card{padding:20px}.dashboard-actions{align-items:flex-start}.local-badge{font-size:9px}}
.menu-toggle{display:none}.client-logo{width:100%;padding:10px;margin-top:0!important;background:#ffffff40!important;box-shadow:none!important;color:#566172!important}.client-logo img{display:block;max-width:100%;width:auto;max-height:80px;object-fit:contain}.client-logo:focus-visible{outline:2px solid #c9233c;outline-offset:3px}@media(max-width:750px){body.connected .pulso-sidebar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 15px}.pulso-sidebar>.logo{margin:0}.menu-toggle{display:flex;align-items:center;gap:8px;margin:0;padding:10px 13px;background:#ffffff70;color:#333d4c;border:1px solid #949eac60;font-size:12px}.pulso-sidebar .client-logo,.pulso-sidebar .sidebar-company,.pulso-sidebar .dashboard-nav,.pulso-sidebar .module-links{display:none}.pulso-sidebar.menu-open .client-logo{display:flex;grid-column:1/-1;min-height:75px;margin:18px 0 12px!important}.pulso-sidebar.menu-open .sidebar-company{display:block;grid-column:1/-1;padding:15px 8px}.pulso-sidebar.menu-open .dashboard-nav{display:grid;grid-column:1/-1;padding:0;overflow:visible}.pulso-sidebar.menu-open .dashboard-nav button{width:100%;font-size:12px;min-height:40px}.pulso-sidebar.menu-open .module-links{display:none}.pulso-sidebar.menu-open .module-links button{flex:1}}

.tectria-brand{display:block;width:155px;height:65px;object-fit:contain}.sidebar-footer .tectria-brand{width:145px;height:70px;background:#1b202a;border-radius:7px;padding:5px;margin-bottom:12px}@media(max-width:750px){.pulso-topbar .tectria-brand{width:115px;height:52px}}

/* Touch-friendly phone layout; desktop keeps the approved presentation. */
.dashboard-card details{border-bottom:1px solid #e2e6ed;padding:6px 0}.dashboard-card summary{cursor:pointer;padding:14px 0;font-size:14px;font-weight:600;line-height:1.5}.dashboard-card summary:focus-visible{outline:2px solid #c9233c;outline-offset:3px}
@media(max-width:750px){
 body.connected .card{padding:85px 16px 24px}.pulso-sidebar.menu-open .dashboard-nav button,.pulso-sidebar.menu-open .module-links button,.menu-toggle{min-height:44px}
 .dashboard-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.dashboard-filters label{min-width:0}.dashboard-filters input{width:100%;min-width:0;min-height:44px;padding:10px 7px}.dashboard-filters button{width:100%;min-height:44px;padding:10px 8px;font-size:12px}
 .dashboard-actions{align-items:center}.dashboard-actions button{min-height:44px}.metric{min-width:0;gap:12px}.metric strong{overflow-wrap:anywhere;font-size:22px;line-height:1.25}.metric small{line-height:1.45}
 .dashboard-card{padding:19px 16px}.dashboard-card h3{margin-bottom:16px}.dashboard-card p{overflow-wrap:anywhere}.bar-row{grid-template-columns:75px minmax(20px,1fr) 88px;font-size:11px}
 .table-scroll{overflow:visible}table,tbody{display:block;width:100%}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}tbody tr{display:block;border:1px solid #dce2ea;border-radius:10px;margin-bottom:12px;padding:8px 12px;background:#fff}tbody tr:hover{background:#fff}td{display:grid;grid-template-columns:minmax(95px,.9fr) minmax(0,1.1fr);gap:12px;align-items:start;padding:10px 0;white-space:normal;overflow-wrap:anywhere;font-size:13px;text-align:right}td::before{content:attr(data-label);color:#687484;font-size:12px;font-weight:600;text-align:left}td:last-child{border-bottom:0}
 .portal-account{display:grid;grid-template-columns:1fr}.portal-account button{min-height:44px;margin:0}.goal-percent{font-size:34px}#message{overflow-wrap:anywhere}
}
@media(max-width:360px){.metrics{grid-template-columns:1fr}.dashboard-actions{align-items:stretch;flex-direction:column}.bar-row{grid-template-columns:70px minmax(15px,1fr) 80px}.pulso-topbar>span{font-size:10px}.pulso-topbar .tectria-brand{width:95px}}

