/* Pacientes: la lista y la ficha. Mismas piezas que el resto del portal. */

.enlace-p{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--navy);cursor:pointer;text-align:left}
.enlace-p:hover{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}

/* Lista */
.pa-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.pa-busca{flex:1 1 280px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff}
.pa-busca svg{width:17px;height:17px;color:var(--faint);flex:0 0 auto}
.pa-busca input{border:0;padding:9px 0;outline:0}
.pa-busca:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px rgba(27,167,173,.2)}
.pa-filtros{display:flex;flex-wrap:wrap;gap:6px}
.pa-filtros button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit}
.pa-filtros button em{font-style:normal;color:var(--faint);margin-left:3px}
.pa-filtros button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pa-filtros button.on em{color:#A9BACD}
.pa-lista{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pa-item{display:grid;grid-template-columns:40px minmax(0,2fr) 1fr 1fr minmax(0,1.4fr);gap:14px;align-items:center;text-align:left;
  border:0;border-top:1px solid #F0F3F6;background:#fff;padding:11px 14px;cursor:pointer;font-family:inherit;color:var(--ink)}
.pa-item:first-child{border-top:0}
.pa-item:hover{background:#F6F9FB}
.pa-av{width:40px;height:40px;border-radius:50%;background:#E8F5F6;color:var(--teal-dark);display:grid;place-items:center;font-weight:700;font-size:13.5px;text-transform:uppercase}
.pa-nom b{display:block;font-size:14px}
.pa-nom small,.pa-dato small{display:block;font-size:11.5px;color:var(--muted)}
.pa-dato{font-size:13px;font-weight:600}
.pa-dato small{font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px}
.pa-est{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:860px){.pa-item{grid-template-columns:40px minmax(0,1fr)}.pa-dato{display:none}.pa-est{grid-column:2;justify-content:flex-start}}

/* Ficha */
.pf-volver{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--teal-dark);font-weight:600;font-size:13px;cursor:pointer;padding:0 0 10px;font-family:inherit}
.pf-volver svg{width:16px;height:16px}
.pf-cab .body{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.pf-av{width:64px;height:64px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-size:22px;font-weight:600;text-transform:uppercase;flex:0 0 auto}
.pf-id{flex:1 1 260px;min-width:0}
.pf-id h1{font-family:var(--disp);font-size:22px;margin:0;color:var(--navy);font-weight:600}
.pf-meta{font-size:12.5px;color:var(--muted);margin-top:2px}
.pf-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pf-acc{display:flex;gap:8px;flex-wrap:wrap}
.pf-acc .btn{text-decoration:none}

.pf-res{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
@media(max-width:860px){.pf-res{grid-template-columns:1fr 1fr}}
.pf-r{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;border-left:4px solid var(--teal)}
.pf-r small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}
.pf-r b{display:block;font-family:var(--disp);font-size:15.5px;color:var(--navy);margin-top:3px}
.pf-r span{font-size:11.5px;color:var(--muted)}
.pf-r .est{margin-top:4px}
.pf-r.alerta{border-left-color:var(--danger)}
.pf-r.alerta span{color:var(--danger);font-weight:700}

.pf-g{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:1000px){.pf-g{grid-template-columns:1fr}}
.pf-guardado{margin-left:auto;font-family:var(--body);font-size:12px;color:var(--ok);font-weight:600}
.pf-campo{margin-bottom:12px}
.pf-campo label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600;margin-bottom:4px}
.pf-campo textarea{min-height:46px}
.pf-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pf-pie{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.pf-pie .tenue{max-width:44ch}

.pf-pl{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.pf-pl-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.pf-pl-cab b{font-size:14.5px;color:var(--navy)}
.pf-pl-cab span:not(.est){font-size:12px;color:var(--muted)}
.pf-pl-cab .est{margin-left:auto}
.pf-dl{display:grid;grid-template-columns:repeat(4,auto 1fr);gap:6px 12px;margin:0;font-size:12.5px}
.pf-dl dt{color:var(--muted)}
.pf-dl dd{margin:0;color:var(--ink);font-weight:600}
.pf-dl.c{grid-template-columns:auto 1fr}
@media(max-width:700px){.pf-dl{grid-template-columns:auto 1fr}}
.pf-vacio{padding:18px}

.pf-tl{list-style:none;margin:0;padding:0;position:relative}
.pf-tl::before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:2px;background:var(--line)}
.pf-tl li{position:relative;display:grid;grid-template-columns:32px 1fr auto;gap:10px;padding:7px 0;align-items:start}
.pf-tl-ic{width:32px;height:32px;border-radius:50%;background:#fff;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--teal-dark);position:relative}
.pf-tl-ic svg{width:15px;height:15px}
.pf-tl b{display:block;font-size:13px;color:var(--ink)}
.pf-tl small{display:block;font-size:11.5px;color:var(--muted)}
.pf-tl time{font-size:11.5px;color:var(--faint);white-space:nowrap;padding-top:2px}
.pf-tl li.atendido .pf-tl-ic{border-color:var(--ok);color:var(--ok)}
.pf-tl li.ausente .pf-tl-ic{border-color:var(--danger);color:var(--danger)}
.pf-tl li.por_aceptar .pf-tl-ic{border-color:var(--warn);color:var(--warn)}
.pf-tl li.futuro .pf-tl-ic{border-style:dashed}

.pf-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.pf-fotos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.pf-subir{aspect-ratio:1;border:1.5px dashed var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  text-align:center;font-size:11.5px;color:var(--muted);cursor:pointer;padding:8px}
.pf-subir:hover{border-color:var(--teal);color:var(--teal-dark)}
.pf-subir svg{width:22px;height:22px}
