/* ============================================================
   RE Legacies — Dashboard shell (sidebar + topbar + tema claro/oscuro)
   Aditivo: se carga al final y reposiciona el shell existente.
   ============================================================ */

/* ---------- Tokens de tema ---------- */
:root, :root[data-ip-theme="dark"]{
  --ip-bg:#050505;
  --ip-sidenav-bg:linear-gradient(180deg,#141414,#0a0a0a);
  --ip-sidenav-solid:#101010;
  --ip-topbar-bg:rgba(12,12,12,.72);
  --ip-surface:#161616;
  --ip-surface-2:#0A0A0A;
  --ip-text:#e6eaf4;
  --ip-muted:#9a9a9a;
  --ip-line:rgba(255,255,255,.08);
  --ip-line-2:rgba(255,255,255,.14);
  --ip-hover:rgba(255,255,255,.06);
  --ip-brand:#C9A84C; --ip-brand-2:#E1C15A; --ip-brand-soft:rgba(201,168,76,.16);
}
:root[data-ip-theme="light"]{
  --ip-bg:#f4f4f5;
  --ip-sidenav-bg:#ffffff;
  --ip-sidenav-solid:#ffffff;
  --ip-topbar-bg:rgba(255,255,255,.82);
  --ip-surface:#ffffff;
  --ip-surface-2:#f4f4f5;
  --ip-text:#0A0A0A;
  --ip-muted:#5c5c5c;
  --ip-line:rgba(10,10,10,.10);
  --ip-line-2:rgba(10,10,10,.16);
  --ip-hover:rgba(10,10,10,.05);
  --ip-brand:#C9A84C; --ip-brand-2:#E1C15A; --ip-brand-soft:rgba(201,168,76,.12);
}

/* ---------- Ocultar shell viejo ---------- */
.ip-oldbar-hidden, .ip-oldheader-hidden{ display:none !important; }

/* ---------- Shell ---------- */
.ip-shell{ display:flex; min-height:100vh; background:var(--ip-bg); }
.ip-main{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; background:var(--ip-bg); }

/* ---------- Sidebar ---------- */
.ip-sidenav{
  flex:0 0 250px; width:250px; background:var(--ip-sidenav-bg); background-color:var(--ip-sidenav-solid);
  border-right:1px solid var(--ip-line); display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh; z-index:60; transition:width .2s ease, flex-basis .2s ease;
  font-family:'Poppins',system-ui,sans-serif;
}
.ip-shell.ip-collapsed .ip-sidenav{ flex-basis:70px; width:70px; }

.ip-sn-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:16px 16px 12px; }
.ip-logo-full{ height:40px; width:auto; max-width:190px; display:block; }
/* El lockup horizontal (león + dorado) funciona igual en claro y oscuro; sin override */
.ip-logo-mark{ display:none; width:42px; height:42px; border-radius:11px; background:url("../assets/logo-mark-icon.png") center/contain no-repeat; color:transparent; font-size:0; align-items:center; justify-content:center; }
.ip-shell.ip-collapsed .ip-logo-full{ display:none; }
.ip-shell.ip-collapsed .ip-logo-mark{ display:flex; }
.ip-collapse-btn{ width:32px; height:32px; flex:0 0 auto; border:1px solid var(--ip-line); background:transparent; color:var(--ip-muted); border-radius:9px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.15s; }
.ip-collapse-btn:hover{ color:var(--ip-text); border-color:var(--ip-line-2); }
.ip-shell.ip-collapsed .ip-collapse-btn i{ transform:rotate(180deg); }
/* Colapsado: cabecera en columna — favicon arriba, botón minimizar debajo (no se estorban) */
.ip-shell.ip-collapsed .ip-sn-head{ flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:14px 8px 12px; }

.ip-sn-scroll{ flex:1 1 auto; overflow-y:auto; overflow-x:hidden; padding:6px 10px 10px; }
.ip-sn-scroll::-webkit-scrollbar{ width:8px; } .ip-sn-scroll::-webkit-scrollbar-thumb{ background:var(--ip-line-2); border-radius:8px; }
.ip-sn-group{ font-size:.64rem; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:var(--ip-muted); padding:14px 12px 6px; }
.ip-shell.ip-collapsed .ip-sn-group{ opacity:0; height:8px; padding:0; overflow:hidden; }

