:root{--inquilino-verde:#1f6b46;--inquilino-verde-osc:#154b32;--inquilino-fondo:#f5f8f5;--inquilino-borde:#d8e4db;--inquilino-tinta:#183127;--inquilino-gris:#66746e;--inquilino-radio:10px}
body{background:var(--inquilino-fondo);color:var(--inquilino-tinta)}
.cabecera__contexto{padding-left:18px;border-left:1px solid var(--inquilino-borde);margin-right:auto;margin-left:8px}.cabecera__contexto span,.cabecera__contexto strong{display:block}.cabecera__contexto span{color:var(--inquilino-gris);font-size:10px}.cabecera__contexto strong{font-size:12px;margin-top:2px}
.nav-panel{display:flex;align-items:center;gap:4px}.nav-panel .boton{min-height:40px;padding:8px 10px;border-radius:8px;font-size:12px}.nav-panel .boton i{font-size:12px}.nav-panel .boton.activo{background:#e9f5ec;border-color:#b8d5c1;color:var(--inquilino-verde-osc)}.nav-panel .boton--salir{margin-left:5px}
.usuario-avatar-inquilino{width:27px;height:27px;display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;background:#dfece3;color:var(--inquilino-verde-osc);font-size:10px;font-weight:800}.usuario-avatar-inquilino[src]{object-fit:cover}
.perfil-cabecera-inquilino{position:relative}.boton--perfil{gap:7px!important}.perfil-chevron{font-size:9px!important;transition:transform .16s ease}.boton--perfil[aria-expanded="true"] .perfil-chevron{transform:rotate(180deg)}.menu-perfil-inquilino{position:absolute;z-index:950;right:0;top:calc(100% + 12px);width:260px;padding:8px;border:1px solid var(--inquilino-borde);border-radius:8px;background:#fff;box-shadow:0 20px 55px rgba(18,44,29,.25);color:var(--inquilino-tinta)}.menu-perfil-inquilino::before{content:"";position:absolute;right:18px;top:-6px;width:11px;height:11px;border-left:1px solid var(--inquilino-borde);border-top:1px solid var(--inquilino-borde);background:#fff;transform:rotate(45deg)}.menu-perfil-inquilino__resumen{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:2px 2px 7px;padding:8px 8px 12px;border-bottom:1px solid var(--inquilino-borde)}.menu-perfil-inquilino__resumen strong,.menu-perfil-inquilino__resumen span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-perfil-inquilino__resumen strong{font-size:12px}.menu-perfil-inquilino__resumen span{margin-top:3px;color:var(--inquilino-gris);font-size:9px}.menu-perfil-inquilino button,.menu-perfil-inquilino>a{width:100%;min-height:40px;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--inquilino-tinta);display:flex;align-items:center;gap:10px;text-decoration:none;font-size:11px;font-weight:700;cursor:pointer}.menu-perfil-inquilino button:hover,.menu-perfil-inquilino>a:hover{background:#eef4ef}.menu-perfil-inquilino button i,.menu-perfil-inquilino>a i{width:16px;color:var(--inquilino-verde);text-align:center}
.tabs-inquilino{display:flex;overflow:auto;margin:0 0 24px;border-bottom:1px solid var(--inquilino-borde);scrollbar-width:thin}.tabs-inquilino button{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:10px 16px;border:0;background:transparent;color:var(--inquilino-gris);font:800 12px Inter;cursor:pointer;white-space:nowrap}.tabs-inquilino button::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:transparent}.tabs-inquilino button:hover{color:var(--inquilino-tinta)}.tabs-inquilino button.activo{color:var(--inquilino-verde-osc)}.tabs-inquilino button.activo::after{background:var(--inquilino-verde)}
.panel-inquilino{padding:34px 0 70px}.panel-bienvenida{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:156px;margin-bottom:16px;padding:26px 28px;border-radius:var(--radio);color:#fff;background:linear-gradient(90deg,rgba(9,43,31,.95),rgba(9,43,31,.42)),linear-gradient(135deg,#174c36,#4b8c58);box-shadow:0 14px 32px rgba(24,49,39,.12)}.panel-bienvenida__fecha{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.76)}.panel-bienvenida h1{margin:6px 0;font:800 30px Manrope}.panel-bienvenida p{max-width:62ch;margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.5}.panel-bienvenida .boton--primario{flex:0 0 auto;background:#fff;color:var(--inquilino-verde-osc)}
.panel-inquilino>[data-seccion-inquilino]{min-height:400px}.panel-inquilino>[data-seccion-inquilino]>h1{margin:0;font:800 27px Manrope}.panel-inquilino .eyebrow{margin:6px 0 20px;color:var(--inquilino-gris);font-size:12px;letter-spacing:.02em;text-transform:none}.panel-inquilino .titulo-linea{align-items:end;margin-bottom:20px}.panel-inquilino .titulo-linea h1{margin:0 0 5px;font:800 26px Manrope}.panel-inquilino .titulo-linea .eyebrow{margin:0}
.reservas-lista{display:grid;gap:12px}.item.reserva-item{display:block;padding:20px;border:1px solid var(--inquilino-borde);border-radius:var(--inquilino-radio);background:#fff;box-shadow:0 2px 8px rgba(24,49,39,.035);transition:border-color .18s ease,box-shadow .18s ease}.item.reserva-item:hover{border-color:#abc5b3;box-shadow:0 8px 22px rgba(24,49,39,.07)}.reserva-item__contenido>strong{font:800 17px Manrope}.reserva-item__contenido>.estado{display:inline-block;margin-left:7px;border-radius:5px;font-weight:800}.ayuda{color:var(--inquilino-gris);font-size:12px;line-height:1.55}.reserva-item__contenido>.ayuda{margin-top:8px}.acciones-reserva{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #e7eee9}.acciones-reserva input{max-width:280px;margin:0;min-height:42px}.acciones-reserva .boton{min-height:42px;border-radius:7px}.caja{border-radius:var(--inquilino-radio);border-color:var(--inquilino-borde);box-shadow:0 2px 8px rgba(24,49,39,.035)}
.filtros-pagos{margin:0 0 16px;padding:18px}.filtros-pagos .form-grilla{margin:0 0 14px}.metricas-pagos{margin:16px 0;gap:10px}.metrica-pago{padding:16px;border-radius:var(--inquilino-radio);border-color:var(--inquilino-borde)}.metrica-pago strong{font:800 25px Manrope}.pago-item .boton{border-radius:7px}.detalle-pago__grilla{gap:10px}.detalle-pago .caja{border-radius:8px;box-shadow:none}.linea-tiempo div{border-left-color:var(--inquilino-verde)}
#seccion-perfil>div{max-width:620px!important;margin:0!important}.perfil-card{display:grid;gap:12px}.perfil-card__avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#dfece3;color:var(--inquilino-verde-osc);font:800 21px Manrope}.perfil-card__dato{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #e7eee9;font-size:13px}.perfil-card__dato span{color:var(--inquilino-gris);font-size:11px;font-weight:800;text-transform:uppercase}.perfil-card__dato strong{overflow-wrap:anywhere}
.panel-inquilino button:focus-visible,.panel-inquilino a:focus-visible,.cabecera button:focus-visible,.cabecera a:focus-visible{outline:3px solid rgba(224,189,54,.65);outline-offset:2px}
@media(max-width:1000px){.nav-panel .boton span{display:none}.nav-panel .boton{width:38px;padding:0;justify-content:center}.nav-panel .boton i{font-size:14px}.perfil-trigger-inquilino__nombre{display:none!important}.panel-bienvenida{min-height:145px}}
@media(max-width:700px){.cabecera__interior{height:64px}.cabecera__contexto{display:none}.cabecera__acciones{min-width:0}.nav-panel{max-width:calc(100vw - 120px);overflow-x:auto;scrollbar-width:none}.nav-panel::-webkit-scrollbar{display:none}.nav-panel .boton{flex:0 0 38px}.panel-inquilino{width:100%;padding:0 0 48px}.panel-bienvenida{min-height:154px;margin:0 0 0;padding:22px 16px;border-radius:0;align-items:flex-end}.panel-bienvenida h1{font-size:26px}.panel-bienvenida .boton{width:42px;height:42px;padding:0}.panel-bienvenida .boton span{display:none}.tabs-inquilino{position:sticky;top:64px;z-index:450;margin:0 0 24px;padding:0 6px;background:#fff}.tabs-inquilino button{flex:0 0 88px;min-height:62px;padding:6px 4px;flex-direction:column;justify-content:center;gap:4px;font-size:9px}.tabs-inquilino button::after{left:5px;right:5px}.panel-inquilino>[data-seccion-inquilino]{margin:0 14px;min-height:440px}.panel-inquilino>[data-seccion-inquilino]>h1{font-size:24px}.panel-inquilino .titulo-linea{align-items:flex-start}.panel-inquilino .titulo-linea h1{font-size:23px}.panel-inquilino .caja{padding:16px}.item.reserva-item{padding:16px}.acciones-reserva{display:grid}.acciones-reserva .boton,.acciones-reserva input{width:100%;max-width:none}.metricas-pagos{grid-template-columns:repeat(2,minmax(0,1fr))}.perfil-card__dato{grid-template-columns:1fr;gap:4px}.modal-perfil-inquilino{width:100%;max-height:100dvh}.modal-perfil-inquilino form{max-height:100dvh}.modal-perfil-inquilino header,.modal-perfil-inquilino footer,.modal-perfil-inquilino__contenido{padding:15px}.modal-perfil-inquilino footer button{flex:1}.perfil-avatar-editor{align-items:flex-start;flex-direction:column}.perfil-avatar-preview{align-self:center}.perfil-avatar-accion{width:100%}}
@media(prefers-reduced-motion:reduce){.item.reserva-item{transition:none}}
body.sesion-cargando #seccion-ingreso-inquilino{visibility:hidden}
.estado-seccion{display:grid;min-height:180px;place-items:center;align-content:center;gap:8px;padding:24px;border:1px dashed #b9cbbd;border-radius:var(--inquilino-radio);background:#fff;color:var(--inquilino-gris);text-align:center}.estado-seccion strong{color:var(--inquilino-tinta);font:800 15px Manrope}.estado-seccion--error{border-color:#dfb8b1;background:#fffafa}.estado-seccion--error strong{color:#8b2d22}.estado-seccion button{margin-top:5px}
.perfil-card__avatar--foto{overflow:hidden}.perfil-card__avatar--foto img,.perfil-avatar-preview img{width:100%;height:100%;object-fit:cover}.modal-perfil-inquilino{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:10px;color:var(--inquilino-tinta);box-shadow:0 24px 70px rgba(21,37,27,.32)}.modal-perfil-inquilino::backdrop{background:rgba(20,37,28,.6);backdrop-filter:blur(2px)}.modal-perfil-inquilino form{display:flex;max-height:calc(100dvh - 28px);flex-direction:column}.modal-perfil-inquilino header,.modal-perfil-inquilino footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;background:#fff}.modal-perfil-inquilino header{border-bottom:1px solid var(--inquilino-borde)}.modal-perfil-inquilino header span{color:var(--inquilino-gris);font-size:9px;font-weight:800;text-transform:uppercase}.modal-perfil-inquilino h2{margin:3px 0 0;font:800 18px Manrope}.modal-perfil-inquilino footer{justify-content:flex-end;border-top:1px solid var(--inquilino-borde)}.modal-perfil-inquilino__contenido{overflow:auto;padding:20px}.modal-perfil-inquilino__contenido>label{display:grid;gap:7px;margin:12px 0;font-size:12px;font-weight:800}.modal-perfil-inquilino__contenido input{margin-top:0}.modal-perfil-inquilino__contenido input[readonly]{background:#edf2ee;color:var(--inquilino-gris);cursor:not-allowed}.modal-perfil-inquilino__contenido label small{display:block;margin-top:5px;color:var(--inquilino-gris);font-size:9px}.perfil-avatar-editor{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--inquilino-borde)}.perfil-avatar-preview{width:84px;height:84px;flex:0 0 84px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#dfece3;color:var(--inquilino-verde-osc);font:800 20px Manrope}.perfil-avatar-accion{margin:0!important;min-width:0}.perfil-avatar-accion>i{margin-right:6px;color:var(--inquilino-verde)}.perfil-avatar-accion>span{color:var(--inquilino-tinta);font-size:12px}.perfil-avatar-accion input{margin-top:8px!important;padding:8px;font-size:11px}.perfil-avatar-accion input::file-selector-button{margin-right:8px;border:0;border-radius:5px;padding:7px 9px;background:#e6efe8;color:var(--inquilino-verde-osc);font-weight:800;cursor:pointer}.modal-perfil-inquilino button:disabled{opacity:.65;cursor:wait}
@media(max-width:700px){.modal-perfil-inquilino{width:100%;max-height:100dvh}.modal-perfil-inquilino form{max-height:100dvh}.modal-perfil-inquilino header,.modal-perfil-inquilino footer,.modal-perfil-inquilino__contenido{padding:15px}.modal-perfil-inquilino footer button{flex:1}.perfil-avatar-editor{align-items:flex-start;flex-direction:column}.perfil-avatar-preview{align-self:center}.perfil-avatar-accion{width:100%}}
.perfil-cabecera-inquilino{z-index:1200}.menu-perfil-inquilino{z-index:1300;min-width:260px;width:260px;white-space:normal;overflow:visible}.nav-panel{overflow:visible!important}.cabecera__acciones{overflow:visible!important}
.perfil-shell{width:min(620px,100%);margin:0 auto}.modal-perfil-inquilino{box-sizing:border-box;margin:auto;background:#fff;overflow:hidden}.modal-perfil-inquilino__contenido input,.modal-perfil-inquilino__contenido select,.modal-perfil-inquilino__contenido textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--inquilino-borde);border-radius:7px;background:#fbfcfb;color:var(--inquilino-tinta);font:500 14px Inter;outline:none}.modal-perfil-inquilino__contenido input:focus,.modal-perfil-inquilino__contenido select:focus,.modal-perfil-inquilino__contenido textarea:focus{border-color:var(--inquilino-verde);box-shadow:0 0 0 3px rgba(31,107,70,.13);background:#fff}.modal-perfil-inquilino__contenido .dos{margin:0 0 12px}.modal-perfil-inquilino__contenido .error{margin:12px 0 0}.modal-perfil-inquilino footer .boton{min-height:42px;border-radius:7px}
@media(max-width:700px){.usuario-avatar-inquilino{width:34px;height:34px;flex-basis:34px;aspect-ratio:1/1}.notificaciones-widget__menu{position:fixed;top:70px;right:10px;left:auto;width:min(380px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 82px);overflow:auto;z-index:1200}.notificaciones-widget__lista{max-height:calc(100dvh - 190px)}}
.nav-panel .boton--perfil{width:auto!important;min-width:max-content;flex:0 0 auto;padding-inline:7px!important;white-space:nowrap}.nav-panel .boton--perfil .usuario-avatar-inquilino{flex:0 0 34px;width:34px;height:34px;aspect-ratio:1/1}.perfil-cabecera-inquilino{flex:0 0 auto}
.nav-panel .boton--perfil .usuario-avatar-inquilino{display:grid;flex-shrink:0}.nav-panel .boton--perfil .perfil-chevron{flex:0 0 auto;margin-left:2px;font-size:9px!important}
.tabs-inquilino{overflow:hidden;scrollbar-width:none}
@media(max-width:700px){.tabs-inquilino{overflow-x:auto;scrollbar-width:none}.tabs-inquilino::-webkit-scrollbar{display:none}}
.modal-perfil-inquilino #error-perfil-inquilino:empty{display:none}.modal-perfil-inquilino #error-perfil-inquilino{display:none}
.lista{display:grid;gap:10px;margin-top:18px}.lista>.item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px;border:1px solid var(--inquilino-borde);border-radius:var(--inquilino-radio);background:#fff;transition:border-color .18s ease,background-color .18s ease}.lista>.item:hover{border-color:#abc5b3}.lista>.item>div:first-child{min-width:0}.lista>.item>div:last-child{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lista>.item strong{font:800 16px Manrope}.lista>.item .estado{display:inline-block;margin-left:6px;border-radius:5px;font-weight:700}.notificacion-no-leida{border-color:var(--inquilino-verde)!important;background:#f1f8f3!important;box-shadow:none}.notificacion-borrar{color:#8b2d22!important;border-color:#efcbc5!important;background:#fff7f5!important}
@media(max-width:700px){.lista>.item{display:block;padding:15px}.lista>.item>div:last-child{margin-top:14px}.lista>.item>div:last-child .boton{width:100%}}

.reservas-encabezado { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 18px; }
.reservas-encabezado h1 { margin: 0; font: 800 27px Manrope, sans-serif; }
.reservas-encabezado>span { font-size: 13px; color: var(--inquilino-gris); white-space: nowrap; }
.reservas-filtros { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 14px; margin-bottom: 22px; }
.reservas-filtros input,.reservas-filtros select { width: 100%; min-height: 44px; }
.reserva-ficha { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 22px; padding: 22px; border: 1px solid var(--inquilino-borde); border-radius: 8px; background: #fff; }
.reserva-ficha__foto { position: relative; align-self: start; width: 132px; aspect-ratio: 1; overflow: hidden; border-radius: 6px; background: #edf1ee; display: grid; place-items: center; color: var(--inquilino-gris); }
.reserva-ficha__foto img { width: 100%; height: 100%; object-fit: cover; }
.reserva-ficha__foto>i { font-size: 30px; }
.reserva-ficha__contenido { min-width: 0; }
.reserva-ficha__cabecera { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.reserva-ficha__cabecera>div { min-width: 0; }
.reserva-ficha h2 { margin: 0; font: 800 18px Manrope, sans-serif; overflow-wrap: anywhere; }
.reserva-ficha__cabecera p { display: flex; align-items: baseline; gap: 6px; margin: 7px 0 0; color: var(--inquilino-gris); font-size: 12px; line-height: 1.5; }
.reserva-insignia { display: inline-flex; align-items: center; gap: 6px; max-width: 280px; padding: 7px 9px; border-radius: 5px; font-size: 11px; font-weight: 700; line-height: 1.4; }
.reserva-insignia--ok { background: #e9f5ec; color: #195536; }
.reserva-insignia--info { background: #e8f2fb; color: #24506c; }
.reserva-insignia--pendiente { background: #fff4d6; color: #704e0b; }
.reserva-insignia--neutro { background: #edf1ee; color: #4d5b52; }
.reserva-insignia--error { background: #fff0ee; color: #9b3023; }
.reserva-ficha__referencia { margin: 12px 0 14px; color: var(--inquilino-gris); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.reserva-ficha dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0; }
.reserva-ficha dt { color: var(--inquilino-gris); font-size: 11px; margin-bottom: 6px; }
.reserva-ficha dd { margin: 0; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; line-height: 1.5; }
.reserva-ficha dd small { display: block; margin-top: 3px; font-weight: 500; color: var(--inquilino-gris); }
.reserva-ficha dd i { margin-right: 6px; }
.reserva-ficha__estadia { padding: 15px 0; border-top: 1px solid var(--inquilino-borde); border-bottom: 1px solid var(--inquilino-borde); }
.reserva-ficha .reserva-ficha__montos { padding: 16px 0; }
.reserva-ficha__montos dd { font-size: 15px; }
.reserva-ficha__plazo { display: flex; align-items: baseline; gap: 7px; font-size: 12px; line-height: 1.6; color: var(--inquilino-gris); margin: 0 0 15px; }
.reserva-ficha__advertencia { padding: 12px; margin: 0 0 15px; background: #fff4d6; color: #704e0b; font-size: 12px; line-height: 1.6; border-radius: 6px; overflow-wrap: anywhere; }
.reserva-ficha__pie { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 14px; border-top: 1px solid var(--inquilino-borde); }
.reserva-ficha__pie>div:first-child { min-width: 0; }
.reserva-ficha__pie span,.reserva-ficha__pie small { display: block; font-size: 11px; color: var(--inquilino-gris); }
.reserva-ficha__pie strong { display: block; font-size: 12px; margin: 4px 0; overflow-wrap: anywhere; }
.reserva-ficha__pie small i { margin-right: 5px; }
.reserva-ficha__acciones { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.reserva-ficha__acciones .boton { min-height: 44px; border-radius: 7px; padding: 11px 14px; font-size: 12px; }
.metricas-pagos { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:800px) {
  .reserva-ficha { grid-template-columns: 88px minmax(0,1fr); gap: 16px; padding: 18px; }
  .reserva-ficha__foto { width: 88px; }
  .reserva-ficha__cabecera { flex-direction: column; gap: 10px; }
  .reserva-ficha__pie { align-items: flex-start; flex-direction: column; }
}
@media(max-width:700px) {
  .reservas-filtros { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .reserva-ficha { grid-template-columns: minmax(0,1fr); gap: 12px; padding: 16px; }
  .reserva-ficha__foto { width: 100%; aspect-ratio: 16/6; }
  .reserva-ficha dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .reserva-ficha__acciones { width: 100%; }
  .reserva-ficha__acciones .boton { flex: 1; min-width: 0; white-space: normal; }
  .reservas-encabezado h1 { font-size: 24px; }
  .metricas-pagos { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.reserva-ficha--destino { outline: 2px solid var(--verde); outline-offset: 4px; scroll-margin-top: 150px; }
