/* Escala de interfaz y composición basadas en el espacio disponible. */
body:has(#auth-view:not([hidden])){overflow:hidden}
.auth-view{height:100svh;min-height:0;padding:clamp(18px,4svh,44px) clamp(24px,5vw,90px);gap:clamp(24px,5vw,90px);align-items:center;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.auth-story{height:100%;min-height:0;max-height:740px;justify-content:space-between;gap:clamp(12px,2svh,24px)}
.auth-brand img{width:clamp(88px,9vw,122px)}
.auth-message{margin:0}.auth-accent{height:4px;width:54px;margin-bottom:clamp(16px,2svh,26px)}
.auth-story h1{font-size:clamp(32px,min(3.25vw,6svh),49px);font-weight:650;letter-spacing:-.035em;line-height:1.12}
.auth-story p{font-size:clamp(15px,min(1.35vw,2.7svh),20px);max-width:430px;line-height:1.55;margin:clamp(14px,2.5svh,25px) 0 0}
.auth-values{gap:22px;max-width:540px}.value-icon{width:clamp(42px,7svh,62px);height:clamp(42px,7svh,62px);margin-bottom:10px}.value-icon svg{width:30px;height:30px}.auth-values strong{font-size:12px;letter-spacing:.07em;font-weight:650}.auth-values p{font-size:12px;line-height:1.5;margin:6px 0 0}.auth-values>div+div:before{background:#cddce9;top:12px}
.auth-panel{height:100%;min-height:0;padding:0;align-items:center}
.auth-card{width:100%;max-width:430px;padding:clamp(22px,4svh,38px) clamp(22px,3vw,36px);border-radius:20px;box-shadow:0 16px 65px #48a5cf0c}
.auth-logo{width:85px;display:block;margin:0 auto clamp(16px,3svh,28px)}
.auth-card h2{font-size:28px;font-weight:650;margin:0 0 8px;letter-spacing:-.03em}.auth-card>p{font-size:13px;line-height:1.5}
.auth-card form{margin:clamp(20px,3svh,30px) 0 16px}.auth-card form>label{font-size:12px;font-weight:500;margin-bottom:7px}.auth-input{min-height:46px;margin-bottom:18px;border-radius:9px}.auth-input>svg{width:18px;height:18px;margin-left:14px}.auth-card .auth-input input{padding:12px;font-size:13px;border-radius:9px}.auth-password-toggle{padding:12px}.auth-password-toggle svg{width:18px;height:18px}
.auth-options{gap:12px;margin:0 0 18px;flex-direction:row;align-items:center}.auth-card .auth-remember{font-size:10px;gap:6px}.auth-card .auth-remember input{width:14px;height:14px}.auth-recovery{font-size:11px}.auth-card #login-submit{min-height:46px;border-radius:9px;font-size:14px;font-weight:550;gap:15px}.auth-card #login-submit svg{width:18px;height:18px}.auth-footer{font-size:10px!important;padding-top:13px;gap:8px}.auth-footer svg{width:15px;height:15px}.auth-card .auth-help{font-size:11px;line-height:1.45;margin:0 0 13px;padding:10px}.auth-card .form-error{font-size:11px;line-height:1.4;margin:0 0 12px}.auth-orbit{top:-1040px;left:25%;opacity:.65}.auth-wave{opacity:.5}.auth-sphere{width:24px;height:24px}
.page-header{min-height:60px;margin-bottom:20px}.page-header h1{font-size:clamp(24px,2.1vw,31px);font-weight:650;letter-spacing:-.035em}.page-header p{font-size:12px;line-height:1.6;margin-top:8px}.eyebrow{font-size:9px;font-weight:600;margin-bottom:9px}.kpi{min-height:130px;padding:18px}.kpi-head{font-size:11px}.kpi-value{font-size:30px;margin:14px 0 7px;font-weight:650}.kpi-icon{width:30px;height:30px}.kpi-icon .icon{width:17px;height:17px}.kpi-note{line-height:1.6}.panel-header h2{font-size:14px;font-weight:650;letter-spacing:-.02em}.panel-header p{font-size:11px}.panel-header{padding:16px 18px 8px}.panel-body{padding:16px 18px}.client-card h2{font-size:15px}.branch-total>strong{font-size:26px}.branch-emotion strong{font-size:25px}.branch-emotion .face{width:35px;height:35px}.sede-emotion-card .face{width:58px;height:58px}.sede-emotion-count{font-size:32px}
.filterbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:14px 16px;margin-bottom:18px}.filterbar .filter-field,.filterbar.experience-filters .filter-field{flex:0 1 180px;min-width:0;max-width:240px;gap:6px}.filter-field label{display:flex;flex-direction:column;gap:6px;font-size:10px;line-height:1.4;letter-spacing:0;font-weight:500}.filterbar select,.filterbar input{width:100%;min-width:0;max-width:100%;height:35px;min-height:35px;padding:7px 10px;font-size:11px;line-height:normal;box-sizing:border-box;display:block}.filterbar .button{min-height:35px;padding:7px 10px;font-size:10px;align-self:flex-end}.filter-meta{font-size:10px;line-height:1.5;align-self:center;min-width:0;overflow-wrap:anywhere;margin-left:auto}.filterbar .search-field{flex:1 1 220px;min-width:0;max-width:380px}.search-field input{padding-left:32px}.search-field .icon{top:9px}
.two-columns,.two-columns.equal{align-items:start}.calendar-layout{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.6fr);align-items:start;gap:16px;margin-bottom:18px}.calendar-layout>.panel{min-width:0}.overview-details{align-items:start}.donut{width:clamp(118px,11vw,150px);height:clamp(118px,11vw,150px)}.donut-center strong{font-size:25px}.satisfaction-layout{gap:18px;justify-content:center;flex-wrap:wrap}.distribution{min-width:140px;flex:1;max-width:240px}.distribution-row{font-size:11px}.distribution-row .face{width:28px;height:28px}.sector-row{grid-template-columns:minmax(70px,1fr) minmax(50px,1.6fr) 35px}.sector-row>span{overflow-wrap:anywhere}.chart-summary{gap:16px;flex-wrap:wrap}.chart-summary span{font-size:10px}.chart-summary strong{font-size:11px}.sample-note{font-size:10px;line-height:1.6}.decision-cards h2{font-size:15px}.decision-cards p{font-size:11px}

.experience-calendar{min-width:0;container-type:inline-size;color:#3b5680}.calendar-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.calendar-period{display:flex;gap:10px}.calendar-period label{font-size:9px;color:#7890ae;display:flex;flex-direction:column;gap:5px}.calendar-period select{height:32px;min-width:80px;font-size:11px;padding:5px 9px;border:1px solid #dee9f4;border-radius:7px;color:#294775;background:white}.calendar-navigation{display:flex;gap:5px}.calendar-navigation button{height:32px;border:1px solid #e4edf6;background:#fff;border-radius:7px;color:#537399;font-size:10px;padding:5px 9px}.calendar-navigation button[data-calendar-move]{font-size:19px;line-height:1;width:30px;padding:0}
.calendar-year{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-bottom:15px}.calendar-year button{display:flex;flex-direction:column;gap:4px;border:1px solid transparent;border-radius:6px;background:#f5f9fd;color:#6d87a6;min-width:0;padding:7px 2px;font-size:9px}.calendar-year button small{font-size:9px;color:#8da2bc}.calendar-year button[aria-pressed=true]{color:#008ce9;background:#edf8ff;border-color:#b9e3ff}.calendar-year button[aria-pressed=true] small{color:#008ce9}.calendar-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:11px}.calendar-summary>strong{font-size:14px;font-weight:650;color:#18345d}.calendar-summary strong span{font-weight:400;color:#8aa0b9}.calendar-summary>span{font-size:10px;color:#7088a9}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;font-size:10px}.cal-positive{color:#129b83}.cal-regular{color:#b88b28}.cal-negative{color:#d65972}.calendar-legend>span,.calendar-detail-counts>span{display:inline-flex;align-items:center;gap:5px}.calendar-legend i,.calendar-detail-counts i{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{font-size:9px;color:#8095b1;text-align:center;margin-bottom:7px}.calendar-day{min-width:0;border:1px solid #edf2f8;background:#fbfdff;border-radius:7px;min-height:65px;padding:7px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:#385577;gap:4px}.calendar-date{display:flex;align-items:center;gap:5px;font-size:10px;color:#7890ad}.calendar-date i{width:4px;height:4px;background:#009cff;border-radius:50%}.calendar-day>strong{font-size:15px;font-weight:600;color:#1e3f69}.cal-empty{font-size:11px;font-weight:400;color:#becbdc}.calendar-day.has-reviews{background:#f4fbff}.calendar-day[aria-pressed=true]{border-color:#48b6f5;background:#edf8ff;box-shadow:0 0 0 1px #48b6f512}.calendar-day.is-today .calendar-date{color:#009cff;font-weight:650}.calendar-day:hover,.calendar-year button:hover{border-color:#96d7ff;background:#eff8ff}.calendar-day-counts{display:flex;gap:6px;font-size:8px;line-height:1.2;min-height:10px}.calendar-day-counts>span{display:inline-flex;gap:2px;align-items:center}.calendar-day-counts>span:before{content:'';width:3px;height:3px;background:currentColor;border-radius:50%}.calendar-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #eaf1f8;margin-top:14px;padding-top:14px;font-size:10px}.calendar-detail>div:first-child{display:flex;flex-direction:column;gap:5px}.calendar-detail strong{color:#24446d;font-weight:600;font-size:11px}.calendar-detail>div:first-child>span{color:#8196b1}.calendar-detail-counts{display:flex;gap:12px;flex-wrap:wrap}.calendar-note{font-size:9px;color:#91a2b9;line-height:1.5;margin:12px 0 0}
@container(max-width:480px){.calendar-day{min-height:55px;padding:5px;gap:3px}.calendar-day-counts{gap:4px;font-size:7px}.calendar-year{grid-template-columns:repeat(6,minmax(0,1fr))}.calendar-year button{flex-direction:row;justify-content:center;gap:7px;padding:5px 2px}.calendar-period select{min-width:70px}.calendar-navigation button{padding:5px 7px}.calendar-day>strong{font-size:13px}}
@container(max-width:330px){.calendar-grid,.calendar-weekdays{gap:3px}.calendar-day-counts{display:none}.calendar-day{min-height:48px}.calendar-toolbar{gap:8px}.calendar-legend{font-size:9px;gap:10px}.calendar-detail-counts{gap:9px}}
.filterbar.experience-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}.filterbar.experience-filters .filter-field{max-width:none;width:100%}.filterbar.experience-filters>.button{grid-column:1/-1;justify-self:end}.calendar-layout .satisfaction-layout{flex-wrap:wrap}
@media(max-width:1050px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-layout>.panel:first-child .satisfaction-layout{flex-wrap:nowrap;max-width:420px;margin:auto}}
@media(max-width:720px){.filterbar.experience-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-filters .filter-field:has(input[type=search]){grid-column:1/-1}.calendar-day-counts{font-size:8px}}
@media(max-height:700px){.auth-view{padding-top:20px;padding-bottom:20px}.auth-card{padding:23px 28px}.auth-logo{width:72px;margin-bottom:16px}.auth-card h2{font-size:25px}.auth-card form{margin-top:20px;margin-bottom:12px}.auth-story h1{font-size:36px}.auth-story p{font-size:16px}.auth-values p{font-size:11px}.auth-footer{padding-top:10px}.auth-input{margin-bottom:15px}}
@media(max-width:900px){.auth-view{grid-template-columns:minmax(0,1fr);padding:20px;gap:0}.auth-story{display:none}.auth-panel{min-height:0}.auth-card{max-width:410px}.auth-sphere{left:88%;top:15%;opacity:.6}.auth-orbit{left:5%;top:-1050px}}
@media(max-width:720px){.filterbar .filter-field,.filterbar.experience-filters .filter-field{flex:1 1 calc(50% - 6px);max-width:none;min-width:0}.filterbar .search-field{max-width:none;flex:1 1 100%}.filter-meta{width:100%;margin-left:0}.page-header h1{font-size:25px}.page-header p{font-size:11px}.panel-header,.panel-body{padding:14px}.panel-header{padding-bottom:7px}.kpi-grid{gap:10px}.kpi{padding:15px;min-height:120px}.kpi-value{font-size:28px}.satisfaction-layout{gap:15px;flex-wrap:nowrap}.donut{width:125px;height:125px}.distribution{min-width:100px}.distribution-row{font-size:10px}.auth-view{padding:16px}.auth-card{padding:26px 24px}.auth-card h2{font-size:26px}.auth-card form>label{font-size:12px}.auth-card .auth-input input{font-size:16px;padding:11px}.auth-options{gap:9px}.auth-card .auth-remember{font-size:10px}.auth-recovery{font-size:10px}.auth-footer{font-size:9px!important}.calendar-detail{align-items:flex-start}}
@media(max-height:590px){.auth-view{padding:12px 20px}.auth-story h1{font-size:30px}.auth-story p{font-size:14px}.auth-brand img{width:86px}.auth-values{display:none}.auth-card{padding:16px 22px}.auth-logo{width:60px;margin-bottom:10px}.auth-card h2{font-size:22px;margin-bottom:4px}.auth-card>p{font-size:11px}.auth-card form{margin:16px 0 10px}.auth-card form>label{font-size:11px;margin-bottom:5px}.auth-input{min-height:40px;margin-bottom:12px}.auth-card .auth-input input{padding:9px 10px;font-size:13px}.auth-password-toggle{padding:9px}.auth-options{margin-bottom:12px}.auth-card #login-submit{min-height:40px;font-size:13px}.auth-footer{padding-top:8px;font-size:9px!important}.auth-card .auth-help{font-size:10px;padding:8px;margin-bottom:10px}}
@media(max-height:450px){.auth-logo,.auth-footer{display:none!important}.auth-card{padding:14px 22px}.auth-card form{margin:12px 0 0}.auth-card>p{display:none}.auth-input{margin-bottom:8px}.auth-options{margin-bottom:8px}.auth-card h2{font-size:20px}}