/* Nav items (reusa .navbar pero re-layout vertical) */
.ip-nav{ display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:2px !important; background:none !important; border:none !important; padding:0 !important; margin:0 !important; box-shadow:none !important; }
.ip-nav a, .ip-act-item{
  display:flex !important; align-items:center; gap:12px; width:100%; box-sizing:border-box;
  padding:10px 12px !important; margin:0 !important; border-radius:10px !important; border:none !important;
  color:var(--ip-text) !important; background:transparent !important; text-decoration:none !important;
  font-weight:500 !important; font-size:.9rem !important; white-space:nowrap; position:relative; cursor:pointer;
  min-height:0 !important; line-height:1.2 !important;
}
.ip-nav a:hover, .ip-act-item:hover{ background:var(--ip-hover) !important; }
.ip-nav a.active{ background:var(--ip-brand-soft) !important; color:var(--ip-brand) !important; }
.ip-nav a.active::before{ content:""; position:absolute; left:-10px; top:50%; transform:translateY(-50%); width:4px; height:22px; border-radius:0 4px 4px 0; background:var(--ip-brand); }
.ip-nav .ip-ic, .ip-act-item .ip-ic{ width:22px; flex:0 0 22px; text-align:center; font-size:1rem; color:inherit; }
.ip-nav a.curso-cta{ color:var(--ip-brand) !important; } /* mantener acento del curso */
.ip-nav a.curso-cta svg{ display:none; }               /* usamos el icono nuevo */
/* Calculadoras ocultas en este proyecto: existen en el código pero no se muestran en el menú (nav + barra móvil) */
.ip-nav a[data-pane="flcalc"], .ip-nav a[data-pane="creativefinance"],
.fl-bb-item[data-pane="flcalc"], .fl-bb-item[data-pane="creativefinance"],
.fl-more-link[data-pane="flcalc"], .fl-more-link[data-pane="creativefinance"]{ display:none !important; }
/* Acciones heredadas que NO van en RE Legacies: Banco de Propiedades + Financiamiento (existen en el código, ocultas) */
.ip-topbar .ip-topbar-actions a.banco-prop-btn, .banco-prop-btn.ip-act-item, .banco-prop-btn, #financiamientoBtn{ display:none !important; }
/* Etiqueta miniatura arriba del nombre (ej. "Express") */
.ip-lab.has-tag{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:1px; line-height:1.1; }
.ip-lab-tag{ font-size:.56rem; font-weight:800; letter-spacing:.7px; text-transform:uppercase; color:var(--ip-brand); line-height:1; }
.ip-nav a.active .ip-lab-tag{ color:currentColor; opacity:.85; }

/* Colapsado: solo iconos + tooltip (SOLO dentro del sidebar; el topbar no se afecta) */
.ip-shell.ip-collapsed .ip-sidenav .ip-lab{ display:none; }
.ip-shell.ip-collapsed .ip-sidenav .ip-nav a{ justify-content:center; padding:11px 0 !important; }
.ip-shell.ip-collapsed .ip-sidenav .ip-nav a.active::before{ left:0; }

/* (Las acciones viven en el TOPBAR; su estilo está en la sección Topbar.) */

/* Pie del sidebar (tema) */
.ip-sn-foot{ border-top:1px solid var(--ip-line); padding:10px; }
.ip-theme-btn{
  display:flex; align-items:center; gap:12px; width:100%; box-sizing:border-box; padding:10px 12px; border-radius:10px;
  background:transparent; border:1px solid var(--ip-line); color:var(--ip-text); font-weight:700; font-size:.88rem; cursor:pointer; white-space:nowrap;
}
.ip-theme-btn:hover{ background:var(--ip-hover); }
.ip-theme-btn .ip-ic{ width:22px; flex:0 0 22px; text-align:center; color:var(--ip-brand); }
.ip-shell.ip-collapsed .ip-theme-btn .ip-lab{ display:none; }
.ip-shell.ip-collapsed .ip-theme-btn{ justify-content:center; }

/* ---------- Topbar ---------- */
.ip-topbar{
  position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:14px;
  padding:10px 18px; min-height:60px; box-sizing:border-box;
  background:var(--ip-topbar-bg); backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--ip-line);
}
.ip-burger{ width:38px; height:38px; flex:0 0 auto; border:1px solid var(--ip-line); background:transparent; color:var(--ip-text); border-radius:10px; cursor:pointer; display:none; }
.ip-topbar-search{ flex:0 1 380px; min-width:0; }
.ip-topbar-search #lf-se-inner{ margin:0 !important; }

