:root{--p:#0f5b78;--p2:#0a7896;--bg:#f3f7f9;--line:#d7e1e5;--text:#22343e;--danger:#9c2b2b}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text)}a{color:var(--p)}.app,.admin-wrap{max-width:1180px;margin:28px auto;padding:0 16px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:20px;box-shadow:0 8px 26px rgba(20,65,80,.06)}.narrow{max-width:680px;margin:7vh auto}.setup{padding:16px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--p2)}h1{font-size:clamp(28px,4vw,42px);margin:8px 0 14px}h2{margin-top:0}.privacy,.muted{color:#64747d;font-size:14px}.btn{display:inline-block;border:1px solid #bdcbd1;border-radius:9px;background:#fff;padding:10px 16px;color:#22343e;text-decoration:none;font-weight:750;cursor:pointer}.btn.primary{background:var(--p);border-color:var(--p);color:#fff}.btn.danger{background:#fff0f0;color:var(--danger);border-color:#e9b4b4}.btn.small{padding:6px 10px;font-size:12px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-form label{font-size:14px;font-weight:700}.grid-form input,.grid-form select,textarea,.filter select,.inline input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #c6d2d8;border-radius:8px;background:#fff;font:inherit}.span2{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.alert{padding:12px 14px;border-radius:9px;margin:14px 0}.danger{background:#fff0f0;color:#8d2020;border:1px solid #efb7b7}.success{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:#dff5e9;color:#176b45;font-size:32px;font-weight:900}.thanks{text-align:center}.thanks .success{margin:auto}.hp{position:absolute!important;left:-9999px!important}.progress{height:9px;background:#e3eaee;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--p2);width:0}.progress-label{text-align:right;font-size:12px;margin:5px 0 20px}.section-head{border-bottom:2px solid #e8eef0;margin-bottom:16px}.section-head span{font-size:12px;text-transform:uppercase;color:#72818a;font-weight:800}.question{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 14px}.question legend{font-weight:700;line-height:1.45}.question legend b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7f3f6;color:var(--p)}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:12px}.options input{position:absolute;opacity:0}.options span{display:flex;justify-content:center;align-items:center;min-height:52px;padding:8px;border:1px solid #cbd6db;border-radius:9px;text-align:center;font-size:13px;cursor:pointer}.options input:checked+span{background:#e4f3f7;border-color:var(--p2);font-weight:800}.actions{display:flex;gap:10px;margin-top:20px}.actions #nextBtn,.actions #finishBtn{margin-left:auto}.admin-head{background:#183846;color:#fff;padding:15px 4vw;display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-head nav{display:flex;gap:14px;flex-wrap:wrap}.admin-head a{color:#fff;text-decoration:none}.two-col{display:grid;grid-template-columns:1fr 1.5fr;gap:18px}.company-row{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #e6edef;padding:12px 0}.company-row .inline{grid-column:1/-1;display:flex;gap:8px}.company-row .inline input{margin:0}.status{font-size:12px;font-weight:800;margin-top:4px}.status.on{color:#167043}.status.off{color:#a22626}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.metric span{display:block;color:#687780;font-size:13px}.metric strong{display:block;font-size:28px;margin-top:4px}.filter{margin:10px 0 18px}.filter select{max-width:450px}.data{width:100%;border-collapse:collapse;font-size:13px}.data th,.data td{border-bottom:1px solid #e1e8eb;padding:9px;text-align:left}.data th{background:#f2f6f7}.access-form{display:flex;gap:10px;align-items:end;max-width:620px}.access-form label{flex:1;font-weight:700}.access-form input{width:100%;padding:11px;margin-top:6px;border:1px solid #c6d2d8;border-radius:8px}@media(max-width:800px){.grid-form,.two-col,.cards{grid-template-columns:1fr}.span2{grid-column:auto}.options{grid-template-columns:1fr 1fr}.admin-head{align-items:flex-start;flex-direction:column}.access-form{display:block}.access-form .btn{margin-top:10px;width:100%}.data{display:block;overflow:auto}.panel{padding:18px}}@media(max-width:480px){.options{grid-template-columns:1fr}}
.result-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px;align-items:start}.result-layout>.panel{margin-bottom:0}.group-row td{background:#e8f0f3!important;font-weight:800}.result-layout aside p{font-size:13px;line-height:1.55}@media(max-width:900px){.result-layout{grid-template-columns:1fr}.result-layout>.panel{margin-bottom:20px}}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analysis-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.analysis-card h3{margin:0 0 8px;font-size:16px}.analysis-card p{margin:8px 0;line-height:1.5}@media(max-width:800px){.analysis-grid{grid-template-columns:1fr}}
.nav-form{display:inline;margin:0}.nav-button{border:0;background:transparent;color:#fff;padding:0;font:inherit;cursor:pointer}.nav-button:hover,.nav-button:focus{text-decoration:underline}
.request-table td{vertical-align:top}.request-message{min-width:220px;max-width:360px;white-space:normal;line-height:1.45}.compact-form{margin-top:8px}.status-select{display:block;width:130px;margin:0 0 8px;padding:7px;border:1px solid #c6d2d8;border-radius:8px;background:#fff}.status-chip{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf3f5;font-size:12px;font-weight:800}.success-alert{color:#176b45;background:#e3f5eb;border:1px solid #a9dbc0}.narrow-settings{max-width:720px}.grid-form small{display:block;margin-top:6px;font-weight:400;line-height:1.4}

/* v6: gestión de empresas y niveles de riesgo */
.company-table-wrap{overflow:auto}.company-table td{vertical-align:top}.access-code{display:inline-block;padding:5px 8px;border-radius:7px;background:#eef3f5;font-size:13px;word-break:break-all}.code-change-form{display:flex;gap:7px;margin-top:8px;min-width:300px}.code-change-form input{margin:0}.company-action-form{display:flex;gap:7px;align-items:center}.company-action-form select{min-width:120px;padding:8px;border:1px solid #c6d2d8;border-radius:8px;background:#fff}.risk-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-weight:800;line-height:1.2}.risk-bajo{background:#dff5e9;color:#176b45;border:1px solid #a9dbc0}.risk-medio{background:#fff4cc;color:#785d00;border:1px solid #ead37a}.risk-alto{background:#ffe0e0;color:#9c2b2b;border:1px solid #e9aaaa}.risk-neutral{background:#edf3f5;color:#53646d;border:1px solid #ced9dd}@media(max-width:800px){.company-action-form,.code-change-form{min-width:240px}.company-table{min-width:760px}}

.general-section-number{font-size:12px;text-transform:uppercase;color:#72818a;font-weight:800;margin-bottom:6px}
.request-table form{margin:0}.request-table .btn.danger{white-space:nowrap}

.app-page-title{font-size:clamp(28px,4vw,42px);margin:8px 0 14px;font-weight:700;line-height:1.2}
.intervention-dropdown{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb;overflow:hidden}.intervention-dropdown summary{cursor:pointer;padding:11px 13px;font-weight:700;user-select:none}.intervention-dropdown summary:hover{background:#eef3f5}.intervention-content{padding:4px 13px 12px;border-top:1px solid var(--line)}.intervention-content h4{margin:12px 0 4px;font-size:14px}.intervention-content p{margin:0 0 8px;line-height:1.55}@media print{.intervention-dropdown{break-inside:avoid}.intervention-dropdown summary{display:none}.intervention-dropdown:not([open])>.intervention-content{display:block!important}}
.intervention-list{margin:6px 0 12px 20px;padding:0}.intervention-list li{margin:0 0 7px;line-height:1.55}.intervention-list li:last-child{margin-bottom:0}

/* V20: descripciones sencillas al inicio de cada dimensión */
.dimension-description{
  margin:0 0 24px;
  padding:18px 20px;
  border:1px solid #d8e7ea;
  border-left:4px solid #0a8d94;
  border-radius:14px;
  background:#f5fafb;
}
.dimension-description p{
  margin:0;
  color:#46616d;
  font-size:15px;
  line-height:1.65;
}
.dimension-description--special{
  margin-top:26px;
  margin-bottom:16px;
  background:#eef8f8;
}
.dimension-description--special h3{
  margin:0 0 7px;
  color:#12394b;
  font-size:18px;
  line-height:1.35;
}
.special-section-note{
  margin:0 0 22px;
  padding:14px 18px;
  border-radius:12px;
  background:#f7f9fa;
  color:#5b7079;
}
.special-section-note p{margin:0;line-height:1.55}
