.dialog{width:min(700px,calc(100% - 30px))}
.profile-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:20px 0}.profile-facts>div{background:var(--gris-fondo);border-radius:var(--radio-m);padding:12px}.profile-facts span,.profile-facts strong{display:block}.profile-facts span{font-size:var(--texto-11);font-weight:var(--peso-medio);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.profile-facts strong{font-size:var(--texto-13)}.dialog-section{font-size:.82rem;margin:22px 0 8px}.relation-row,.document-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0}.relation-row strong,.relation-row small,.document-row strong,.document-row small{display:block}.relation-row strong,.document-row strong{font-size:.75rem}.relation-row small,.document-row small{font-size:.66rem;color:var(--muted);margin-top:3px}.document-row{justify-content:flex-start}.document-row .status{margin-left:auto}.doc-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
/* Migas de retorno de la pila de fichas (primitiva A): ir de propietario a su piso deja de ser un
   billete de ida. Discreto y arriba del todo: es una salida, no la acción principal. */
.card-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;cursor:pointer;
  color:var(--teal-dark,#0a6b5f);font-weight:700;font-size:var(--texto-12);padding:0;margin:0 0 10px}
.card-back:hover{text-decoration:underline}.relation-row.is-highlight{background:var(--verde-100);border-radius:var(--radio-m);padding-left:9px;padding-right:9px;margin:0 -9px}.document-icon{width:34px;height:34px;border-radius:var(--radio-m);background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}.empty.compact{padding:18px}
.entity-history{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.entity-history summary{font-size:var(--texto-12);font-weight:var(--peso-medio);color:var(--muted);cursor:pointer;padding:6px 0;list-style:revert}.entity-history[open] summary{margin-bottom:4px}.history-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line)}.history-line:first-child{border-top:none}.history-line span{font-size:.72rem}.history-line strong{font-weight:var(--peso-medio)}.history-line small{font-size:.64rem;color:var(--muted);white-space:nowrap}
.wait-hint{display:block;margin-top:4px;font-size:.62rem;font-weight:var(--peso-medio);color:var(--muted)}.wait-hint.wait-amber{color:#9a6a00}.wait-hint.wait-red{color:var(--danger,#c0392b)}.muted-hint{color:var(--muted);font-style:italic}
/* M11 · Hilo de la incidencia: la conversación se lee de arriba (lo antiguo) abajo (lo nuevo). */
.thread-desc{background:var(--gris-fondo);border-radius:var(--radio-m);padding:10px 12px;font-size:.72rem;margin:4px 0 0}
.incident-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.thread-note{border-left:3px solid var(--teal-soft,#cfe9e4);background:var(--gris-fondo);border-radius:var(--radio-m);padding:9px 12px}
.thread-note p{margin:0 0 4px;font-size:.74rem;white-space:pre-wrap}
.thread-note small{color:var(--muted);font-size:.64rem}
.thread-add{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.thread-add textarea{width:100%;font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radio-m);resize:vertical}
.thread-add .button{align-self:flex-end}
/* M15 · Correos recibidos en la ficha (plegado, mismo lenguaje que el hilo de incidencia). */
.inbox-list{display:flex;flex-direction:column;gap:8px}
.inbox-mail{border-top:1px solid var(--line);padding:9px 0}
.inbox-mail:first-child{border-top:none}
.inbox-mail strong{display:block;font-size:.74rem}
.inbox-mail p{margin:3px 0;font-size:.7rem;color:var(--ink);white-space:pre-wrap}
.inbox-mail small{color:var(--muted);font-size:.64rem}
.known-person{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:var(--teal-soft);border-radius:var(--radio-m);padding:9px 12px;margin:12px 0;font-size:.72rem}.known-person strong{font-weight:var(--peso-negrita)}.known-person .inline-link{cursor:pointer}
.dashboard-calendar{margin-top:15px;overflow:hidden}.calendar-card{padding:0;overflow:hidden}.calendar-toolbar{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.calendar-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.calendar-toolbar label{display:flex;align-items:center;grid-template-columns:auto auto;gap:8px;color:var(--muted)}.calendar-toolbar select{padding:8px 10px}.calendar-legend{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radio-pill);padding:6px 10px;font-size:.65rem;font-weight:700}.calendar-legend:before{content:"";width:8px;height:8px;border-radius:var(--radio-s)}.calendar-legend.confirmed{background:var(--cal-confirmada-fondo);color:var(--cal-confirmada-texto)}.calendar-legend.confirmed:before{background:var(--cal-confirmada-punto)}.calendar-legend.bloqueada{background:var(--cal-bloqueada-fondo);color:var(--cal-bloqueada-texto)}.calendar-legend.bloqueada:before{background:var(--cal-bloqueada-punto)}.calendar-legend.ocupada{background:var(--cal-ocupada-fondo);color:var(--cal-ocupada-texto)}.calendar-legend.ocupada:before{background:var(--cal-ocupada-punto)}
.reservation-calendar{overflow:auto;border:1px solid var(--line);border-radius:var(--radio-m);min-width:0}.calendar-card .reservation-calendar{border:0;border-radius:0}.calendar-head,.calendar-row{display:grid;grid-template-columns:220px minmax(1100px,1fr);min-width:1320px}.calendar-head{position:sticky;top:0;z-index:5}.cal-corner{background:var(--tinta-900);color:var(--blanco);padding:12px 14px;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center}.calendar-months,.calendar-track{display:grid;grid-template-columns:repeat(12,minmax(91px,1fr))}.calendar-months{background:var(--tinta-900);color:var(--blanco)}.month{padding:12px 8px;text-align:center;border-left:1px solid rgba(255,255,255,.13);font-size:.65rem;text-transform:uppercase;font-weight:700}.month.current{background:var(--cal-mes-actual-oscuro)}.calendar-row{border-top:1px solid var(--line)}.cal-room{position:sticky;left:0;z-index:4;background:var(--blanco);padding:12px 14px;border-right:1px solid var(--line);min-height:64px;display:flex;flex-direction:column;justify-content:center}.cal-room strong,.cal-room span{display:block}.cal-room strong{font-size:.72rem}.cal-room span{font-size:.65rem;color:var(--muted);margin-top:4px}.calendar-track{position:relative;grid-template-rows:64px;background:var(--blanco)}.month-cell{grid-row:1;border-left:1px solid var(--gris-linea)}.month-cell.current{background:var(--cal-mes-actual-claro)}.booking-bar{grid-row:1;grid-column:var(--start)/span var(--span);position:relative;z-index:2;margin:7px 4px;border:0;border-radius:var(--radio-m);padding:7px 9px;text-align:left;overflow:hidden;cursor:default;background:var(--cal-barra-generica);color:var(--cal-barra-generica-texto);box-shadow:0 2px 7px rgba(22,91,80,.12)}.booking-bar.bloqueada{background:var(--cal-bloqueada-barra);color:var(--cal-bloqueada-barra-texto)}.booking-bar.ocupada{background:var(--cal-ocupada-barra);color:var(--cal-ocupada-barra-texto)}.booking-bar strong,.booking-bar span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-bar strong{font-size:.66rem}.booking-bar span{font-size:.57rem;margin-top:3px;opacity:.78}
@media(max-width:760px){.profile-facts{grid-template-columns:minmax(0,1fr)}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-head,.calendar-row{grid-template-columns:170px minmax(1100px,1fr)}}

/* Código operativo de colores validado por Habitaccion */
.dashboard-legend{display:flex;gap:6px;flex-wrap:wrap;margin:-5px 0 14px}.calendar-legend.disponible{background:var(--excel-disponible);color:var(--excel-disponible-legend-texto)}.calendar-legend.disponible:before{background:var(--excel-disponible-punto)}.calendar-legend.fuera-gestion{background:var(--excel-fuera-legend);color:var(--excel-fuera-texto)}.calendar-legend.fuera-gestion:before{background:var(--excel-fuera-punto)}.calendar-legend.renovacion{background:var(--excel-renovar-legend);color:var(--excel-renovar-texto)}.calendar-legend.renovacion:before{background:var(--excel-renovar)}.calendar-legend.reservada{background:var(--excel-reservada-legend);color:var(--excel-reservada-texto)}.calendar-legend.reservada:before{background:var(--excel-reservada)}.calendar-legend.incidencia{background:var(--excel-incidencia);color:var(--blanco)}.calendar-legend.incidencia:before{background:var(--blanco)}.calendar-legend.preparar{background:var(--excel-preparar-legend);color:var(--excel-preparar-texto)}.calendar-legend.preparar:before{background:var(--excel-preparar)}.calendar-legend.cancelada{background:var(--excel-cancelada);color:var(--blanco)}.calendar-legend.cancelada:before{background:var(--blanco)}
.calendar-track{grid-template-rows:82px}.cal-room{min-height:82px}.month-cell{background:var(--excel-disponible)}.month-cell.current{background:var(--cal-mes-actual-b)}.booking-bar{margin:28px 4px 6px;background:var(--excel-reservada-barra);color:var(--excel-reservada-barra-texto);box-shadow:0 2px 7px rgba(120,56,56,.12)}.booking-bar.reservada{background:var(--excel-reservada-barra);color:var(--excel-reservada-barra-texto)}.booking-bar.pendiente_renovacion,.booking-bar.renovada{background:var(--excel-renovada-barra);color:var(--excel-renovada-barra-texto)}.booking-bar.cancelada{background:var(--excel-cancelada);color:var(--blanco);font-weight:700;box-shadow:0 2px 10px rgba(164,0,0,.32)}
.calendar-marker{grid-row:1;grid-column:var(--month);position:relative;z-index:3;height:21px;margin:4px;border:0;border-radius:var(--radio-s);padding:3px 6px;text-align:left;overflow:hidden;color:var(--blanco);display:flex;align-items:center;gap:5px}.calendar-marker.incidencia{background:var(--excel-incidencia)}.calendar-marker.preparar{background:var(--excel-preparar-marcador)}.calendar-marker strong,.calendar-marker span{font-size:.53rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-marker strong{font-weight:700;text-transform:uppercase}.calendar-marker span{opacity:.9}