/* Acciones en la barra superior (derecha) */
.ip-topbar .ip-topbar-actions{ display:flex !important; align-items:center; gap:8px; margin-left:auto; flex:0 0 auto; }
.ip-topbar .ip-topbar-actions .ip-actions-host{ display:inline-flex !important; align-items:center; gap:8px; position:relative; padding:0 !important; }
.ip-topbar .ip-topbar-actions .ip-act-item,
.ip-topbar .ip-topbar-actions .header-btn,
.ip-topbar .ip-topbar-actions .btn{
  display:inline-flex !important; align-items:center; gap:8px; width:auto !important; box-sizing:border-box;
  padding:8px 13px !important; margin:0 !important; border-radius:10px !important;
  background:var(--ip-surface) !important; color:var(--ip-text) !important; border:1px solid var(--ip-line) !important;
  font-weight:700 !important; font-size:.83rem !important; white-space:nowrap !important; cursor:pointer; text-decoration:none !important; justify-content:center !important; min-height:0 !important;
}
.ip-topbar .ip-topbar-actions .ip-act-item:hover,
.ip-topbar .ip-topbar-actions .header-btn:hover,
.ip-topbar .ip-topbar-actions .btn:hover{ border-color:var(--ip-brand) !important; color:var(--ip-brand) !important; background:var(--ip-surface) !important; }
.ip-topbar .ip-topbar-actions .ip-ic,
.ip-topbar .ip-topbar-actions .header-icon,
.ip-topbar .ip-topbar-actions .fa-solid,
.ip-topbar .ip-topbar-actions .fa-regular{ width:auto !important; flex:0 0 auto !important; text-align:center; }
.ip-topbar .ip-topbar-actions .report-dd-caret{ margin-left:2px; }
/* Nuevo Deal = botón primario */
.ip-topbar .ip-topbar-actions #newDeal{ background:linear-gradient(135deg,var(--ip-brand),var(--ip-brand-2)) !important; color:#fff !important; border:none !important; }
.ip-topbar .ip-topbar-actions #newDeal:hover{ filter:brightness(1.05); color:#fff !important; }
/* Menú de Reportes: flota bajo el botón, alineado a la derecha */
.ip-topbar .ip-topbar-actions .report-dd-menu{ position:absolute !important; right:0 !important; left:auto !important; top:calc(100% + 6px) !important; z-index:130; min-width:190px; background:var(--ip-surface) !important; border:1px solid var(--ip-line-2) !important; border-radius:12px; box-shadow:0 20px 44px -18px rgba(0,0,0,.6); padding:6px; }
.ip-topbar .ip-topbar-actions .report-dd-item{ color:var(--ip-text) !important; display:flex; align-items:center; gap:8px; width:100%; padding:8px 10px; border-radius:8px; background:transparent; border:none; font-weight:600; }
.ip-topbar .ip-topbar-actions .report-dd-item:hover{ background:var(--ip-hover) !important; }
/* Responsive: en pantallas chicas, ocultar etiquetas de acción (solo iconos) */
@media (max-width:1150px){ .ip-topbar .ip-topbar-actions .header-label, .ip-topbar .ip-topbar-actions .ip-lab{ display:none; } }

