:root{--navy:#18364c;--teal:#087f8c;--bg:#edf4f7;--border:#cfdee5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font:15px 'Segoe UI',Arial,sans-serif}header{background:var(--navy);color:white;padding:22px 4%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:18px;align-items:center}.logo{font-size:38px;background:#087f8c;border-radius:15px;padding:5px 15px}h1{margin:0;font-size:32px}h2{font-size:24px;margin:4px 0 14px}h3{font-size:18px}.eyebrow{letter-spacing:1.5px;font-size:12px;font-weight:bold;color:var(--teal);margin:0}main{max-width:1600px;margin:24px auto;padding:0 24px}.card{background:white;border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:20px;box-shadow:0 4px 16px #18364c08}.login{max-width:490px;margin:60px auto}.muted,small{color:#586f80;line-height:1.6}header small{color:#c9e6ee}.row,.tabs{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tabs{margin-bottom:18px}.tabs .active{background:var(--navy);color:white}button,.file-button{border:1px solid var(--border);border-radius:8px;background:#f4f8fa;color:var(--navy);padding:10px 16px;cursor:pointer;font:inherit}button:hover,.file-button:hover{filter:brightness(.95)}button.primary,.file-button{background:var(--teal);color:white;border-color:var(--teal)}button.danger{color:#9d293a;background:#fff2f4}button:disabled{opacity:.5;cursor:wait}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}input,select{font:15px 'Segoe UI',Arial;padding:10px;border:1px solid #bbd0d9;border-radius:7px;max-width:100%;background:white;color:var(--navy)}form label{margin-bottom:16px}.file-button input{display:none}.file-button.secondary{background:#e9f4f5;color:var(--teal)}.check{flex-direction:row;align-items:center;display:flex;padding:8px}.check input{margin:0 8px 0 0}.table-wrap{overflow:auto;max-height:560px;border:1px solid var(--border);border-radius:9px;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{white-space:nowrap;padding:10px 14px;text-align:left;border-bottom:1px solid #e4edf2;max-width:400px;overflow:hidden;text-overflow:ellipsis}th{background:#e6f0f4;position:sticky;top:0;font-weight:700}tr:nth-child(even){background:#f5f9fb}#findings-table tbody tr{cursor:pointer}#findings-table tbody tr:hover{background:#dff1f1}pre{white-space:pre-wrap;font:14px 'Segoe UI',Arial;line-height:1.8;max-height:280px;overflow:auto}.summary{padding:14px 18px;background:#e8f5f2;border-radius:10px;margin:14px 0;white-space:pre-line;font-size:16px;line-height:1.7}details{margin:12px 0}summary{cursor:pointer;font-weight:600;color:var(--teal)}progress{width:100%;height:12px;accent-color:var(--teal)}.progress-card{padding:15px 22px}.filters{margin-top:20px;align-items:start}.column-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.column-grid{max-height:280px;overflow:auto;max-width:650px;margin-top:12px}.admin-grid form{border:1px solid var(--border);padding:20px;border-radius:12px}iframe{width:100%;height:850px;border:0;border-radius:12px;background:white}#notice:not(:empty){background:#fff0f2;color:#8b2532;padding:14px 20px;border-radius:10px;margin-bottom:16px}footer{text-align:center;font-size:12px;color:#586f80;padding:25px}dl{display:grid;grid-template-columns:230px 1fr;gap:12px;overflow-wrap:anywhere}dd{margin:0}dt{font-weight:600}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #73b7c5;outline-offset:2px}@media(max-width:760px){header{align-items:start;gap:14px}#identity{font-size:12px}.admin-grid,.column-grid{grid-template-columns:1fr}main{padding:0 12px}.card{padding:16px}.row label{width:100%}dl{grid-template-columns:1fr}iframe{height:700px}}

/* Interfaz guiada RADAR: recursos locales y sin fuentes externas. */
body{background:linear-gradient(145deg,#f7fafb,#edf4f7);line-height:1.45}header{padding:18px 32px;box-shadow:0 3px 18px #18364c14}.logo{display:grid;place-items:center;width:58px;height:58px;padding:0;border-radius:17px;background:linear-gradient(135deg,#0a999b,#087f8c)}.brand{gap:14px}h1{letter-spacing:1px;font-size:30px}h2{letter-spacing:-.4px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}.welcome h2{font-size:23px;margin:3px 0}.welcome p:last-child{margin:4px 0;color:#586f80}.local-badge{white-space:nowrap;border:1px solid #b4ded5;border-radius:30px;padding:7px 13px;color:#167260;background:#eaf7f2;font-size:12px;font-weight:600}.tabs{padding:8px;background:white;border:1px solid var(--border);border-radius:14px;gap:7px}.tabs button,.tabs a{font-size:13px;padding:10px 13px;text-decoration:none}.tabs .active{background:var(--teal);border-color:var(--teal);box-shadow:0 3px 8px #087f8c25}.guide-strip{display:grid;grid-template-columns:36px 1fr auto;align-items:start;gap:12px;border:1px solid #c9e6e6;border-radius:13px;background:#eff9f8;padding:14px 18px;margin-bottom:16px}.guide-icon{display:grid;place-items:center;background:#d4eeea;color:#087f8c;border-radius:50%;width:32px;height:32px;font-weight:700}.guide-strip strong{font-size:15px}.guide-strip p{margin:4px 0 0;color:#496474;font-size:13px;line-height:1.65}.guide-strip details{margin:3px 0;max-width:370px}.guide-strip summary{font-size:13px}.card{box-shadow:0 4px 18px #18364c06;border-radius:15px}.progress-card{padding:12px 18px}.progress-card p{margin:5px 0;font-size:13px}.progress-card details{margin:7px 0 0}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;max-width:680px}.metric{display:flex;flex-direction:column;border:1px solid #d7e6ec;border-left:4px solid #087f8c;border-radius:12px;padding:14px 18px;background:#f7fbfc}.metric:nth-child(2){border-left-color:#4d6bc0}.metric small{font-weight:600}.metric strong{font-size:30px;line-height:1.3;letter-spacing:-.6px}.metric span{font-size:12px;color:#627b88}.summary:empty{display:none}.summary{font-size:14px;background:#f1f8f6;margin:12px 0}.filters{background:#f5f9fb;border:1px solid #e0ebf0;border-radius:12px;padding:14px;gap:16px}.filters label:first-child{flex:1;min-width:220px}.filters details{margin:0;padding-top:22px}.table-wrap{background:white;margin-top:12px}th{background:#eaf2f6;color:#244c62;font-size:12px;padding:12px 14px;z-index:1}td{padding:10px 14px}caption{text-align:left;padding:10px 14px;color:#587280;background:#f8fbfc;font-size:12px}td.empty-state{white-space:normal;text-align:center;padding:32px;color:#627b88;max-width:none}#findings-table tbody tr:has(.empty-state){cursor:default}button,.file-button{transition:background .15s,box-shadow .15s;min-height:40px;font-weight:600}button:hover,.file-button:hover{filter:none;box-shadow:0 2px 6px #18364c15;background:#e6f0f4}button.primary:hover,.file-button:not(.secondary):hover{background:#076c77}button.danger:hover{background:#ffe8ec}.text-button{border:0;background:transparent;padding:0;color:var(--teal);min-height:30px;font-size:12px;display:block;margin:-8px 0 14px}.text-button:hover{background:transparent;box-shadow:none;text-decoration:underline}.login{padding:32px;max-width:470px}.login input{width:100%}.login .primary{width:100%;padding:13px}.login .muted{font-size:12px;border-top:1px solid #e3edf1;padding-top:16px;margin-top:22px}.login h2{margin-top:6px}.admin-grid form{background:#f9fcfd}.admin-grid h3{margin-top:0}.admin-grid input,.admin-grid select{width:100%}a:focus-visible,summary:focus-visible,.file-button:focus-within{outline:3px solid #73b7c5;outline-offset:3px}#patient-detail[open]{background:#f5fafb;padding:15px;border:1px solid var(--border);border-radius:12px}footer{line-height:1.7;max-width:900px;margin:auto}@media(max-width:900px){.guide-strip{grid-template-columns:32px 1fr}.guide-strip details{grid-column:2;max-width:none}.welcome{align-items:start}header{padding:16px 20px}.tabs{gap:6px}.tabs button,.tabs a{flex:1;text-align:center}}@media(max-width:600px){header{flex-wrap:wrap}.welcome{display:block}.local-badge{display:inline-block;margin-top:8px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:25px}.login{padding:24px;margin:28px auto}.welcome h2{font-size:21px}.filters details{padding-top:0}.guide-strip{padding:12px}main{margin-top:16px}}@media(prefers-reduced-motion:reduce){button,.file-button{transition:none}}

.admin-grid{align-items:start}.admin-grid form{min-width:0}.admin-grid input[type=checkbox],.biblioteca input[type=checkbox]{width:auto;flex:0 0 auto}.admin-controls{background:#f4f9fb;padding:14px;border:1px solid var(--border);border-radius:12px}.admin-controls>.admin-grid{margin-top:14px}.biblioteca{margin:22px 0;padding:20px;border:1px solid #cce3e4;border-radius:14px;background:#f9fcfd}.biblioteca-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.biblioteca textarea{width:100%;max-width:100%;resize:vertical;border:1px solid #bbd0d9;border-radius:8px;padding:10px;color:var(--navy);font:14px 'Segoe UI',sans-serif}.biblioteca input,.biblioteca select{width:100%}#bib-rule{font:13px Consolas,monospace}#bib-documents tbody tr,#bib-rules tbody tr,#users tbody tr{cursor:pointer}#bib-documents tbody tr:hover,#bib-rules tbody tr:hover,#users tbody tr:hover{background:#e5f4f2}.biblioteca pre{font-size:13px;max-height:300px}#roles{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:760px){.biblioteca-grid{grid-template-columns:1fr}.biblioteca{padding:14px}}

.activation-controls{border-top:2px solid #cde5e4;margin-top:22px;padding-top:14px}.activation-controls input[type=checkbox]{width:auto}#bib-validation{background:#eef5f7;padding:14px;border-radius:10px}#bib-tests,#bib-eligibility,#bib-exclusion{font-family:Consolas,monospace;font-size:13px}

.step-options{margin-bottom:16px}.step-options>summary{font-size:17px;padding:6px 0}.step-options[open]>summary{margin-bottom:16px}#findings-compact{font-size:13px;color:#586f80;font-weight:400}.progress-card>summary{font-weight:600}.progress-card[open]>summary{margin-bottom:14px}

#findings-data>summary{margin:18px 0}#findings-table th,#findings-table td{white-space:nowrap}#findings-data .dataTables_length select{display:inline-block;width:auto;padding:8px}#findings-data .dataTables_info,#findings-data .dataTables_paginate{margin:12px 0}.dataTables_wrapper .dataTables_processing{background:white;color:#17394b;border:1px solid #bcd5df;border-radius:12px}

.proposal-card{border:1px solid #cce0e7;border-radius:14px;background:#fff;padding:18px;margin:14px 0}.proposal-card h4{color:#007e8b;margin:0 0 12px}.proposal-card p{margin:8px 0;overflow-wrap:anywhere}.proposal-card .row{margin-top:15px}

/* RADAR: identidad y accesibilidad 20261012 */
:root{--focus:#a5dfe2;--ink:#17364c;--muted:#526c7c}
header{gap:24px;background:linear-gradient(115deg,#153247,#20465a);border-bottom:4px solid #0b959c}
.brand>div{min-width:0}.brand-meaning{font-size:12px;line-height:1.45;color:#d7ebf0;margin:4px 0 5px;max-width:540px}.brand small{font-size:13px;color:#a8ece5}
.logo{flex:0 0 58px;box-shadow:0 0 0 1px #71c8c650}.welcome{padding:20px 22px;border:1px solid #d2e4e9;border-radius:16px;background:#fff}.welcome h2{line-height:1.25;max-width:760px}.welcome p:last-child{max-width:810px;font-size:14px;color:var(--muted)}
.tabs{position:relative}.tabs button,.tabs a{line-height:1.4;white-space:normal}.card,.biblioteca,.admin-grid>*,.row>*,.guide-strip>*{min-width:0}.row label{max-width:100%}input,select,textarea{min-width:0}input[type=checkbox]{flex:0 0 auto}summary{line-height:1.6}summary:focus-visible{outline:3px solid var(--focus)}
button:disabled{cursor:not-allowed;opacity:.65}.metric span{display:block}.metric strong{display:block;color:var(--ink)}.summary{border-left:4px solid #0c9398;background:#f0f8f7;overflow-wrap:anywhere}.column-grid .check{font-size:13px;white-space:normal}.check{line-height:1.5}.check input{width:18px;height:18px}
.admin-grid,.biblioteca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.biblioteca label{overflow-wrap:anywhere}.biblioteca button{max-width:100%;white-space:normal}.biblioteca .table-wrap{max-width:100%}.biblioteca pre{overflow-wrap:anywhere;white-space:pre-wrap}#identity{max-width:240px;text-align:right;font-size:13px;line-height:1.5}
.guide-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}.guide-toc{position:sticky;top:18px;align-self:start;background:#fff;padding:18px;border:1px solid var(--border);border-radius:14px}.guide-toc a{display:block;padding:7px 0;color:#146674;text-decoration:none;font-size:13px}.guide-toc a:hover{text-decoration:underline}.guide-body h2{scroll-margin-top:20px;font-size:25px}.guide-body h3{margin-top:22px}.guide-body p,.guide-body li{line-height:1.75;max-width:100ch}.guide-body li{margin:8px 0}.guide-body a{color:#086f7c}.guide-body table{font-size:14px}.guide-body th,.guide-body td{white-space:normal;max-width:none;overflow:visible;vertical-align:top;line-height:1.6}.guide-body .note{border-left:4px solid #0b9299;padding:12px 16px;background:#edf8f7;border-radius:8px}.guide-body .attention{border-left-color:#b5831c;background:#fff8e8}.guide-body .step-number{display:inline-grid;place-items:center;border-radius:50%;width:30px;height:30px;background:#087f8c;color:white;margin-right:8px;font-size:16px}.guide-body details{padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:#f8fbfc}.guide-body code{font-size:13px;overflow-wrap:anywhere}
@media(max-width:960px){.guide-layout{grid-template-columns:1fr}.guide-toc{position:static}.guide-toc nav{display:flex;flex-wrap:wrap;gap:6px 18px}.admin-grid,.biblioteca-grid{grid-template-columns:1fr}.brand-meaning{max-width:420px}}
@media(max-width:600px){header{gap:12px}.brand h1{font-size:27px}.brand-meaning{font-size:11px}#identity{text-align:left;max-width:none}.welcome{padding:16px}.tabs button,.tabs a{flex:1 1 140px}.metrics{grid-template-columns:1fr}.guide-body .card{padding:18px}.guide-body h2{font-size:22px}.row button,.row .file-button{white-space:normal;max-width:100%}.admin-grid form{padding:16px}}
@media print{header{color:#17364c;background:#fff}.brand-meaning,.brand small{color:#17364c}.guide-toc{display:none}.guide-layout{display:block}.guide-body .card{break-inside:avoid;border:0;box-shadow:none}.guide-body details>*{display:block!important}body{background:white}}

/* Independent laboratory outcome */
.laboratory-outcome{border-top:4px solid #087d8b;margin-top:20px}.lab-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.lab-chart{background:#f7fbfc;border:1px solid #c9dde6;border-radius:16px;padding:16px;min-width:0}.lab-chart svg{width:100%;height:auto;min-height:180px}.lab-chart .svg-wrap{max-height:650px;overflow:auto}.lab-chart .row{margin-bottom:12px}#lab-chart-dialog{width:min(1300px,94vw);max-height:94vh;border:1px solid #c9dde6;border-radius:18px;padding:20px}#lab-chart-dialog::backdrop{background:#102f45aa}#lab-chart-expanded svg{width:100%;height:auto}#lab-dashboard[hidden],#ppi-dashboard[hidden]{display:none}#lab-summary{white-space:pre-line}#lab-results[open],#lab-pending[open],#lab-coverage[open]{margin-top:18px}@media(max-width:700px){.lab-chart-grid{grid-template-columns:1fr}}

/* RADAR: marca compacta sin marcos ni fondos superpuestos. */
header .logo{display:flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:0;line-height:0}header .logo img{display:block;width:64px;height:64px;object-fit:contain}.brand{gap:16px}.brand h1{letter-spacing:1px}@media(max-width:600px){header .logo{flex-basis:52px;width:52px;height:52px}header .logo img{width:52px;height:52px}.brand{gap:12px}}

.lab-explore{display:grid;grid-template-columns:275px minmax(0,1fr);gap:22px}.lab-sidebar{background:#1e3d52;color:white;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;align-self:start}.lab-sidebar a{color:#d8eeee;text-decoration:none}.lab-sidebar label{font-size:13px}.lab-sidebar input,.lab-sidebar select{width:100%;min-width:0}.lab-sidebar .row label{width:45%}.lab-main{min-width:0}.lab-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.lab-kpis .metric{border-left-color:#087f8c}.lab-kpis strong{font-size:28px}.lab-kpis span{font-size:13px}.lab-standalone .tabs,.lab-standalone #guide-strip,.lab-standalone .welcome{display:none}.lab-standalone main{max-width:1900px}@media(max-width:1050px){.lab-explore{grid-template-columns:1fr}.lab-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lab-kpis{grid-template-columns:1fr}}

#ld-detail-content,#lab-detail-content{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:10px 18px;line-height:1.65}#ld-detail-content dt,#lab-detail-content dt{font-weight:700}#ld-detail-content dd,#lab-detail-content dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}#ld-detail[open]{background:#eff8f6;padding:18px;border-radius:12px}@media(max-width:700px){#ld-detail-content,#lab-detail-content{grid-template-columns:1fr}}

/* Cinco pasos: herramientas fuera del recorrido y una sola vista visible. */
.top-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;background:#f8fcfd;border-bottom:1px solid #cbdfe9}.top-tools nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.top-tools button,.top-tools a{font-size:13px;padding:8px 12px;text-decoration:none;min-height:38px}.top-tools #logout{flex-shrink:0;color:#9d293a;background:#fff7f8}.journey-intro{margin:8px 0 12px}.journey-intro p{margin:0 0 3px;font-weight:700}.step-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:10px}.step-nav button{white-space:normal;min-height:58px;text-align:left;border-radius:10px}.step-nav .active{background:#087f8c;color:white;border-color:#087f8c;box-shadow:0 3px 10px #087f8c25}.step-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0;padding:16px;background:#fff;border:1px solid var(--border);border-radius:14px}.step-footer span{font-weight:600;font-size:13px}.step-note{padding:12px 16px;border-left:4px solid #078797;border-radius:8px;background:#edf8f7;color:#244c62}.return-analysis{margin-bottom:16px}#help-dialog{width:min(650px,92vw);max-height:85vh;border:1px solid var(--border);border-radius:18px;color:var(--navy);padding:24px;line-height:1.7}#help-dialog::backdrop{background:#102f4588}#help-dialog .row{justify-content:space-between}#help-dialog a{color:#087582}#password-back{margin-bottom:18px}.welcome{padding:12px 0}.welcome h2{font-size:21px}.lab-standalone .journey-intro,.lab-standalone #step-footer{display:none}
@media(max-width:1000px){.step-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.top-tools{align-items:flex-start;padding:10px 16px}}
@media(max-width:600px){.step-nav{grid-template-columns:1fr 1fr}.step-nav button{min-height:50px}.top-tools{flex-direction:column;gap:8px}.top-tools nav{justify-content:flex-start}.step-footer{flex-wrap:wrap}.step-footer span{width:100%;order:-1;text-align:center}.step-footer button{flex:1}.welcome .local-badge{display:none}}

header .brand-owner{font-size:12px;color:#d1edef;margin:7px 0 0;line-height:1.5}header .brand-owner::before{content:"";display:inline-block;width:6px;height:6px;background:#4fd1c5;border-radius:50%;margin-right:7px}

.executive-report{padding:20px;border:1px solid #d1e4e8;border-left:4px solid #078797;border-radius:14px;background:#fbfefe;margin:20px 0;line-height:1.65}.executive-report p{font-size:14px}.executive-report h3{margin:0}.executive-report th,.executive-report td{white-space:normal;max-width:none;overflow-wrap:anywhere;vertical-align:top}.executive-report .table-wrap{max-height:none}.executive-report details{margin:16px 0}.executive-report a{color:#086f7c}

/* Cabecera compacta: menú y rol dentro de la identidad azul. */
header.compact-header{display:grid;grid-template-columns:minmax(340px,1fr) minmax(0,auto);gap:12px;padding:10px 22px;align-items:center}.compact-header .brand{gap:14px;align-items:center}.brand-stack{display:flex;flex-direction:column;align-items:center;flex:0 0 52px}.compact-header .brand-stack h1{font-size:18px;line-height:1.1;margin:4px 0 0;letter-spacing:1px}.compact-header .logo{width:44px!important;height:44px!important;flex:0 0 44px!important}.compact-header .logo svg{width:44px;height:44px}.brand-copy small{font-size:14px;line-height:1.4}.compact-header .brand-meaning{font-size:11px;max-width:420px;margin:0 0 5px}.compact-header .brand-owner{font-size:10px;margin:5px 0 0}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:0}.compact-header .top-tools{padding:0;background:transparent;border:0;display:block}.compact-header .top-tools nav{gap:6px}.compact-header .top-tools button,.compact-header .top-tools a{padding:6px 9px;min-height:32px;font-size:12px;background:#24495e;color:#eefaff;border-color:#517488}.compact-header .top-tools button:hover,.compact-header .top-tools a:hover{background:#326276}.compact-header #identity{max-width:none;font-size:12px;text-align:center;color:#e5fafb;background:#143548;border:1px solid #628798;border-radius:8px;min-height:30px;padding:5px 12px}.compact-header #identity:disabled{opacity:1;cursor:default}main{margin-top:16px}
@media(max-width:1100px){header.compact-header{grid-template-columns:1fr}.header-actions{width:100%}.compact-header .top-tools nav{justify-content:flex-end}.compact-header .brand-meaning{max-width:none}}
@media(max-width:600px){header.compact-header{padding:10px 12px}.brand-copy small{font-size:12px}.compact-header .top-tools nav{justify-content:flex-start}.header-actions{align-items:flex-start}.compact-header #identity{align-self:flex-end}}

/* Legibilidad integral 2026-10-14: contenido completo, sin ocultar desbordamientos. */
html{max-width:100%}
body{overflow-wrap:anywhere}
main,header,.brand,.brand-copy,.header-actions,.view,.guide-body,.guide-layout>*,.lab-explore>*,.step-footer>*{min-width:0;max-width:100%}
.welcome{padding:18px 22px;flex-wrap:wrap}
.welcome>div{flex:1 1 420px;min-width:0}
.welcome .local-badge{max-width:100%;white-space:normal;flex:0 1 auto}
p,li,dd,dt,h1,h2,h3,h4,summary,label,button,.file-button,caption{overflow-wrap:anywhere}
button,.file-button{max-width:100%;white-space:normal;height:auto}
.row>*,.tabs>*,.filters>*,.guide-strip>*{min-width:0;max-width:100%}
.filters label:first-child{min-width:min(220px,100%)}
.lab-chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.table-wrap,.dataTables_wrapper,.dataTables_scroll,.dataTables_scrollBody{max-width:100%;min-width:0}
.table-wrap{overflow:auto}
table th,table td,#findings-table th,#findings-table td{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;vertical-align:top}
/* Horizontal scrolling belongs to wide data tables, never to the whole page. */
.table-wrap table{min-width:640px}
.guide-body table{min-width:0;table-layout:fixed}
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.dataTables_wrapper .dataTables_filter input{max-width:100%;margin-left:0}
dl{grid-template-columns:minmax(0,230px) minmax(0,1fr)}
pre,code{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%}
dialog{max-width:calc(100vw - 24px);overflow:auto;box-sizing:border-box}
img,video,canvas{max-width:100%}
@media(max-width:760px){dl{grid-template-columns:1fr}.welcome{padding:16px}.step-footer{flex-wrap:wrap}.step-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.guide-strip{grid-template-columns:1fr}.guide-strip details{grid-column:auto}.lab-sidebar{grid-template-columns:1fr}.compact-header .brand{align-items:flex-start}.welcome>div{flex-basis:100%}}

/* Revisión ampliada de tablas, marca y diagramas. */
.compact-header .brand-stack{flex-basis:68px;min-width:68px}
.compact-header .brand-stack h1{white-space:nowrap;overflow-wrap:normal}
.diagram{display:flex;flex-wrap:wrap;gap:12px;max-width:100%}
.diagram>div{min-width:0;max-width:100%;overflow-wrap:anywhere;flex:1 1 150px}
.manual-table-scroll{max-width:100%;overflow:auto;margin:16px 0}
.manual-table-scroll table{min-width:640px}
#metodologia-tecnica-20261014{padding:22px;border:1px solid #cfdee5;border-radius:14px;background:white;margin:20px 0;min-width:0;line-height:1.7}
#metodologia-tecnica-20261014 th,#metodologia-tecnica-20261014 td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:10px;text-align:left}

/* Resumen PPI: jerarquía visual sin modificar resultados. */
#ppi-summary.ppi-report{background:#fff;border:1px solid #cde1e7;border-left:4px solid #078797;padding:20px;white-space:normal;line-height:1.65}
.ppi-report section{min-width:0;margin:0 0 20px}.ppi-report section:last-child{margin-bottom:0}
.ppi-report .ppi-section-title{font-size:15px;letter-spacing:.2px;color:#17475b;margin:0 0 10px;font-weight:700}
.ppi-report p{margin:6px 0;overflow-wrap:anywhere}.ppi-report .ppi-value{font-weight:750;color:#163a50}
.ppi-overview{padding-bottom:16px;border-bottom:1px solid #dfeaec}.ppi-overview-text{font-size:16px}.ppi-overview-text .ppi-value{font-size:19px;color:#087783}
.ppi-risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ppi-risk-card{padding:16px;border:1px solid #d8e4e9;border-top:4px solid;border-radius:12px;min-width:0}
.ppi-risk-card h4{font-size:15px;margin:0 0 10px}.ppi-risk-card .ppi-risk-count{font-size:17px}.ppi-risk-count .ppi-value{font-size:24px}
.ppi-risk-card .ppi-risk-share{font-size:13px;color:#4d6473}.ppi-risk-findings{font-size:13px}
.ppi-risk-alto{border-top-color:#b13a4b;background:#fff7f8}.ppi-risk-alto h4{color:#993345}
.ppi-risk-medio{border-top-color:#b77919;background:#fffaf0}.ppi-risk-medio h4{color:#86590c}
.ppi-risk-bajo{border-top-color:#32778f;background:#f3fafc}.ppi-risk-bajo h4{color:#245f75}
.ppi-types{padding:14px 16px;background:#f4f8fb;border-radius:10px}
.ppi-economy{padding:16px;background:#edf7f5;border:1px solid #cce4de;border-radius:12px}
.ppi-economic-value{font-size:21px;font-weight:700;color:#176857}.ppi-economic-note{font-size:13px;color:#415f64}.ppi-private-note{display:block;margin-top:8px;font-size:12px}
.ppi-interpretation{padding-top:16px;border-top:1px solid #dfeaec;color:#516b79;font-size:13px}.ppi-interpretation p+p{margin-top:12px}
@media(max-width:850px){.ppi-risk-grid{grid-template-columns:1fr}.ppi-report .ppi-overview-text{font-size:15px}}
@media(max-width:480px){#ppi-summary.ppi-report{padding:14px}.ppi-risk-card{padding:14px}}

.ppi-ticket{margin-top:16px;padding-top:14px;border-top:1px solid #bddbd4}.ppi-ticket h4{margin:0 0 4px;font-size:15px;color:#17475b}.ppi-ticket .ppi-economic-value{margin:4px 0;font-size:24px}

/* Resúmenes uniformes: PPI, laboratorios y Score. */
.clinical-report{background:#fff;border:1px solid #cde1e7;border-left:4px solid #078797;border-radius:14px;padding:20px;white-space:normal;line-height:1.65;min-width:0;margin:16px 0}
.clinical-report .report-heading{justify-content:space-between;margin-bottom:20px;gap:12px}.clinical-report .report-heading h3{margin:0}
.clinical-report .report-caption{font-size:13px;color:#516b79;margin-top:10px}
.lab-reading-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}
.lab-reading-kpis .metric{min-width:0}.lab-reading-kpis small{min-height:40px}
@media(max-width:850px){.lab-reading-kpis{grid-template-columns:1fr}.lab-reading-kpis small{min-height:0}}
.clinical-report .report-context{padding:16px;background:#f3f5f8;border:1px solid #d2dbe3;border-left:4px solid #64778d;border-radius:12px}
.clinical-report .ppi-risk-card{align-self:stretch}.clinical-report .table-wrap{max-height:420px}
.clinical-report .table-wrap table{min-width:640px}.clinical-report .table-wrap td,.clinical-report .table-wrap th{white-space:normal;overflow-wrap:anywhere}
@media(max-width:480px){.clinical-report{padding:14px}.clinical-report .report-context{padding:14px}}

/* Resumen de carga: misma jerarquía visual que los resultados. */
#load-summary{max-height:none;overflow:visible;white-space:normal}
#load-summary:empty{display:none}
.load-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.load-kpi-grid .metric{min-width:0}
.load-next-step{padding:16px;border:1px solid #b8dbd6;border-left:4px solid #078797;border-radius:12px;background:#eef8f5}
.ppi-report .ppi-type-name{font-weight:750;color:#076c79;font-size:15px}
.ppi-report .ppi-economy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-items:start}
.ppi-economy>:not(.ppi-ticket){grid-column:1;min-width:0}
.ppi-economy>.ppi-ticket{grid-column:2;grid-row:1 / span 4;min-width:0;margin:0;padding:0 0 0 24px;border-top:0;border-left:1px solid #bddbd4}
.ppi-economy>.ppi-ticket h4{margin:0 0 10px}.ppi-economy>.ppi-ticket .ppi-economic-value{font-size:21px}
@media(max-width:700px){.ppi-report .ppi-economy{grid-template-columns:1fr}.ppi-economy>.ppi-ticket{grid-column:1;grid-row:auto;margin-top:14px;padding:14px 0 0;border-left:0;border-top:1px solid #bddbd4}}
.load-file-help{margin:16px 0;padding:12px 16px;background:#f5f9fb;border:1px solid #cfdee5;border-radius:12px;color:#496474;font-size:13px}
.load-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.load-help-grid p{padding:12px;background:white;border-radius:8px;margin:12px 0}
@media(max-width:600px){.load-kpi-grid,.load-help-grid{grid-template-columns:1fr}}
/* EPINex | RADAR: identidad vectorial propia y tipografía geométrica local. */
.compact-header{background:linear-gradient(115deg,#112f43,#1b465c);border-bottom:3px solid #1db9ac}
.brand-stack .radar-symbol{display:block;width:68px;height:68px;padding:0;background:none;box-shadow:none;line-height:0}
.radar-symbol img{display:block;width:100%;height:100%}
.brand-stack .radar-name{font-family:Bahnschrift,'Segoe UI',sans-serif;font-weight:600;letter-spacing:.15em;font-size:25px;line-height:1.15;margin:6px 0 0;padding-left:.15em}
.brand-copy .brand-meaning{font-weight:600;color:#e6f5f8;font-size:14px;max-width:490px}
.brand-copy small{display:block;color:#82e3d6;font-size:13px;max-width:490px;line-height:1.45;margin:5px 0}
.radar-platform{font-size:12px;letter-spacing:.02em;color:#bed3df;margin:5px 0}
.brand-copy .brand-owner{font-size:11px;margin-top:6px}
@media(max-width:700px){.brand-copy .brand-meaning{font-size:13px}.brand-copy small{font-size:12px}.radar-platform{font-size:11px}.brand-stack .radar-symbol{width:58px;height:58px}.brand-stack .radar-name{font-size:21px}}

.radar-name svg{display:block;width:128px;height:29px;max-width:100%;margin:0 auto}.brand-stack .radar-name{padding-left:0}
.compact-header .brand-stack{flex:0 0 128px;min-width:128px;text-align:center}.brand-stack .radar-symbol{margin:0 auto}
@media(max-width:600px){.compact-header .brand-stack{flex-basis:90px;min-width:90px}.radar-name svg{width:90px;height:23px}}
.compact-header .brand-stack .radar-symbol{width:52px;height:52px}

/* Visible, smooth hover feedback without layout changes. */
button,.file-button,.btn,.dt-button,.paginate_button,[role="button"]{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,filter .18s ease}
button:enabled:hover,.file-button:not([aria-disabled="true"]):hover,.btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):hover,.dt-button:not(.disabled):hover,.paginate_button:not(.disabled):hover,[role="button"]:not([aria-disabled="true"]):hover{filter:brightness(.90) saturate(1.12)}
button:disabled:hover,.disabled:hover,[aria-disabled="true"]:hover{filter:none}
@media(prefers-reduced-motion:reduce){button,.file-button,.btn,.dt-button,.paginate_button,[role="button"]{transition:none}}

/* Additional scientific modules keep summaries readable and optional sections collapsed. */
.forest-format-menus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.forest-format-menus>details{padding:12px;border:1px solid #cfdee5;border-radius:10px;background:#f7fbfc}.forest-format-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.forest-format-grid input,.forest-format-grid select{width:100%}.forest-format-grid input[type=checkbox]{width:18px;height:18px}.forest-scroll{width:100%;overflow:auto;padding:12px 0}.forest-scroll svg{display:block;max-width:none}#forest-dialog{width:94vw;max-width:none;max-height:94dvh;border:1px solid #b8d4df;border-radius:14px;padding:20px}#forest-dialog::backdrop{background:#082d4070}.extended-click-row{cursor:pointer}.extended-click-row:hover{background:#dff3f0}.extended-click-row:focus-visible{outline:3px solid #73b7c5}#pers-not-evaluable{white-space:pre-wrap}#forest-labels{width:100%;max-width:100%;font:14px Consolas,monospace;padding:12px;border:1px solid #bbd0d9;border-radius:8px}
@media(max-width:800px){.forest-format-menus{grid-template-columns:1fr}.view .row>label{max-width:100%}}

.forest-format-menus{align-items:start}

/* An expanded format family uses the width instead of leaving empty neighboring columns. */
@media(min-width:801px){.forest-format-menus{grid-template-columns:repeat(6,minmax(0,1fr))}.forest-format-menus>details[open]{grid-column:1/-1}.forest-format-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.forest-format-grid label{min-width:0}}

.treatment-gap-overview{padding:18px 20px;margin-bottom:20px;border:1px solid #e7d4c9;border-left:5px solid #c67542;border-radius:12px;background:#fffcf9}.treatment-gap-overview h2{margin-top:0;color:#174359}.treatment-gap-overview .metric{background:#fff}.treatment-gap-overview .row{margin-top:14px}

#lab-results.pharmacotherapy-view table th,#lab-results.pharmacotherapy-view table td{min-width:120px;word-break:normal;overflow-wrap:break-word}#lab-results.pharmacotherapy-view .dataTables_wrapper{max-width:100%}
@media(min-width:1100px){.treatment-gap-overview .lab-reading-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:1099px){.treatment-gap-overview .lab-reading-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Misma jerarquía de lectura en la aplicación, Ayuda y Manual. */
.brand-emphasis,.reading-key{font-weight:750}
#help-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #cbdde5;border-radius:18px;padding:26px;color:#173d54;background:#fff;box-shadow:0 24px 80px #082d4050}
#help-dialog::backdrop{background:#082d4070}
#help-dialog .access-protection-heading{align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #dce8ee}
#help-title{font-size:26px;line-height:1.25;margin:0;font-weight:750}
#help-close{flex:none;margin:0;padding:9px 14px;font-size:13px}
#help-dialog p{font-size:14px;line-height:1.55;font-weight:400}
#help-dialog .help-tip{background:#edf8f6;border-left:4px solid #13958d;border-radius:0 8px 8px 0;padding:14px 16px;margin:18px 0;color:#234d54}
#help-dialog strong{font-weight:750}
#help-dialog>a{font-size:14px;text-underline-offset:3px}
@media(max-width:560px){#help-dialog{padding:20px}#help-title{font-size:22px}}

/* La marca conserva su capitalización incluso dentro de rótulos en mayúsculas. */
.brand-emphasis{text-transform:none}

.brand-literal{text-transform:none}

/* Formato compartido de resultados: jerarquía de PPI, sin modificar botones. */
.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 22px;width:100%;max-width:none}
.report-metrics .metric{min-width:0;margin:0;padding:16px}.report-metrics .metric small{display:block;min-height:40px;font-size:13px;line-height:1.45;color:#516b79}.report-metrics .metric strong{font-size:28px;line-height:1.25;margin-top:8px}
.clinical-report:empty{display:none}.clinical-report .clinical-report{margin:12px 0}.clinical-report dt{font-weight:700;color:#17475b;margin-top:14px}.clinical-report dd{margin:4px 0 12px;overflow-wrap:anywhere;white-space:pre-line}
#mm-report #mm-scope{background:transparent;border:0;padding:0;margin:0}#mm-report #mm-summary>section{margin-bottom:0}
.clinical-report details>summary{font-weight:650}.clinical-report .report-metrics+div{margin-top:20px}
@media(max-width:1100px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.report-metrics{grid-template-columns:1fr}.report-metrics .metric small{min-height:0}}

/* Los bloques de detalle sustituyen el antiguo grid de pares dt/dd en estos contenedores. */
#lab-detail-content,#ld-detail-content,#pers-detail-content{display:block;grid-template-columns:none}
#lab-detail-content>section,#ld-detail-content>section,#pers-detail-content>section{width:100%;min-width:0}
#lab-detail-content .details-list,#ld-detail-content .details-list,#pers-detail-content .details-list{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:6px 18px;margin:0}
#lab-detail-content .details-list dt,#ld-detail-content .details-list dt,#pers-detail-content .details-list dt{margin:6px 0}
#lab-detail-content .details-list dd,#ld-detail-content .details-list dd,#pers-detail-content .details-list dd{margin:6px 0}
@media(max-width:650px){#lab-detail-content .details-list,#ld-detail-content .details-list,#pers-detail-content .details-list{grid-template-columns:1fr;gap:0}#lab-detail-content .details-list dd,#ld-detail-content .details-list dd,#pers-detail-content .details-list dd{margin:0 0 12px}}

.report-downloads{padding:12px 0 16px;margin-bottom:16px;border-bottom:1px solid #dfeaec;gap:10px}.report-downloads small{flex-basis:100%;font-size:12px;line-height:1.5}

/* Revisión de entradas, sin modificar el tamaño del ingreso o autenticador. */
.input-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:16px 0}
.input-settings label{display:flex;flex-direction:column;gap:6px}
#input-review details{padding:14px 0;border-top:1px solid #cbe0e8}
#input-review td{vertical-align:top;white-space:normal;overflow-wrap:anywhere;max-width:340px}
#input-review td select{max-width:300px;width:100%}
#input-review td:last-child{font-size:.9em;white-space:pre-line}
#input-review .check{margin:14px 0}
.input-ready{color:#087767}.input-missing{color:#a43832}
.input-module-note{border-left:4px solid #078895;background:#eff8f8;padding:12px 16px;margin:14px 0}

#module-availability .table-wrap{max-height:none}

/* El anuncio de texto usa lenguaje editorial; la imagen tiene su propio lienzo gráfico. */
#commercial-format-dialog .format-text-ad{max-width:330px;background:#fff;color:#183f50;border:1px solid #cddfe4;border-left:4px solid #0d8790;border-radius:4px;padding:22px;box-shadow:none}
#commercial-format-dialog .format-text-ad .format-example-label{color:#526e7d;font-size:10px;letter-spacing:.6px;margin:0 0 16px}
#commercial-format-dialog .format-text-ad h3{color:#183f50;font-size:24px;line-height:1.2;letter-spacing:-.3px;margin:0 0 16px}
#commercial-format-dialog .format-text-ad p{font-size:14px;line-height:1.65}
#commercial-format-dialog .format-text-ad .format-text-signature{font-size:11px;color:#637c88;border-top:1px solid #dfebee;padding-top:12px;margin-top:18px}
#commercial-format-dialog .format-text-ad .format-example-cta{display:inline;background:transparent;color:#007e87;border:0;padding:0;font-size:13px;font-weight:700;text-decoration:underline;line-height:1.4}

/* Compact journey: full map is opt-in, functional panels retain their widths. */
.journey-card{border:1px solid #c6dfe5;background:#ffffffed;border-radius:14px;padding:12px 16px;margin:12px 0 18px}.journey-compact{display:flex;align-items:center;justify-content:space-between;gap:18px}.journey-compact>div:first-child{flex:1;min-width:0}.journey-compact small{display:block;font-size:10px;letter-spacing:1px;color:#537587}.journey-compact strong{display:block;font-size:16px;margin:3px 0 6px}.journey-compact progress{display:block;width:min(420px,100%);height:5px;accent-color:#078792}.journey-controls{display:flex;gap:8px}.journey-controls button{padding:8px 12px;font-size:12px;margin:0}#analysis-journey{margin-top:8px}#analysis-journey>summary{font-size:12px;font-weight:700;color:#007d86;cursor:pointer}#analysis-journey>p{font-size:13px}.journey-card .step-nav{margin:12px 0 0}@media(max-width:600px){.journey-compact{flex-wrap:wrap}.journey-controls{width:100%}}

/* Every module starts with compact, independent disclosure rows. */
.module-panels-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;padding:8px 12px;background:#ffffffd9;border:1px solid #d0e4e8;border-radius:10px;font-size:12px;color:#496d7d}.module-panels-toolbar button{margin:0;padding:6px 10px;min-height:32px;font-size:12px}
#workspace details.module-fold{margin:10px 0;padding:0;border:1px solid #c9dfe5;border-left:3px solid #078c95;border-radius:10px;background:#fff;min-width:0;max-width:100%}
#workspace details.module-fold>summary{display:list-item;position:relative;padding:13px 105px 13px 16px;margin:0;line-height:1.4;cursor:pointer;color:#17485c;font-size:15px;font-weight:700;background:#f4fafb;border-radius:8px;min-height:48px}
#workspace details.module-fold>summary::after{content:'Mostrar';position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:650;color:#087f87}
#workspace details.module-fold[open]>summary::after{content:'Contraer'}
#workspace details.module-fold>summary:hover{background:#e5f4f3}
#workspace details.module-fold>summary:focus-visible{outline:3px solid #4aafbb;outline-offset:2px}
#workspace details.module-fold>summary>h3{display:inline;margin:0!important;font-size:inherit!important;line-height:inherit}
#workspace .module-fold-body{padding:14px 16px;min-width:0}
#workspace .module-fold-body>.clinical-report,#workspace .module-fold-body>.report-downloads{margin:0}
#workspace .clinical-report section.panel-section{padding:0!important;margin:10px 0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#workspace .input-module-note{padding:12px 16px}#workspace .input-module-note>summary{cursor:pointer;color:#17485c;font-weight:700;line-height:1.45}#workspace .input-module-note>p{margin-bottom:0}
#workspace .module-fold-body>.row{margin:0}
@media(max-width:600px){.module-panels-toolbar{flex-wrap:wrap}#workspace details.module-fold>summary{padding-right:78px;font-size:14px}#workspace .module-fold-body{padding:12px}}
@media print{.module-panels-toolbar{display:none!important}#workspace details.module-fold>summary::after{display:none}}

/* Sesión y repositorio: controles compactos y nombres largos accesibles. */
.session-repository{margin:12px 0;padding:14px;border:1px solid #b9d9df;border-radius:12px;background:#f5fafb;min-width:0}.session-repository>summary{cursor:pointer;font-weight:700;color:#086b78}.session-repository .controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.session-repository p{overflow-wrap:anywhere}.session-repository .repository-entry{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid #cde1e5;padding-top:10px}.session-repository .repository-entry strong{flex:1 1 230px;min-width:0}.session-repository button{max-width:100%;white-space:normal}@media(max-width:600px){.session-repository{padding:10px}.session-repository .controls>button{flex:1 1 180px}}
