/* Historia clínica NUUMA v1.95.0: portada compacta, índice fijo y lectura en fichas. */
.ph{--muted:#435466;--ph-line:#e4eae6;--ph-hair:#eef2ef;--ph-soft:#f6f9f7;--ph-tint:#ecf4ef;--ph-sage:#3f6b57;--ph-sand:#8b4d20;--ph-sand-soft:#fdeee2;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;color:var(--ink)}
.ph *{box-sizing:border-box}
.ph-icon{display:block;flex:none}
/* Portada */
.ph-hero{position:relative;overflow:hidden;padding:18px 20px 16px;border-radius:18px;color:#fff;background:radial-gradient(120% 150% at 100% 0%,rgba(112,187,224,.26),transparent 55%),radial-gradient(90% 130% at 0% 100%,rgba(138,188,158,.2),transparent 60%),var(--navy)}
.ph-hero-top{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px}
.ph-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(140deg,#a9d3b9,#8cc6e6);color:var(--navy);font-size:14px;font-weight:600;letter-spacing:.02em}
.ph-identity{min-width:0}
.ph-kicker{display:block;font-size:11px;line-height:1.4;color:#a9c9b8;letter-spacing:.02em}
.ph-identity h2{margin:1px 0 8px;color:#fff;font-size:17px;font-weight:500;line-height:1.3;letter-spacing:-.01em;text-transform:capitalize;overflow-wrap:anywhere}
.ph-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.ph-meta>div{display:flex;align-items:center;gap:6px;min-width:0;padding:3px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06)}
.ph-meta dt{margin:0;font-size:10px;color:#c4d1dc}
.ph-meta dd{margin:0;font-size:11px;color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ph-download{margin:0;align-self:start}
.ph-download button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 13px;border:0;border-radius:10px;background:#fff;color:var(--navy);font:500 12px/1.2 inherit;cursor:pointer;transition:background .15s ease,transform .15s ease}
.ph-download button:hover{background:#eaf4ee}
.ph-download button:active{transform:translateY(1px)}
.ph-download button:focus-visible{outline:2px solid #a9d3b9;outline-offset:3px}
.ph-journey{margin-top:14px;padding:11px 14px 10px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.06)}
.ph-weights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.ph-weights>div{min-width:0}
.ph-weights .is-current{text-align:center}
.ph-weights .is-target{text-align:right}
.ph-weights dt{font-size:10.5px;line-height:1.4;color:#c4d1dc}
.ph-weights dd{margin:5px 0 0;line-height:1.4}
.ph-weights strong{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.ph-weights small{margin-left:3px;font-size:10.5px;color:#c4d1dc}
.ph-weights em{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;background:rgba(138,188,158,.22);color:#c4e6d1;font-size:10.5px;font-style:normal;vertical-align:1px;font-variant-numeric:tabular-nums}
.ph-track{position:relative;height:5px;margin:10px 0 7px;border-radius:999px;background:rgba(255,255,255,.12)}
.ph-track span{position:absolute;inset:0 auto 0 0;min-width:6px;border-radius:inherit;background:linear-gradient(90deg,#8abc9e,#70bbe0)}
.ph-track span::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;border:2px solid #70bbe0;border-radius:50%;background:#fff;transform:translateY(-50%)}
.ph-journey-note{margin:0;font-size:11px;line-height:1.5;color:#c9d6df;text-align:center}
/* Índice fijo */
.ph-nav{position:sticky;top:var(--ph-top,92px);z-index:12;padding:5px;border:1px solid rgba(27,45,65,.08);border-radius:14px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ph-nav>div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.ph-nav>div::-webkit-scrollbar{display:none}
.ph-nav a{flex:none;padding:7px 13px;border-radius:10px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.3;text-decoration:none!important;white-space:nowrap;transition:background .15s ease,color .15s ease}
.ph-nav a:hover{background:var(--ph-tint);color:var(--navy)}
.ph-nav a.is-active{background:var(--navy);color:#fff}
.ph-nav a:focus-visible{outline:2px solid #8abc9e;outline-offset:1px}
/* Secciones */
.ph-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.ph-card{min-width:0;padding:15px 18px 16px;border:1px solid var(--ph-line);border-radius:14px;background:#fff;scroll-margin-top:150px;container-type:inline-size}
.ph-card:focus{outline:none}
.ph-card:focus-visible{outline:2px solid #8abc9e;outline-offset:3px}
.ph-card-head{display:flex;align-items:center;gap:11px;min-width:0;margin-bottom:12px}
.ph-card-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:var(--ph-tint);color:var(--ph-sage)}
.ph-card-title{min-width:0;flex:1}
.ph-card-title span{display:block;margin-bottom:3px;font-size:10px;line-height:1.4;color:var(--muted)}
.ph-card-title h3{margin:0;font-size:14px;font-weight:500;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}
.ph-badge{display:inline-flex;align-items:center;gap:5px;flex:none;padding:4px 10px;border-radius:999px;background:#f1f4f2;color:var(--muted);font-size:11px;line-height:1.3;white-space:nowrap}
.ph-badge.is-ok{background:#e6f3eb;color:#2f6b4c}
.ph-badge .ph-icon{width:13px;height:13px;stroke-width:2.2}
.ph-card-icon .ph-icon{width:16px;height:16px}
.ph-metrics-list{display:grid;gap:7px}
.ph-metrics{--c:var(--c-xs,2);display:flex;flex-wrap:wrap;gap:6px}
@container (min-width:400px){.ph-metrics{--c:var(--c-sm,3)}}
@container (min-width:621px){.ph-metrics{--c:var(--c-md,4)}}
@container (min-width:880px){.ph-metrics{--c:var(--c-lg,6)}}
.ph-metric{display:flex;flex:1 1 calc((100% - (var(--c) - 1) * 6px) / var(--c));flex-direction:column;justify-content:center;gap:6px;min-width:0;max-width:100%;padding:9px 10px;border:1px solid #e9efeb;border-radius:10px;background:var(--ph-soft)}
.ph-metric>span{font-size:10.5px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.ph-metric strong{font-size:13.5px;font-weight:500;line-height:1.35;color:var(--ink);font-variant-numeric:tabular-nums}
.ph-metric small{margin-left:3px;font-size:10.5px;font-weight:400;color:var(--muted)}
.ph-metric em{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--ph-sand-soft);color:var(--ph-sand);font-size:10px;font-weight:400;font-style:normal;line-height:1.6;vertical-align:1px}
/* Clave y valor próximos y centrados; filas completas con ancho según el texto. */
.ph-facts-wrap{overflow:hidden;display:grid;gap:0}
.ph-facts{display:flex;gap:18px;margin:0}
.ph-facts>div{display:flex;flex:var(--fact-weight,1) 1 0;align-items:center;gap:8px;min-width:0;padding:8px 0;border-bottom:1px solid var(--ph-hair)}
.ph-facts dt{flex:0 1 auto;min-width:0;margin:0;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.ph-facts dd{flex:0 1 auto;min-width:0;margin:0;font-size:12.5px;font-weight:500;line-height:1.5;color:var(--ink);text-align:left;overflow-wrap:anywhere}
.ph-facts:last-child>div{border-bottom:0}
@container (max-width:620px){.ph-facts{flex-direction:column;gap:0}.ph-facts>div{flex:none}.ph-facts:last-child>div:not(:last-child){border-bottom:1px solid var(--ph-hair)}}
.ph-prose-list{display:grid;gap:6px}
.ph-prose-row{display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:6px}
.ph-prose-row.is-2{--cols:2}.ph-prose-row.is-3{--cols:3}
@container (max-width:620px){.ph-prose-row.is-2,.ph-prose-row.is-3{--cols:1}}

.ph-prose{min-width:0;padding:9px 12px 10px;border-radius:10px;background:var(--ph-soft)}
.ph-prose h4{margin:0 0 5px;font-size:11px;font-weight:500;line-height:1.45;color:var(--ph-sage)}
.ph-prose p{margin:0;max-width:120ch;font-size:12.5px;line-height:1.6;overflow-wrap:anywhere}
.ph-metrics-list:not(:last-child),.ph-facts-wrap:not(:last-child){margin-bottom:10px}
/* Laboratorio */
.ph-lab+.ph-lab{margin-top:18px;padding-top:16px;border-top:1px solid var(--ph-hair)}
.ph-lab-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px}
.ph-lab-head strong{font-size:13px;font-weight:500}
.ph-lab-head time{margin-left:10px;font-size:12px;color:var(--muted)}
.ph-link{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--ph-line);border-radius:9px;color:var(--navy);font-size:12px;font-weight:500;text-decoration:none!important}
.ph-link:hover{background:var(--ph-tint)}
.ph-link .ph-icon{width:15px;height:15px}
.ph-lab-groups{columns:2 300px;column-gap:12px}
.ph-lab-group{display:block;margin:0 0 12px;break-inside:avoid;page-break-inside:avoid;border:1px solid #e9eeea;border-radius:12px;overflow:hidden}
.ph-lab-group h4{margin:0;padding:8px 12px;background:#f3f7f4;color:var(--ph-sage);font-size:11.5px;font-weight:500;line-height:1.4}
.ph-lab-group ul{margin:0;padding:0 4px;list-style:none}
.ph-lab-group li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px;border-bottom:1px solid #f0f3f1}
.ph-lab-group li:last-child{border-bottom:0}
.ph-lab-name{min-width:0;font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.ph-lab-name small{display:block;margin-top:1px;font-size:10.5px;color:var(--muted)}
.ph-lab-value{flex:none;text-align:right;white-space:nowrap;font-size:11.5px;color:var(--muted)}
.ph-lab-value strong{font-size:12.5px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.ph-lab-value small{margin-left:3px;font-size:10.5px;color:var(--muted)}
.ph-lab-value em{margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--ph-sand-soft);color:var(--ph-sand);font-size:10px;font-style:normal;font-weight:500}
.ph-lab-group li.is-pending .ph-lab-name{color:var(--muted)}
.ph-foot{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}
.ph-lab-text{margin-top:10px;font-size:12px}
.ph-lab-text summary{cursor:pointer;color:var(--navy)}
.ph-lab-text pre{max-height:260px;overflow:auto;padding:12px;border-radius:10px;background:var(--ph-soft);white-space:pre-wrap;font:12px/1.6 inherit}
/* Seguimiento */
.ph-follow{display:grid;gap:14px;align-items:start}
.ph-follow.is-split{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.ph-timeline{margin:0;padding:0;list-style:none}
.ph-timeline>li{position:relative;padding:0 0 16px 24px}
.ph-timeline>li::before{content:"";position:absolute;left:0;top:5px;width:11px;height:11px;border:2px solid #8abc9e;border-radius:50%;background:#fff}
.ph-timeline>li::after{content:"";position:absolute;left:5px;top:20px;bottom:2px;width:1px;background:#e1e8e3}
.ph-timeline>li:last-child{padding-bottom:0}
.ph-timeline>li:last-child::after{display:none}
.ph-timeline>li:first-child::before{background:#8abc9e}
.ph-timeline-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.ph-timeline-head strong{font-size:13px;font-weight:500}
.ph-timeline-head time{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.ph-timeline-head span{padding:2px 9px;border-radius:999px;background:#f1f4f2;color:var(--muted);font-size:11px}
.ph-timeline p{margin:5px 0 0;font-size:12.5px;line-height:1.6;overflow-wrap:anywhere}
.ph-checks{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.ph-checks li{display:flex;gap:8px;font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}
.ph-checks .ph-icon{width:15px;height:15px;margin-top:2px;color:#4f8a6a;stroke-width:2.1}
.ph-notes{padding:14px 16px;border:1px solid #f4e1cf;border-radius:14px;background:#fdf7f1}
.ph-notes h4{margin:0;font-size:12.5px;font-weight:500;color:#9a5a22}
.ph-notes .ph-icon{color:#d08a4a}
.ph-muted{color:var(--muted)}
/* Mediciones */
.ph-table-wrap{overflow-x:auto;border:1px solid #e9eeea;border-radius:12px}
.ph-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.ph-table thead th{padding:8px 12px;background:#f3f7f4;color:var(--ph-sage);font-size:11px;font-weight:500;text-align:right;white-space:nowrap}
.ph-table thead th:first-child,.ph-table tbody th{text-align:left}
.ph-table thead small{font-size:10px;font-weight:400;color:var(--muted)}
.ph-table tbody th{padding:8px 12px;font-weight:500;white-space:nowrap}
.ph-table tbody th small{margin-left:7px;padding:1px 7px;border-radius:999px;background:#f1f4f2;color:var(--muted);font-size:10px;font-weight:400}
.ph-table td{padding:8px 12px;text-align:right;white-space:nowrap}
.ph-table tbody tr+tr>*{border-top:1px solid #f0f3f1}
.ph-table td small{margin-left:6px;font-size:10.5px}
.ph-table td small.is-down{color:#3f8a5f}
.ph-table td small.is-up{color:var(--ph-sand)}
.ph-charts{margin-top:14px}
.ph-charts .circ-prog{margin:0}
/* Fotos */
.ph-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,220px));gap:12px}
.ph-photos figure{position:relative;margin:0;min-width:0}
.ph-photos img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;background:#eef2ef}
.ph-photos figcaption{position:absolute;left:8px;bottom:8px;display:flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(27,45,65,.8);color:#fff;font-size:11px;line-height:1.4}
.ph-photos figcaption strong{font-weight:500}
.ph-photos time{opacity:1}
/* Consentimiento */
.ph-clauses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:0;padding:0;list-style:none}
.ph-clauses li{display:flex;gap:11px;min-width:0}
.ph-clauses li>span{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:8px;background:var(--ph-tint);color:var(--ph-sage);font-size:10.5px;font-weight:500;font-variant-numeric:tabular-nums}
.ph-clauses h4{margin:3px 0 3px;font-size:12.5px;font-weight:500;line-height:1.4}
.ph-clauses p{margin:0;font-size:12px;line-height:1.62;color:#43515f;overflow-wrap:anywhere}
.ph-clauses strong,.ph-statement strong{font-weight:500;color:var(--ink)}
.ph-consent-foot{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;margin-top:16px}
.ph-statement{padding:12px 14px;border-radius:12px;background:var(--ph-soft)}
.ph-statement h4{margin:0 0 3px;font-size:11.5px;font-weight:500;color:var(--ph-sage)}
.ph-statement p{margin:0;font-size:12.5px;line-height:1.6;color:#43515f}
.ph-consent-meta{display:grid;gap:8px}
.ph-consent-meta>div{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e8eee9;border-radius:12px;font-size:12px;line-height:1.5;color:var(--muted)}
.ph-consent-meta strong{display:block;font-size:12.5px;font-weight:500;color:var(--ink)}
.ph-consent-meta .ph-icon{margin-top:1px;color:var(--muted)}
.ph-consent-meta .is-signed{border-color:#d3e8db;background:#eff8f2}
.ph-consent-meta .is-signed .ph-icon{color:#2f7a50;stroke-width:2.2}
.ph-empty h3{margin:0 0 4px;font-size:15px;font-weight:500}
.ph-empty p{margin:0;font-size:12.5px;color:var(--muted)}
.ph-signoff{margin:6px 0 0;font-size:11px;color:var(--muted);text-align:center}
@media(max-width:1180px){.ph-follow.is-split,.ph-consent-foot{grid-template-columns:minmax(0,1fr)}}
@media(max-width:960px){.ph-clauses{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.ph-nav{top:var(--ph-top,80px)}}
@media(max-width:640px){
 .ph{gap:12px}.ph-body{gap:12px}
 .ph-hero{padding:16px 16px 14px;border-radius:16px}
 .ph-hero-top{grid-template-columns:40px minmax(0,1fr);gap:12px}
 .ph-avatar{width:40px;height:40px;font-size:13px;align-self:start}
 .ph-meta>div{padding:3px 9px}
 .ph-download{grid-column:1/-1}
 .ph-download button{width:100%;justify-content:center}
 .ph-journey{margin-top:14px;padding:12px 12px 11px}
 .ph-weights em{display:block;width:max-content;margin:3px auto 0;vertical-align:0}
 .ph-card{padding:14px 14px 15px;border-radius:14px;scroll-margin-top:140px}
 .ph-card-head{gap:10px;margin-bottom:12px;flex-wrap:wrap}
 .ph-card-head .ph-badge{margin-left:41px}
 .ph-lab-groups{columns:1}
 .ph-lab-head time{display:block;margin:2px 0 0}
 .ph-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.ph-nav a,.ph-download button{transition:none}}

/* Laboratorio del paciente: estilos conservados. */
.patient-exams-page{min-width:0}
.patient-exams-page .patient-initial-lab{background:var(--white);padding:27px;border-radius:20px}
.patient-exams-page .patient-initial-lab-head h2{font-size:20px;line-height:1.4}
.patient-exams-page .patient-initial-copy{padding:19px;border:1px solid var(--line);background:var(--soft);border-radius:15px}
.patient-exams-page .patient-initial-copy>strong{font-size:15px;line-height:1.6}
.patient-exams-page .patient-initial-copy p{font-size:12px;line-height:1.9}
.patient-exams-page .patient-initial-upload{border:1px solid var(--line);background:var(--white);border-radius:15px;padding:19px}
.patient-exams-page .patient-other-exams>.panel{background:var(--white)}
.patient-exams-page .lab-result-file{background:var(--white);border-radius:14px}

@media(max-width:700px){.patient-exams-page .patient-initial-lab{padding:18px}.patient-exams-page .patient-initial-copy,.patient-exams-page .patient-initial-upload{padding:16px}}
@media(max-width:420px){.patient-exams-page .patient-initial-lab-head h2{font-size:18px}}

/* v2.5.2 · Perfil del paciente: mismos datos que el registro público. */
.profile-main .profile-grid-row{margin-top:14px}
.profile-main .form-grid.aligned label>select{margin-top:auto}
.profile-main input[readonly]{background:rgba(27,45,65,.06);color:var(--muted);cursor:default}
.profile-main .panel>.field-hint:last-child{margin:14px 0 0}
.profile-main .form-grid label>:is(input,select){width:100%;min-width:0;box-sizing:border-box}

/* v2.6.2 · Historia clínica vista por el equipo: misma presentación que el paciente. */
.ph-team-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin:0 0 14px}
.ph-team-topbar .btn{font-size:12px}
.ph-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ph-files li{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 12px;border:1px solid var(--ph-line);border-radius:12px;background:#fff}
.ph-file-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ph-tint);color:var(--ph-sage)}
.ph-file-copy{flex:1;min-width:0;display:grid;gap:3px}
.ph-file-copy strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}
.ph-file-copy small{font-size:11px;color:var(--muted)}
.ph-files a{flex:none;font-size:12px;color:var(--ph-sage);text-decoration:none;font-weight:500}
.ph-files a:hover{text-decoration:underline}
/* v2.6.2 · La etiqueta no se corta a mitad de palabra: se encoge el valor. */
.ph-facts dt{flex:none;max-width:45%;overflow-wrap:normal;word-break:normal;hyphens:none}
.ph-facts>div{align-items:baseline}
/* v2.6.4 · Datos sin registrar y controles de seguimiento completos. */
.ph-metric.is-missing{background:#fff;border-style:dashed}
.ph-metric.is-missing strong,.ph-facts dd.is-missing{color:#7a8794;font-weight:400;font-style:italic}
.ph-metric.is-missing strong{font-size:12.5px}
.ph-undefined{margin:0;font-size:12.5px;font-style:italic}
.ph-control{display:grid;gap:12px;padding:14px 0 16px;border-top:1px solid var(--ph-hair)}
.ph-control:first-of-type{padding-top:2px;border-top:0}
.ph-control:last-of-type{padding-bottom:2px}
.ph-control-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.ph-control-head strong{font-size:13px;font-weight:500}
.ph-control-head time{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.ph-control-head span{padding:2px 9px;border-radius:999px;background:#f1f4f2;color:var(--muted);font-size:11px}
.ph-control-group{display:grid;gap:7px;min-width:0}
.ph-control-group>h4{margin:0;font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--ph-sage)}
.ph-control-group .ph-checks{margin:0}
.ph-card>.ph-notes{margin-top:12px}