/* ---------- KPIs en el sidebar (bajo el menú; colapsan con él) ---------- */
#kpiRail.ip-sidenav-kpis{ display:block !important; width:auto !important; height:auto !important; flex:none !important; margin:0 !important; padding:0 0 6px !important; background:none !important; border:none !important; }
/* Caja de KPIs: plana (sin la tarjeta blanca/sombra/sticky del rail viejo) */
#kpiRail.ip-sidenav-kpis #kpiChips{
  display:block !important; position:static !important; grid-template-columns:none !important; gap:0 !important;
  width:auto !important; margin:0 !important; padding:0 !important;
  background:none !important; border:none !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important;
}
/* La línea naranja: divisor en FLUJO con el MISMO aire arriba y abajo (que respire) */
#kpiRail.ip-sidenav-kpis #kpiChips::before{
  content:"" !important; position:relative !important; display:block !important;
  top:auto !important; left:auto !important; right:auto !important;
  height:2px !important; border-radius:2px !important; margin:16px 12px !important;
  background:linear-gradient(90deg,var(--fl-orange),var(--fl-orange-dark)) !important; z-index:auto !important;
}
/* El primer grupo (Análisis) no agrega padding extra arriba: el aire lo da el divisor */
#kpiRail.ip-sidenav-kpis .kpi-group:first-child .kpi-group-title{ padding-top:0 !important; }
#kpiRail.ip-sidenav-kpis .kpi-group{ display:block !important; margin:0 0 4px !important; }
#kpiRail.ip-sidenav-kpis .kpi-group-title{ display:block !important; font-size:.6rem !important; font-weight:800 !important; letter-spacing:.5px; text-transform:uppercase; color:var(--ip-muted) !important; padding:10px 12px 4px !important; margin:0 !important; }
#kpiRail.ip-sidenav-kpis .kpi-group-cards{ display:flex !important; flex-direction:column !important; grid-template-columns:none !important; gap:2px !important; width:auto !important; margin:0 !important; }
#kpiRail.ip-sidenav-kpis #kpiChips .kpi-card{
  display:grid !important; grid-template-columns:22px 1fr !important; grid-template-rows:auto auto !important;
  column-gap:10px !important; row-gap:0 !important; align-items:center !important; justify-items:stretch !important;
  width:100% !important; min-width:0 !important; box-sizing:border-box !important; margin:0 !important;
  padding:6px 12px !important; border-radius:10px !important; text-align:left !important;
  background:transparent !important; background-image:none !important; border:1px solid transparent !important;
  box-shadow:none !important; transform:none !important; backdrop-filter:none !important; position:relative;
}
#kpiRail.ip-sidenav-kpis #kpiChips .kpi-card:hover{ background:var(--ip-hover) !important; }
#kpiRail.ip-sidenav-kpis .ip-kpi-ic{ grid-row:1 / span 2; grid-column:1; align-self:center; width:22px; text-align:center; font-size:.95rem; color:var(--ip-brand); }
#kpiRail.ip-sidenav-kpis #kpiChips .kpi-label{ grid-column:2; grid-row:1; font-size:.6rem !important; font-weight:700 !important; letter-spacing:.2px; text-transform:uppercase; color:var(--ip-muted) !important; margin:0 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#kpiRail.ip-sidenav-kpis #kpiChips .kpi-value{ grid-column:2; grid-row:2; font-size:.92rem !important; font-weight:800 !important; color:var(--ip-text) !important; line-height:1.15 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#kpiRail.ip-sidenav-kpis #kpiChips .kpi-sub{ display:none !important; }
#kpiRail.ip-sidenav-kpis #kpiChips .kpi-card::before{ display:none !important; }

/* Colapsado: solo el icono del KPI + tooltip con el valor */
.ip-shell.ip-collapsed #kpiRail.ip-sidenav-kpis .kpi-group-title{ opacity:0; height:8px; padding:0 !important; overflow:hidden; }
.ip-shell.ip-collapsed #kpiRail.ip-sidenav-kpis #kpiChips .kpi-card{ grid-template-columns:1fr !important; justify-items:center !important; padding:9px 0 !important; }
.ip-shell.ip-collapsed #kpiRail.ip-sidenav-kpis .ip-kpi-ic{ grid-row:auto; grid-column:auto; }
.ip-shell.ip-collapsed #kpiRail.ip-sidenav-kpis #kpiChips .kpi-label,
.ip-shell.ip-collapsed #kpiRail.ip-sidenav-kpis #kpiChips .kpi-value{ display:none !important; }
/* (El tooltip del KPI colapsado lo dibuja el tooltip flotante en JS, no ::after) */

