/* Shared UX layer. Load after screen styles so breakpoints stay consistent. */
:root{--border:#dce3ee;--danger:#b42332;--shadow:0 12px 34px rgba(38,51,79,.08)}
html{scroll-padding-top:24px}body{line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}
[hidden]{display:none!important}h1,h2,h3,p,small,strong,legend{overflow-wrap:normal}h1{line-height:1.12}h2{line-height:1.3}button{cursor:pointer}a{ text-underline-offset:3px }
:where(.panel,.admin-grid>*,.company-layout>*,.group-layout>*,.report-layout>*,.instrument-layout>*,.report-content,.instrument-main,.form-row>*,.report-kpis>*,.dimension-results>*,.dimension-title>div){min-width:0}
.skip-link{position:fixed;top:8px;left:16px;z-index:100;transform:translateY(-160%);padding:12px 18px;border-radius:10px;background:#26334f;color:#fff}.skip-link:focus{transform:translateY(0)}
.topbar{height:auto;min-height:80px;gap:24px;padding:14px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap}
.brand{flex-shrink:0;font-size:.95rem}.brand-mark{flex-shrink:0}.main-nav{gap:4px;flex-wrap:wrap}.main-nav a,.main-nav button{display:inline-flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:10px;font-size:.86rem}.main-nav a:hover,.main-nav button:hover{background:#f0f4f9}.main-nav a[aria-current=page]{background:#e8eef8;color:#263f71}.main-nav>span{max-width:140px;overflow-wrap:normal;padding:0 8px;font-size:.8rem}.nav-toggle{min-height:44px;align-items:center;gap:10px;border:1px solid var(--border);background:#fff;color:var(--primary);border-radius:10px;padding:8px 12px;font-weight:700}
.container{width:min(1240px,calc(100% - 48px));margin:32px auto 56px}.site-footer{padding:0 24px 24px;color:var(--muted);font-size:.8rem;text-align:center}
.page-head{gap:20px;align-items:center}.page-head h1{font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.035em}.page-head p{margin:6px 0 0;max-width:65ch;font-size:1rem}.page-head>.button{flex-shrink:0}.eyebrow{line-height:1.6;font-size:.72rem;letter-spacing:.12em}
.panel,.card,.group-card,.company-card{border:1px solid #e5eaf2}.panel-title{gap:12px;flex-wrap:wrap}.panel h2,.panel-title h2{font-size:1.25rem}.button{align-items:center;justify-content:center;min-height:44px;line-height:1.4;text-align:center;gap:8px;font-size:.9rem;transition:background-color .15s,box-shadow .15s}.button:hover{box-shadow:0 3px 12px rgba(38,51,79,.12)}.button.primary:hover{background:#bddb3c}.button.soft:hover{background:#d2deef}.table-action,.small-link,.copy-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4}.table-action{padding:8px 10px}.small-link{padding:4px}.badge,.status,.group-status{max-width:100%;overflow-wrap:normal}
.form-stack label,.instrument-layout label{font-size:.875rem;line-height:1.5}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{max-width:100%;min-width:0;font-size:1rem;min-height:44px}select{width:100%;text-overflow:ellipsis;background-color:#fff}input[type=checkbox],input[type=radio]{flex-shrink:0;accent-color:var(--primary)}.check-row{min-height:44px}.check-row input{width:20px!important;height:20px}.form-stack input,.form-stack select,.form-stack textarea{background-color:#fff;color:var(--dark)}input[readonly]{background:#f5f7fb;color:var(--muted)}textarea{resize:vertical;line-height:1.5}input[type=color]{padding:4px;min-height:44px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-stack small{line-height:1.5}.form-disclosure>summary{min-height:44px;padding:10px 0;color:var(--primary);cursor:pointer;font-weight:700}.form-disclosure[open]>summary{border-bottom:1px solid var(--border);margin-bottom:12px}
.table-wrap{max-width:100%;border:1px solid var(--border);border-radius:12px;margin-top:16px;overscroll-behavior-x:contain}.table-wrap table{margin:0;min-width:580px}.table-wrap th{background:#f5f7fb}.table-wrap td{line-height:1.5}.table-wrap tbody tr:hover{background:#fafcff}.table-hint{font-size:.8rem;color:var(--muted);margin:8px 0 0}
.list-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.list-toolbar label{flex:1;min-width:160px;font-size:.85rem;font-weight:700}.list-toolbar input{display:block;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-top:6px}.list-count{font-size:.8rem;color:var(--muted)}.search-empty{padding:24px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);text-align:center;background:#fff}
.company-summary,.group-summary,.report-kpis,.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.company-identity p{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.company-metrics,.company-actions,.group-actions{flex-wrap:wrap}.group-card-head>div{min-width:0}.group-status{flex-shrink:0}.share-row input{width:0;flex:1}.copy-feedback{font-size:.8rem;color:var(--teal-contrast);width:100%;margin-top:6px}.group-details{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-hero>div:first-child{min-width:0}.report-hero h2{font-size:clamp(1.6rem,3vw,2.3rem)}.report-score{min-width:155px;flex-shrink:0}.report-kpis article:last-child strong{font-size:1.15rem;line-height:1.45}.chart-row{grid-template-columns:minmax(120px,1fr) minmax(100px,1.2fr) 48px}.dimension-dot{flex-shrink:0}.dimension-title{flex-wrap:wrap}.dimension-title strong{font-size:1.4rem}.export-actions .button{flex:0 1 auto}
.instrument-layout{grid-template-columns:260px minmax(0,1fr)}.instrument-note{color:#246a70}.instrument-questions{display:grid;gap:20px}.instrument-question-form,.question-edit-form{grid-template-columns:90px minmax(0,1fr) minmax(0,1fr)}.statement-edit-row{grid-template-columns:70px minmax(0,1fr) 110px 95px}.statement-new-row{grid-template-columns:70px minmax(0,1fr) 110px}.statement-edit-row .autosave-status,.statement-new-row>.button{grid-column:1/-1;justify-self:end}.question-editor-head{flex-wrap:wrap}.question-editor-head small{font-size:.75rem}.dimension-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.autosave-status{max-width:100%;border-radius:8px;font-weight:600;justify-content:flex-start}.autosave-retry{grid-column:1/-1;justify-self:start;border:1px solid #edb7bb;background:#fff;color:#8f1d1d;border-radius:8px;padding:8px 12px;min-height:44px}.delete-question-form{margin:0;background:transparent;border:0;border-top:1px solid #ecd8da;border-radius:0;padding:14px 0 0}.delete-question-form small{font-weight:400}.question-editor-card{padding:22px}.instrument-tab{min-width:0;flex:1}.instrument-tab-panel{scroll-margin-top:20px}
.hero{padding:40px;min-height:260px}.hero h1{font-size:clamp(2rem,4.5vw,3.8rem);letter-spacing:-.04em}.hero p{font-size:1rem;max-width:60ch}.orb{flex-shrink:0;width:135px;height:135px;font-size:4rem}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.quick-link{display:block;padding:24px;text-decoration:none;background:#fff;border:1px solid var(--border);border-radius:18px;color:var(--primary);transition:border-color .15s}.quick-link:hover{border-color:var(--primary)}.quick-link strong{display:block;font-size:1.1rem}.quick-link p{font-size:.9rem;margin:8px 0 0}.dashboard-note{margin-top:24px;padding:16px 20px;background:#eaf3f4;border-radius:14px;color:#246a70;font-size:.9rem}
.login-card{padding:48px}.login-card h1{font-size:2rem;letter-spacing:-.03em;margin:12px 0}.login-brand h2{font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.04em}.login-brand{padding:56px 44px}.password-field{position:relative;display:block}.password-field input{padding-right:88px}.password-toggle{position:absolute;right:4px;top:3px;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--primary);padding:8px 10px;font-size:.85rem;font-weight:700}.login-help{font-size:.8rem;line-height:1.5}.login-mobile-brand{display:none;font-weight:700;color:var(--primary);margin-bottom:18px}
.login-separator{display:flex;align-items:center;gap:12px;margin:26px 0 20px;color:var(--muted);font-size:.85rem}.login-separator::before,.login-separator::after{content:'';height:1px;flex:1;background:var(--border)}.survey-code-access{padding:18px;border-radius:14px;background:#f5f8fc;border:1px solid var(--border)}.survey-code-access h2{margin:0;font-size:1rem}.survey-code-access p{margin:6px 0 14px;font-size:.85rem;color:var(--muted);line-height:1.5}.survey-code-form label{font-size:.8rem;font-weight:800;color:var(--dark)}.survey-code-form>div{display:flex;gap:8px;margin-top:6px}.survey-code-form input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.survey-code-form .button{flex:0 0 auto;padding-inline:13px}
.group-qr{margin-top:14px;padding:0;border-top:1px solid var(--border)}.group-qr summary{padding:13px 0;color:var(--primary);font-size:.84rem;font-weight:800;cursor:pointer}.group-qr>div{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center;padding:0 0 14px}.group-qr img{width:130px;height:130px;padding:6px;border:1px solid var(--border);border-radius:12px;background:#fff}.group-qr p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.group-qr a{grid-column:2;font-size:.82rem}
.editor-card{gap:0}.editor-card-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.editor-card-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.editor-card-actions form{margin:0}.editor-card-actions .table-action{border:1px solid var(--border);background:#fff;border-radius:8px;font-size:.78rem}.editor-card-actions .danger-link{border-color:#efc4c8;background:#fff8f8}.editor-card-body{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.dimension-edit-card .dimension-edit-head{align-items:flex-start}.dimension-edit-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.dimension-edit-head small{margin-left:0}.question-summary{padding:0;background:transparent;align-items:flex-start}.question-summary .question-editor-head{padding:0;background:transparent;display:flex;align-items:flex-start;gap:10px;min-width:0}.question-summary .question-editor-head>div{display:flex;flex-direction:column;gap:3px;min-width:0}.question-summary .question-editor-head small{margin-left:0}.question-summary .editor-card-actions{margin-left:auto}.question-editor-card .editor-card-body{width:100%}
.report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.demographic-panel .panel-title p{margin:5px 0 0;font-size:.86rem;color:var(--muted)}.demographic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.demographic-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}.demographic-card h3{margin:0 0 10px;color:var(--primary);font-size:1rem}.demographic-card ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.demographic-card li{display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid #edf0f5;font-size:.85rem}.demographic-card li:last-child{padding-bottom:0;border:0}.demographic-card li span{min-width:0;overflow-wrap:normal;color:var(--dark)}.demographic-card li strong{flex:0 0 auto;color:var(--primary);white-space:nowrap}.demographic-card li small{font-size:.75rem;color:var(--muted)}
.survey-shell,.survey-card,.survey-hero>div{min-width:0}.survey-card h2{font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.45}.survey-hero h1{line-height:1.12}.survey-step [tabindex='-1']:focus{outline:none}.survey-actions{bottom:max(12px,env(safe-area-inset-bottom));background:#fff;border:1px solid var(--border)}.survey-actions button{min-height:48px}.survey-progress-box{min-width:220px}.survey-progress-box .progress-track span{margin:0}.choice-option input{margin:0;width:20px;height:20px}.choice-option{min-height:52px}.statement{min-width:0}.statement legend{max-width:100%;line-height:1.5;font-size:.95rem}.likert span{height:48px}.likert label{position:relative;min-width:0}.likert input{width:100%;height:100%;margin:0;inset:0}.survey-validation{margin-top:12px;padding:12px 16px;border-radius:12px;background:#feecec;color:#8f1d1d}.survey-card.centered p{color:var(--muted)}.scale-guide{grid-template-columns:repeat(5,minmax(0,1fr))}.scale-guide span{line-height:1.4}.public-group-card{padding:36px}.text-answer textarea{resize:vertical}
@media(min-width:1101px){.nav-toggle{display:none!important}}
@media(max-width:1100px){.topbar{padding:12px 24px;gap:12px}.brand{flex:1}.nav-toggle:not([hidden]){display:inline-flex}.main-nav{width:100%}.nav-ready .main-nav{display:none}.nav-ready .main-nav.is-open{display:flex}.main-nav a{flex:1 1 130px;justify-content:center}.main-nav>span{margin-left:auto}.main-nav form{margin-left:auto}.instrument-layout{grid-template-columns:1fr}.instrument-side{position:static}.instrument-side .form-stack{margin-top:12px}.instrument-note{margin-bottom:0}.report-layout{grid-template-columns:1fr}.report-picker{position:static}.dimension-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument-question-form .wide,.question-edit-form .wide,.question-editor-head,.question-edit-form .autosave-status{grid-column:1/-1}}
@media(max-width:980px){.company-layout,.group-layout,.admin-grid{grid-template-columns:1fr}.company-form-panel,.group-form-panel{position:static}.company-summary,.group-summary,.report-kpis,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-row{grid-template-columns:minmax(140px,1fr) minmax(90px,1.2fr) 48px}}
@media(max-width:700px){.container{width:calc(100% - 32px);margin:24px auto 32px}.topbar{padding:12px 16px}.brand{font-size:.82rem;gap:8px}.brand>span:last-child{max-width:170px;line-height:1.3}.page-head{align-items:flex-start}.panel,.group-card{padding:20px}.hero{padding:28px}.hero .orb{display:none}.page-head>.button{align-self:flex-start}.form-row{grid-template-columns:1fr}.report-hero{display:block;padding:24px}.report-score{margin-top:16px}.dimension-results,.dimension-editor-grid{grid-template-columns:1fr}.instrument-question-form,.question-edit-form{grid-template-columns:80px minmax(0,1fr)}.statement-edit-row,.statement-new-row{grid-template-columns:70px minmax(0,1fr)}.statement-edit-row .wide,.statement-new-row .wide{grid-column:1/-1}.statement-edit-row .autosave-status,.statement-new-row>.button{justify-self:stretch}.question-editor-head{gap:6px}.group-details{grid-template-columns:1fr}.share-row input{width:100%;flex-basis:100%}.export-actions>.button{flex:1 1 130px}.guest-body{padding:20px}.login-card{padding:32px 24px}.login-mobile-brand{display:block}.survey-body{padding:16px 12px}.survey-hero{padding:24px;border-radius:20px}.survey-card{padding:20px 16px;border-radius:18px}.survey-hero h1{font-size:1.8rem}.survey-actions{padding:10px;gap:8px}.survey-actions .button{padding:12px;flex:1}.scale-guide{grid-template-columns:1fr 1fr;gap:6px}.scale-guide span{text-align:left;padding:8px}.scale-guide span:last-child{grid-column:1/-1}.survey-shell.narrow{min-height:calc(100svh - 32px)}.public-group-body{padding:16px}.public-group-card{padding:28px 20px}.public-group-card h1,.centered h1{font-size:2rem}.chart-row{grid-template-columns:minmax(0,1fr) 48px;gap:6px 10px}.chart-row>span{grid-column:1/-1}.chart-row>strong{grid-column:2}.chart-row>div{grid-column:1}}
@media(max-width:700px){.survey-code-form>div{flex-direction:column}.survey-code-form .button{width:100%}.group-qr>div{grid-template-columns:1fr;text-align:center}.group-qr img{margin:auto}.group-qr a{grid-column:auto}.editor-card-summary,.question-summary{flex-direction:column}.editor-card-actions,.question-summary .editor-card-actions{margin-left:0;justify-content:flex-start}.question-summary .question-editor-head{width:100%}.report-kpis,.demographic-grid{grid-template-columns:1fr}.demographic-card li{font-size:.82rem}}
@media(max-width:380px){.brand>span:last-child{max-width:145px}.topbar{gap:8px}.nav-toggle{padding:8px}.panel,.group-card,.question-editor-card{padding:16px}.hero{padding:24px 20px}.company-main{padding:16px;gap:10px}.company-logo{width:44px;height:44px}.instrument-tabs{gap:6px}.instrument-tab{padding:12px 8px;font-size:.88rem}.survey-actions .button{font-size:.8rem}.statement{padding:12px}.likert{gap:5px}.login-card{padding:28px 20px}.guest-body{padding:16px}}
@media print{.site-footer,.skip-link,.list-toolbar,.table-hint,.nav-toggle{display:none!important}.container{width:100%;margin:0}.table-wrap{overflow:visible}.table-wrap table{min-width:0}.print-report .dimension-results{grid-template-columns:repeat(2,minmax(0,1fr))}.print-report .report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Keep Spanish words intact while allowing result cards to reflow. */
:where(h1,h2,h3,p,small,strong,legend,span){word-break:normal;hyphens:none}
.dimension-title{display:grid;grid-template-columns:13px minmax(0,1fr) max-content;align-items:start}
.dimension-title>div{min-width:0}
.dimension-title>strong{margin-left:0;white-space:nowrap;align-self:start}
.dimension-title>.dimension-dot{margin-top:.35rem}
.vertical-chart{grid-auto-columns:minmax(190px,1fr)}
.dimension-chart{grid-auto-columns:minmax(72px,1fr)}
@media print{.print-report .dimension-chart{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);gap:4px;overflow:visible}}
.dimension-chart .vertical-chart-item{display:grid;grid-template-rows:22px 128px 18px 32px;gap:3px;height:auto;align-content:end;justify-items:center}
.dimension-chart .vertical-chart-value{min-height:0}
.dimension-chart .vertical-chart-track{box-sizing:border-box;width:min(44px,100%);min-width:0;max-width:44px;height:128px;margin:0}
.dimension-chart .vertical-chart-track span{width:100%}
.dimension-chart .vertical-chart-item small{margin:0;line-height:1.15;align-self:start}
@media print{.print-report .dimension-chart .vertical-chart-item{grid-template-rows:18px 104px 14px 28px;gap:2px}.print-report .dimension-chart .vertical-chart-track{height:104px}.print-report .dimension-report-panel{break-inside:auto;page-break-inside:auto;padding:10px}.print-report .dimension-report-panel .print-dimensions{break-before:page;page-break-before:always}}
@media print{
  .print-report .report-hero{padding:12px 16px}
  .print-report .report-hero h2{font-size:1.6rem;margin:5px 0}
  .print-report .report-score{padding:10px;min-width:125px}
  .print-report .report-score strong{font-size:2rem}
  .print-report .report-kpis{grid-template-columns:80px 80px minmax(0,1fr);gap:8px}
  .print-report .report-kpis article{padding:8px}
  .print-report .report-kpis article strong{font-size:1.25rem}
  .print-report .report-kpis article:last-child strong{font-size:.9rem;line-height:1.2}
  .print-report .report-kpis article span{font-size:.7rem}
  .print-report .executive-reading{padding:10px}
  .print-report .executive-reading h2{margin:0 0 5px}
  .print-report .executive-reading p{margin:4px 0;padding:6px}
  .print-report .dimension-chart-index{margin-bottom:4px;line-height:1.05}
  .print-report .dimension-chart{break-inside:avoid;page-break-inside:avoid}
  .print-report .dimension-cards-panel{break-before:page;page-break-before:always}
}

/* Center dimension and statement chart groups. */
.dimension-chart,.statement-chart{display:flex;flex-flow:row wrap;justify-content:center;align-items:stretch;overflow:visible;gap:12px}
.dimension-chart .vertical-chart-item,.statement-chart .vertical-chart-item{flex:0 1 60px;min-width:44px;max-width:60px}
@media print{.print-report .dimension-chart,.print-report .statement-chart{display:flex;flex-flow:row wrap;justify-content:center;gap:8px 10px}.print-report .dimension-chart .vertical-chart-item,.print-report .statement-chart .vertical-chart-item{flex:0 1 52px;min-width:44px;max-width:52px}}

/* Center every chart component within its own column. */
.dimension-chart .vertical-chart-item,.statement-chart .vertical-chart-item{display:grid;grid-template-rows:22px 128px 18px 32px;gap:3px;height:auto;align-content:end;justify-items:center;text-align:center}
.dimension-chart .vertical-chart-item>*,.statement-chart .vertical-chart-item>*{justify-self:center;text-align:center}
.statement-chart .vertical-chart-value{min-height:0}
.statement-chart .vertical-chart-track{width:min(44px,100%);min-width:0;max-width:44px;height:128px;margin:0}
.statement-chart .vertical-chart-item small{margin:0;line-height:1.15;align-self:start}
@media print{.print-report .dimension-chart .vertical-chart-item,.print-report .statement-chart .vertical-chart-item{grid-template-rows:18px 92px 14px 28px;gap:2px}.print-report .dimension-chart .vertical-chart-track,.print-report .statement-chart .vertical-chart-track{width:min(44px,100%);min-width:0;max-width:44px;height:92px;margin:0}}

/* Force equal centered alignment for every level label in both chart families. */
.dimension-chart .vertical-chart-item,.statement-chart .vertical-chart-item{text-align:center!important;justify-items:stretch!important;align-items:center!important}
.dimension-chart .vertical-chart-item .vertical-chart-value,.dimension-chart .vertical-chart-item>strong,.dimension-chart .vertical-chart-item>small,.statement-chart .vertical-chart-item .vertical-chart-value,.statement-chart .vertical-chart-item>strong,.statement-chart .vertical-chart-item>small{display:block;width:100%;justify-self:stretch!important;text-align:center!important}
.dimension-chart .vertical-chart-item .vertical-chart-track,.statement-chart .vertical-chart-item .vertical-chart-track{justify-self:center!important}


.dimension-chart .vertical-chart-item>small,.statement-chart .vertical-chart-item>small{width:56px;max-width:100%;margin-inline:auto;white-space:normal;text-align:center;line-height:1.05}
@media print{.print-report .dimension-chart .vertical-chart-item>small,.print-report .statement-chart .vertical-chart-item>small{width:50px}}