/* ---------- Contenido (deal-body / panes / iframes) ---------- */
.ip-main .deal-body{ display:block !important; flex:1 1 auto; min-height:0; max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
.ip-main .deal-body .wrap{ flex:none !important; max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; height:calc(100vh - 61px); }
.ip-main .deal-body .pane{ height:calc(100vh - 61px) !important; }
.ip-main .deal-body iframe.calc, .ip-main .deal-body iframe.fullscreen-iframe{
  position:static !important; left:auto !important; right:auto !important; top:auto !important;
  width:100% !important; height:100% !important; border:0;
}
/* #propertyTab (cinta de atributos) queda bajo el topbar */
.ip-main #propertyTab{ position:relative; }

/* ---------- Responsive: sidebar como drawer ---------- */
/* ── Tablet (641–1024px): el sidebar queda EN FLUJO (no overlay). El contenido va
   siempre al lado, nunca tapado. Colapsado = riel de 70px; expandido = 250px. ── */
@media (max-width:1024px){
  .ip-shell.ip-collapsed .ip-sidenav{ width:70px; flex-basis:70px; }
}
/* ── Celular (≤640px): sidebar como cajón deslizable (overlay) + burger; contenido full-width ── */
@media (max-width:640px){
  .ip-sidenav{ position:fixed; left:0; top:0; height:100%; transform:translateX(-100%); box-shadow:0 0 60px rgba(0,0,0,.5); transition:transform .22s ease; z-index:200; }
  .ip-sidenav.ip-open{ transform:translateX(0); }
  .ip-burger{ display:flex; align-items:center; justify-content:center; }
  .ip-main .deal-body .wrap, .ip-main .deal-body .pane{ height:calc(100vh - 61px) !important; }
}

/* Tooltip flotante (modo colapsado) — en <body>, no lo recorta el overflow del sidebar */
.ip-tip{
  position:fixed; z-index:9999; transform:translateY(-50%);
  background:var(--ip-text); color:var(--ip-bg); font-size:.76rem; font-weight:700;
  padding:6px 10px; border-radius:8px; white-space:nowrap; box-shadow:0 10px 24px -8px rgba(0,0,0,.55);
  pointer-events:none; opacity:0; transition:opacity .12s ease;
}
.ip-tip.show{ opacity:1; }

/* =========================================================
   Mis Deals (pane #mydeals) — theme-aware con tokens --ip-*
   ========================================================= */
#pane-mydeals{ background:var(--ip-bg); }
.md-wrap{ height:100%; overflow-y:auto; padding:26px 30px 40px; box-sizing:border-box; font-family:'Poppins',system-ui,sans-serif; color:var(--ip-text); }
.md-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:20px; }
.md-title{ font-family:'Poppins',sans-serif; font-weight:900; font-size:1.7rem; margin:0; color:var(--ip-text); letter-spacing:-.02em; }
.md-sub{ color:var(--ip-muted); font-size:.92rem; margin:5px 0 0; }
.md-refresh{ width:40px; height:40px; flex:0 0 auto; border:1px solid var(--ip-line-2); background:var(--ip-surface); color:var(--ip-muted); border-radius:11px; cursor:pointer; }
.md-refresh:hover{ color:var(--ip-brand); border-color:var(--ip-brand); }
.md-controls{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.md-tabs{ display:inline-flex; gap:6px; background:var(--ip-surface-2); border:1px solid var(--ip-line); border-radius:12px; padding:4px; flex-wrap:wrap; }
.md-tab{ border:none; background:none; height:36px; padding:0 14px; border-radius:9px; font-weight:700; font-size:.85rem; color:var(--ip-muted); cursor:pointer; display:inline-flex; align-items:center; gap:7px; }
.md-tab.on{ background:var(--ip-brand-soft); color:var(--ip-brand); }
.md-count{ font-size:.7rem; font-weight:800; background:var(--ip-line); color:var(--ip-muted); padding:1px 7px; border-radius:999px; }
.md-tab.on .md-count{ background:var(--ip-brand); color:#fff; }
.md-search{ display:inline-flex; align-items:center; gap:8px; background:var(--ip-surface); border:1px solid var(--ip-line-2); border-radius:11px; padding:0 12px; min-width:240px; flex:0 1 320px; }
.md-search i{ color:var(--ip-muted); }
.md-search input{ flex:1; border:none; background:none; outline:none; height:40px; color:var(--ip-text); font-size:.92rem; font-family:inherit; }
/* overflow:visible para que el menú PDF no se recorte; el radius se conserva redondeando header + última fila */
.md-table{ border:1px solid var(--ip-line); border-radius:16px; overflow:visible; background:var(--ip-surface); }
.md-head, .md-row{ display:grid; grid-template-columns:1fr 190px 190px 220px; align-items:center; gap:10px; padding:12px 18px; }
.md-head{ background:var(--ip-surface-2); border-bottom:1px solid var(--ip-line); font-size:.7rem; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--ip-muted); border-radius:16px 16px 0 0; }
.md-row{ border-bottom:1px solid var(--ip-line); transition:background .12s; }
.md-row:last-child{ border-bottom:none; border-radius:0 0 16px 16px; }
.md-row:hover{ background:var(--ip-hover); }
.md-prop{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.md-addr{ font-weight:700; font-size:.95rem; color:var(--ip-brand); cursor:pointer; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.md-addr:hover{ text-decoration:underline; }
.md-noaddr{ color:var(--ip-muted); font-style:italic; font-weight:600; }
.md-propsub{ font-size:.78rem; color:var(--ip-muted); }
.md-date{ font-size:.84rem; color:var(--ip-muted); font-variant-numeric:tabular-nums; }
.md-ac{ display:flex; align-items:center; gap:6px; justify-content:flex-end; }
.md-btn{ width:34px; height:34px; flex:0 0 auto; border:1px solid var(--ip-line-2); background:var(--ip-surface); color:var(--ip-text); border-radius:9px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:.82rem; transition:.12s; }
.md-btn:hover{ border-color:var(--ip-brand); color:var(--ip-brand); }
.md-btn.md-del:hover, .md-btn.md-trash:hover{ border-color:#dc2626; color:#dc2626; }
.md-btn.md-open, .md-btn.md-pdf{ }
.md-pdfwrap{ position:relative; display:inline-flex; }
.md-pdfmenu{ display:none; position:absolute; right:0; top:calc(100% + 6px); z-index:60; min-width:150px; background:var(--ip-surface); border:1px solid var(--ip-line-2); border-radius:11px; box-shadow:0 20px 44px -18px rgba(0,0,0,.5); padding:6px; }
.md-pdfmenu.show{ display:block; }
.md-pdfmenu button{ display:block; width:100%; text-align:left; border:none; background:none; padding:8px 10px; border-radius:8px; font-size:.85rem; font-weight:600; color:var(--ip-text); cursor:pointer; }
.md-pdfmenu button:hover{ background:var(--ip-hover); color:var(--ip-brand); }
.md-empty{ text-align:center; color:var(--ip-muted); padding:56px 16px; font-size:.95rem; }
.md-empty i{ font-size:2rem; display:block; margin-bottom:12px; opacity:.5; }
.md-pager{ display:flex; align-items:center; justify-content:center; gap:14px; margin-top:16px; color:var(--ip-muted); font-size:.86rem; }
.md-pg{ width:36px; height:36px; border:1px solid var(--ip-line-2); background:var(--ip-surface); color:var(--ip-text); border-radius:9px; cursor:pointer; }
.md-pg:disabled{ opacity:.4; cursor:default; }
.md-pg:not(:disabled):hover{ border-color:var(--ip-brand); color:var(--ip-brand); }
@media (max-width:820px){
  .md-head{ display:none; }
  .md-row{ grid-template-columns:1fr; gap:6px; }
  .md-ac{ justify-content:flex-start; flex-wrap:wrap; }
}

/* Tooltip flotante para los botones de acción de Mis Deals (arriba del icono) */
.md-tip{
  position:fixed; z-index:9999; transform:translate(-50%,-100%);
  background:var(--ip-text); color:var(--ip-bg); font-size:.72rem; font-weight:700;
  padding:5px 9px; border-radius:7px; white-space:nowrap; box-shadow:0 10px 24px -8px rgba(0,0,0,.55);
  pointer-events:none; opacity:0; transition:opacity .12s ease;
}
.md-tip.show{ opacity:1; }
.md-tip::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:5px solid transparent; border-top-color:var(--ip-text); }
.md-pdfmenu.up{ top:auto !important; bottom:calc(100% + 6px); }
/* Menú "Descargar PDF" como portal fijo en <body> (no lo recorta ningún overflow) */
.md-pdf-portal{
  position:fixed; z-index:9999; display:none; min-width:180px;
  background:var(--ip-surface); border:1px solid var(--ip-line-2); border-radius:12px;
  box-shadow:0 22px 48px -18px rgba(0,0,0,.55); padding:6px;
}
.md-pdf-portal.show{ display:block; }
.md-pdf-portal button{ display:block; width:100%; text-align:left; border:none; background:none; padding:9px 12px; border-radius:8px; font-size:.86rem; font-weight:600; color:var(--ip-text); cursor:pointer; transition:.12s; }
.md-pdf-portal button:hover{ background:var(--ip-hover); color:var(--ip-brand); }

/* ══════════════ Información propiedad (#pane-propinfo) ══════════════ */
#pane-propinfo{ background:var(--ip-bg); }
.pi-wrap{ height:100%; overflow-y:auto; padding:26px 30px 40px; box-sizing:border-box; font-family:'Poppins',system-ui,sans-serif; color:var(--ip-text); }
.pi-title{ font-family:'Poppins',sans-serif; font-weight:900; font-size:1.5rem; margin:0; color:var(--ip-text); letter-spacing:-.5px; }
.pi-sub{ margin:2px 0 0; color:var(--ip-muted); font-size:.9rem; }
/* Búsqueda */
.pi-search{ display:flex; align-items:center; gap:10px; margin:18px 0 14px; background:var(--ip-surface); border:1px solid var(--ip-line-2); border-radius:13px; padding:8px 12px; }
.pi-search > i{ color:var(--ip-brand); }
.pi-search input{ flex:1 1 auto; border:none; background:transparent; color:var(--ip-text); font-size:.95rem; outline:none; font-family:inherit; }
.pi-search input::placeholder{ color:var(--ip-muted); }
/* Dirección actual del deal (reemplaza la búsqueda separada) */
.pi-current-addr{ flex:1 1 auto; min-width:0; color:var(--ip-text); font-weight:700; font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pi-current-addr.empty{ color:var(--ip-muted); font-weight:500; }
.pi-btn-primary{ flex:0 0 auto; border:none; background:linear-gradient(135deg,var(--ip-brand),var(--ip-brand-2)); color:#fff; font-weight:800; font-size:.9rem; padding:10px 18px; border-radius:10px; cursor:pointer; font-family:inherit; }
.pi-btn-primary:hover{ filter:brightness(1.05); }
.pi-btn-ghost{ flex:0 0 auto; border:1px solid var(--ip-line-2); background:var(--ip-surface); color:var(--ip-muted); width:40px; height:40px; border-radius:10px; cursor:pointer; }
.pi-btn-ghost:hover{ color:var(--ip-brand); border-color:var(--ip-brand); }
/* Pestañas */
.pi-tabs{ display:inline-flex; gap:6px; background:var(--ip-surface-2); border:1px solid var(--ip-line); border-radius:12px; padding:4px; margin-bottom:16px; flex-wrap:wrap; }
.pi-tab{ border:none; background:transparent; color:var(--ip-muted); font-weight:700; font-size:.85rem; padding:7px 14px; border-radius:9px; cursor:pointer; font-family:inherit; }
.pi-tab:hover:not(:disabled){ color:var(--ip-text); }
.pi-tab.on{ background:var(--ip-brand-soft); color:var(--ip-brand); }
.pi-tab:disabled{ opacity:.5; cursor:default; }
/* Estados */
.pi-state{ text-align:center; color:var(--ip-muted); padding:60px 20px; font-size:.95rem; }
.pi-state i{ color:var(--ip-brand); margin-right:6px; }
.pi-state-err{ color:#e0574b; }
.pi-state-err i{ color:#e0574b; }
/* Cabecera de dirección */
.pi-addr-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--ip-line); }
.pi-addr-name{ font-family:'Poppins',sans-serif; font-weight:800; font-size:1.15rem; color:var(--ip-brand); }
.pi-addr-apn{ font-size:.8rem; color:var(--ip-muted); font-weight:600; }
/* Columnas */
.pi-cols{ display:grid; grid-template-columns:1fr 330px; gap:20px; align-items:start; }
.pi-block-title{ font-size:.72rem; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:var(--ip-muted); margin:6px 0 10px; }
.pi-col-side .pi-block-title:first-child{ margin-top:0; }
/* Grid de atributos */
.pi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:16px; }
.pi-grid-3{ grid-template-columns:repeat(3,1fr); }
.pi-grid-4{ grid-template-columns:repeat(3,1fr); }
.pi-cell{ background:var(--ip-surface); border:1px solid var(--ip-line); border-radius:11px; padding:9px 11px; min-width:0; }
.pi-cell-label{ font-size:.66rem; font-weight:700; letter-spacing:.3px; text-transform:uppercase; color:var(--ip-muted); margin-bottom:3px; }
.pi-cell-value{ font-size:.95rem; font-weight:700; color:var(--ip-text); word-break:break-word; }
.pi-strong{ font-size:1.05rem; font-weight:800; color:var(--ip-text); display:block; }
.pi-range{ display:block; font-size:.72rem; font-weight:600; color:var(--ip-muted); margin-top:1px; }
/* Snapshot */
.pi-snap{ background:var(--ip-surface); border:1px solid var(--ip-line); border-radius:14px; padding:14px; margin-bottom:14px; }
.pi-snap-title{ font-size:.72rem; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--ip-muted); text-align:center; margin-bottom:12px; }
.pi-snap-bars{ display:flex; align-items:flex-end; justify-content:space-around; gap:10px; height:130px; }
.pi-snap-col{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; }
.pi-snap-val{ font-size:.72rem; font-weight:800; color:var(--ip-text); margin-bottom:5px; }
.pi-snap-bar{ width:70%; border-radius:6px 6px 0 0; min-height:4px; transition:height .3s ease; }
.pi-snap-key{ font-size:.66rem; color:var(--ip-muted); margin-top:6px; text-align:center; }
/* Propietario */
.pi-owner{ background:var(--ip-surface); border:1px solid var(--ip-line); border-radius:14px; padding:14px; margin-bottom:14px; }
.pi-owner-row{ display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px solid var(--ip-line); font-size:.85rem; }
.pi-owner-row:last-child{ border-bottom:none; }
.pi-owner-row span{ color:var(--ip-muted); }
.pi-owner-row b{ color:var(--ip-text); text-align:right; }
/* Mapa */
.pi-map{ background:var(--ip-surface); border:1px solid var(--ip-line); border-radius:14px; overflow:hidden; }
.pi-map iframe{ width:100%; height:200px; border:0; display:block; }
.pi-map-links{ display:flex; gap:14px; padding:10px 14px; }
.pi-map-links a{ color:var(--ip-brand); font-size:.82rem; font-weight:700; text-decoration:none; }
.pi-map-links a:hover{ text-decoration:underline; }
/* Tablas */
.pi-table-wrap{ overflow-x:auto; border:1px solid var(--ip-line); border-radius:14px; background:var(--ip-surface); }
.pi-table{ width:100%; border-collapse:collapse; font-size:.86rem; }
.pi-table th{ text-align:left; padding:11px 14px; font-size:.68rem; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--ip-muted); background:var(--ip-surface-2); border-bottom:1px solid var(--ip-line); white-space:nowrap; }
.pi-table td{ padding:11px 14px; border-bottom:1px solid var(--ip-line); color:var(--ip-text); }
.pi-table tr:last-child td{ border-bottom:none; }
.pi-empty-row{ text-align:center; color:var(--ip-muted); font-style:italic; }
.pi-empty{ color:var(--ip-muted); font-style:italic; padding:16px 4px; }
.pi-note{ font-size:.78rem; color:var(--ip-muted); margin:10px 2px 0; font-style:italic; }
.pi-legal{ font-size:.8rem; color:var(--ip-muted); margin-top:16px; padding-top:12px; border-top:1px solid var(--ip-line); }
.pi-legal b{ color:var(--ip-text); }
/* Adaptativo por ANCHO DEL PANEL (container query) — correcto con o sin sidebar,
   escala celular → tablet → laptop → monitor → monitor grande */
#pane-propinfo{ container-type:inline-size; }
@container (max-width:900px){
  .pi-cols{ grid-template-columns:1fr; }
  .pi-grid, .pi-grid-3, .pi-grid-4{ grid-template-columns:repeat(3,1fr); }
}
@container (max-width:620px){
  .pi-grid, .pi-grid-3, .pi-grid-4{ grid-template-columns:repeat(2,1fr); }
  .pi-search{ flex-wrap:wrap; }
  .pi-current-addr{ flex:1 1 100%; order:-1; white-space:normal; }
}
@container (max-width:430px){
  .pi-grid, .pi-grid-3, .pi-grid-4{ grid-template-columns:1fr; }
  .pi-addr-head{ flex-direction:column; align-items:flex-start; gap:3px; }
  .pi-wrap{ padding:18px 15px 30px; }
}
/* Monitores grandes: se limita el ancho para que no se estire de más */
@container (min-width:1700px){
  .pi-cols{ grid-template-columns:1fr 380px; max-width:1600px; }
  .pi-grid{ grid-template-columns:repeat(5,1fr); }
}

/* ══ Barra inferior móvil (pre-dashboard) RETIRADA: el burger + cajón lateral la reemplaza ══ */
.fl-bottombar, .fl-more-sheet, .fl-more-overlay{ display:none !important; }
@media (max-width:768px){ body{ padding-bottom:0 !important; } }  /* sin reserva de espacio de la barra */
