/* ╔════════════════════════════════════════════════════════════════════╗
   ║  DASHBOARD DE PROPIEDAD — estilos para el modal full-screen que     ║
   ║  reemplaza al antiguo detalle. Visualiza 6 cards por propiedad,     ║
   ║  cada uno expandible a una vista de tabla con tabs si tiene varias  ║
   ║  secciones. Sin dependencia de frameworks: tokens del proyecto +   ║
   ║  utilidades nuevas.                                                 ║
   ╚════════════════════════════════════════════════════════════════════╝ */

:root{
  --dash-bg: #F8FAFC;
  --dash-card: #FFFFFF;
  --dash-border: #E2E8F0;
  --dash-border-soft: #F1F5F9;
  --dash-ink: #0F172A;
  --dash-ink2: #475569;
  --dash-ink3: #94A3B8;
  --dash-indigo: #4F46E5;
  --dash-indigo-tint: #EEF2FB;
  --dash-emerald: #059669;
  --dash-emerald-tint: #DCFCE7;
  --dash-rose: #B91C1C;
  --dash-rose-tint: #FEE2E2;
  --dash-amber: #B45309;
  --dash-amber-tint: #FEF3C7;
  /* Paleta sobria para plaques / side-rail (reemplaza al amber/gold) */
  --pd-plaque-bg-1: #F8FAFC;
  --pd-plaque-bg-2: #E2E8F0;
  --pd-plaque-border: rgba(71,85,105,.22);
  --pd-plaque-icon-1: #64748B;
  --pd-plaque-icon-2: #334155;
  --pd-plaque-icon-shadow: 0 4px 12px -4px rgba(71,85,105,.4);
  --pd-plaque-text-strong: #0F172A;
  --pd-plaque-text-soft: #475569;
  --pd-plaque-tag-bg: #fff;
  --pd-plaque-tag-border: rgba(71,85,105,.28);
  --pd-plaque-tag-text: #334155;
  --dash-blue: #1D4ED8;
  --dash-blue-tint: #DBEAFE;
  --dash-teal: #0F766E;
  --dash-teal-tint: #CCFBF1;
  --dash-slate-900: #0F172A;
  --dash-shadow: 0 1px 3px rgba(15,23,42,.08);
  --dash-shadow-lg: 0 10px 30px rgba(15,23,42,.16);
  --dash-shadow-card: 0 10px 45px -12px rgba(0,0,0,0.08);
  --dash-r: 16px;
  --dash-r-sm: 12px;
  --dash-r-xs: 8px;
}

/* ═══════════════ SHELL DEL DASHBOARD ═══════════════ */

.pd-shell{font-size:13.5px;color:var(--dash-ink);line-height:1.5;width:100%;min-width:0}
.pd-shell *{box-sizing:border-box}

.pd-header{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:0 4px 16px;border-bottom:1px solid var(--dash-border);margin-bottom:18px}
.pd-header h1{margin:0;font-size:clamp(18px,1.8vw,24px);font-weight:800;letter-spacing:-0.01em;display:flex;align-items:center;gap:10px}
.pd-header .pd-subtitle{color:var(--dash-ink2);font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pd-header .pd-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.pd-header .pd-badge{display:inline-flex;align-items:center;gap:4px;background:var(--dash-indigo-tint);color:var(--dash-indigo);font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:0.04em;text-transform:uppercase}
.pd-header .pd-pill{display:inline-flex;align-items:center;gap:4px;background:var(--dash-emerald-tint);color:var(--dash-emerald);font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:0.04em;text-transform:uppercase}

/* Grid principal: 12 columnas fluidas. Las celdas individuales definen su
   propio span (pd-col-N). En breakpoints chicos, todas ocupan 12 (full width). */
.pd-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.2vw,20px);width:100%}
.pd-col-12{grid-column:span 12}
.pd-col-8{grid-column:span 12}
.pd-col-7{grid-column:span 12}
.pd-col-5{grid-column:span 12}
.pd-col-4{grid-column:span 12}
.pd-col-6{grid-column:span 12}
@media (min-width:760px){
  .pd-col-6{grid-column:span 6}
}
@media (min-width:1024px){
  .pd-col-8{grid-column:span 8}
  .pd-col-4{grid-column:span 4}
}
@media (min-width:1280px){
  .pd-col-7{grid-column:span 7}
  .pd-col-5{grid-column:span 5}
}
/* Ultra-wide (>1600px): los cards anchos (7/5) se sienten bien; pero evitamos
   que el contenido interno de cada card se estire a ms de 1600px para no
   generar líneas de texto incómodas. Cada card internamente se cuida. */

/* ═══════════════ CARD GENÉRICO ═══════════════ */

.pd-card{background:var(--dash-card);border:1px solid var(--dash-border);border-radius:var(--dash-r);box-shadow:var(--dash-shadow-card);overflow:hidden;display:flex;flex-direction:column}
.pd-card .pd-card-bar{height:6px;width:100%}
.pd-card .pd-card-bar.indigo{background:var(--dash-indigo)}
.pd-card .pd-card-bar.emerald{background:var(--dash-emerald)}
.pd-card .pd-card-bar.rose{background:var(--dash-rose)}

@keyframes pd-pulse{0%,100%{opacity:1}50%{opacity:.45}}
.pd-card .pd-card-bar.amber{background:linear-gradient(90deg,#475569 0%,#64748B 50%,#475569 100%)}
.pd-card .pd-card-body{padding:18px 22px 20px;display:flex;flex-direction:column;gap:14px;flex:1}
.pd-card .pd-card-foot{background:#F8FAFC;border-top:1px solid var(--dash-border-soft);padding:10px 22px;font-size:11px;color:var(--dash-ink3);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}
.pd-card .pd-section-title{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--dash-border-soft)}
.pd-card .pd-section-title .pd-stripe{height:4px;width:32px;background:var(--dash-indigo);border-radius:2px}
.pd-card .pd-section-title .pd-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--dash-indigo)}
.pd-card .pd-card-h{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--dash-border-soft)}
.pd-card .pd-card-h .pd-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--dash-ink3);display:flex;align-items:center;gap:6px}
.pd-card .pd-card-h h3{margin:4px 0 0;font-size:18px;font-weight:800;letter-spacing:-0.01em}
.pd-card .pd-card-h .pd-tag{font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;background:var(--dash-emerald-tint);color:var(--dash-emerald);border:1px solid rgba(16,185,129,.15)}
.pd-card .pd-card-h .pd-tag.indigo{background:var(--dash-indigo-tint);color:var(--dash-indigo);border:1px solid rgba(79,70,229,.15)}
.pd-card .pd-card-h .pd-tag.amber{background:var(--dash-amber-tint);color:var(--dash-amber);border:1px solid rgba(245,158,11,.2)}

.pd-lead{color:var(--dash-ink2);font-size:12.5px;line-height:1.55;max-width:64ch}

/* ═══════════════ HEADER DE SECCIÓN GRANDE (Tickets) ═══════════════ */

.pd-section-head{margin-bottom:6px}
.pd-section-head .pd-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--dash-indigo);display:inline-flex;align-items:center;gap:8px}
.pd-section-head .pd-eyebrow .pd-stripe{height:4px;width:32px;background:var(--dash-indigo);border-radius:2px;display:inline-block}
.pd-section-head h2{margin:6px 0 6px;font-size:26px;font-weight:800;letter-spacing:-0.015em}
.pd-section-head p{color:var(--dash-ink2);font-size:12.5px;line-height:1.55;max-width:80ch;margin:0}

/* ═══════════════ CONTADOR MASIVO ═══════════════ */

.pd-counter{text-align:center;padding:18px 14px;border-radius:14px;background:#F8FAFC;border:1px solid var(--dash-border-soft)}
.pd-counter.danger{background:#FEF2F2;border-color:#FECACA}
.pd-counter.success{background:var(--dash-emerald-tint);border-color:#A7F3D0}
.pd-counter .pd-counter-num{font-size:48px;font-weight:900;letter-spacing:-0.02em;line-height:1;color:var(--dash-ink);font-variant-numeric:tabular-nums}
.pd-counter.success .pd-counter-num{color:var(--dash-emerald)}
.pd-counter.danger .pd-counter-num{color:var(--dash-rose)}
.pd-counter .pd-counter-label{font-size:10.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink3);margin-top:6px;display:block}
.pd-counter.success .pd-counter-label{color:var(--dash-emerald)}

/* ═══════════════ STATS / BENTO GRID ═══════════════ */

.pd-stat{background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:12px;padding:14px 16px}
.pd-stat .pd-stat-label{font-size:10.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink3);display:flex;align-items:center;gap:6px}
.pd-stat .pd-stat-value{font-size:24px;font-weight:900;letter-spacing:-0.015em;margin-top:4px;font-variant-numeric:tabular-nums;color:var(--dash-ink)}
.pd-stat.success{background:var(--dash-emerald-tint);border-color:#A7F3D0}
.pd-stat.success .pd-stat-value{color:var(--dash-emerald)}
.pd-stat.warning{background:var(--dash-amber-tint);border-color:#FDE68A}
.pd-stat.warning .pd-stat-value{color:var(--dash-amber)}
.pd-stat.danger{background:var(--dash-rose-tint);border-color:#FECACA}
.pd-stat.danger .pd-stat-value{color:var(--dash-rose)}
.pd-stat .pd-stat-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--dash-ink3);margin-top:8px;padding-top:8px;border-top:1px solid var(--dash-border-soft)}

/* ═══════════════ SUB-ROWS (Urgente / Importante / En espera) ═══════════════ */

.pd-subrow{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;font-size:11.5px}
.pd-subrow.rose{background:rgba(254,226,226,.5);border:1px solid rgba(254,205,211,.5);color:#9F1239}
.pd-subrow.amber{background:rgba(254,243,199,.5);border:1px solid rgba(253,230,138,.5);color:#92400E}
.pd-subrow.slate{background:#F8FAFC;border:1px solid var(--dash-border-soft);color:var(--dash-ink3)}
.pd-subrow .pd-subrow-count{font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace;font-weight:800;background:rgba(255,255,255,.7);padding:1px 8px;border-radius:6px;font-size:10.5px}

/* ═══════════════ BOTONES DE CARD (click to expand) ═══════════════ */

.pd-card-click{cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}
.pd-card-click:hover{box-shadow:0 12px 30px -10px rgba(15,23,42,.18);transform:translateY(-1px);border-color:#CBD5E1}
.pd-card-click .pd-expand-hint{margin-left:auto;font-size:10.5px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--dash-ink3);display:inline-flex;align-items:center;gap:4px}
.pd-card-click:hover .pd-expand-hint{color:var(--dash-indigo)}

/* ═══════════════ TABS ═══════════════ */

.pd-tabs{display:flex;flex-wrap:wrap;gap:6px;background:#F1F5F9;padding:4px;border-radius:10px;border:1px solid var(--dash-border-soft)}
.pd-tab{padding:8px 14px;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--dash-ink2);background:transparent;border:0;cursor:pointer;transition:background .12s,color .12s;display:inline-flex;align-items:center;gap:6px}
.pd-tab:hover{color:var(--dash-ink)}
.pd-tab.on{background:#fff;color:var(--dash-indigo);box-shadow:0 1px 2px rgba(15,23,42,.06);border:1px solid var(--dash-border-soft)}
.pd-tab .pd-tab-count{background:rgba(79,70,229,.1);color:var(--dash-indigo);font-size:10px;padding:1px 6px;border-radius:99px;font-weight:800}
.pd-tab.on .pd-tab-count{background:var(--dash-indigo);color:#fff}
.pd-tab-panel{display:none}
.pd-tab-panel.on{display:block}

/* ═══════════════ TABLAS ═══════════════ */

.pd-tablewrap{border:1px solid var(--dash-border);border-radius:12px;overflow:hidden;background:#fff}
.pd-table{width:100%;border-collapse:collapse;font-size:12.5px}
.pd-table thead th{background:#F8FAFC;text-align:left;font-size:10.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink3);padding:10px 14px;border-bottom:1px solid var(--dash-border);border-right:1px solid var(--dash-border-soft);white-space:nowrap}
.pd-table thead th:last-child{border-right:0}
.pd-table thead th.right{text-align:right}
.pd-table tbody td{padding:12px 14px;border-bottom:1px solid var(--dash-border-soft);border-right:1px solid var(--dash-border-soft);color:var(--dash-ink);vertical-align:top}
.pd-table tbody td:last-child{border-right:0}
.pd-table tbody td.right{text-align:right}
.pd-table tbody td.mono{font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace}
.pd-table tbody td.muted{color:var(--dash-ink2)}
.pd-table tbody td.bold{font-weight:800}
.pd-table tbody td.rose{color:var(--dash-rose);font-weight:800}
.pd-table tbody td.amber{color:var(--dash-amber);font-weight:800}
.pd-table tbody td.success{color:var(--dash-emerald);font-weight:800}
.pd-table tbody tr:last-child td{border-bottom:0}
.pd-table tbody tr:hover{background:#F8FAFC}
.pd-table tbody td.rowspan-cell{background:rgba(254,226,226,.4);color:#9F1239;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:0.05em;font-size:10.5px;vertical-align:middle;width:140px;border-right:1px solid var(--dash-border)}
.pd-table tbody td.rowspan-cell.amber{background:rgba(254,243,199,.4);color:#92400E}
.pd-table tbody td.rowspan-cell.blue{background:var(--dash-blue-tint);color:#1E3A8A}
.pd-table tbody td.rowspan-cell.teal{background:var(--dash-teal-tint);color:#0F766E}

.pd-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:10.5px;font-weight:800;border:1px solid transparent}
.pd-status.danger{background:var(--dash-rose-tint);color:var(--dash-rose);border-color:#FECACA}
.pd-status.warning{background:var(--dash-amber-tint);color:var(--dash-amber);border-color:#FDE68A}
.pd-status.info{background:var(--dash-blue-tint);color:var(--dash-blue);border-color:#BFDBFE}
.pd-status.teal{background:var(--dash-teal-tint);color:var(--dash-teal);border-color:#99F6E4}
.pd-status.success{background:var(--dash-emerald-tint);color:var(--dash-emerald);border-color:#A7F3D0}
.pd-status .pd-dot{width:6px;height:6px;border-radius:99px;background:currentColor;flex:none}
.pd-status.danger .pd-dot{animation:pd-pulse 1.4s ease-in-out infinite}

@keyframes pd-pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ═══════════════ SUB-CARDS (cuadrícula interna) ═══════════════ */

.pd-subgrid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:760px){.pd-subgrid{grid-template-columns:1fr 1fr}}

.pd-subcard{border:1px solid var(--dash-border);border-radius:12px;background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pd-subcard-head{display:flex;align-items:center;gap:8px}
.pd-subcard-head .pd-iconbox{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--dash-indigo-tint);color:var(--dash-indigo)}
.pd-subcard-head .pd-iconbox.rose{background:var(--dash-rose-tint);color:var(--dash-rose)}
.pd-subcard-head .pd-iconbox.emerald{background:var(--dash-emerald-tint);color:var(--dash-emerald)}
.pd-subcard-head h4{margin:0;font-size:13.5px;font-weight:800;letter-spacing:-0.01em}

/* ═══════════════ BARRAS / CONTROLES ═══════════════ */

.pd-bar-track{position:relative;height:14px;background:#F1F5F9;border-radius:99px;border:1px solid var(--dash-border-soft);overflow:hidden}
.pd-bar-fill{height:100%;border-radius:99px;transition:width .25s ease-out}
.pd-bar-fill.success{background:linear-gradient(90deg,#34D399,#10B981)}
.pd-bar-fill.warning{background:linear-gradient(90deg,#FBBF24,#F59E0B)}
.pd-bar-fill.danger{background:linear-gradient(90deg,#F87171,#EF4444)}
.pd-bar-fill.indigo{background:linear-gradient(90deg,#818CF8,#4F46E5)}
.pd-bar-tick{position:absolute;top:0;bottom:0;width:4px;background:#94A3B8;z-index:2}
.pd-bar-legend{display:flex;justify-content:space-between;font-size:10.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink3)}

.pd-control{background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.pd-control-label{display:flex;justify-content:space-between;font-size:11.5px;font-weight:600;color:var(--dash-ink)}
.pd-control-label .pd-control-value{font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace;font-weight:800;color:var(--dash-indigo)}
.pd-control-label .pd-control-value.rose{color:var(--dash-rose)}
.pd-control input[type=range]{width:100%;height:4px;background:#E2E8F0;border-radius:99px;appearance:none;outline:none}
.pd-control input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:#4F46E5;border-radius:99px;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pd-control input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#4F46E5;border-radius:99px;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}

/* ═══════════════ GAUGE CIRCULAR ═══════════════ */

.pd-gauge{display:flex;flex-direction:column;align-items:center;gap:8px}
.pd-gauge svg{transform:rotate(-90deg)}
.pd-gauge .pd-gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pd-gauge .pd-gauge-num{font-size:32px;font-weight:900;letter-spacing:-0.02em;line-height:1;color:var(--dash-ink);display:flex;align-items:baseline;gap:2px}
.pd-gauge .pd-gauge-num .pd-gauge-of{font-size:13px;color:var(--dash-ink3);font-weight:600}
.pd-gauge .pd-gauge-pct{font-size:9.5px;font-weight:800;color:var(--dash-emerald);letter-spacing:0.1em;text-transform:uppercase;margin-top:2px}
.pd-gauge-wrap{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center;background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:50%;padding:8px}

/* ═══════════════ YIELD Y RENTABILIDAD — versión compacta (side-rail) ═══════════════ */
.pd-yield-compact .pd-card-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.pd-yield-compact .pd-card-h{padding-bottom:8px}
.pd-yield-compact .pd-card-h h3{font-size:14.5px}
.pd-yield-compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pd-yield-compact-tile{background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-height:62px}
.pd-yield-compact-tile.emerald{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.18)}
.pd-yield-compact-tile-label{font-size:9.5px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--dash-ink-3);display:inline-flex;align-items:center;gap:4px;line-height:1.2}
.pd-yield-compact-tile-label .icon{width:11px;height:11px;color:var(--dash-ink-3);flex:none}
.pd-yield-compact-tile.emerald .pd-yield-compact-tile-label{color:#065F46}
.pd-yield-compact-tile.emerald .pd-yield-compact-tile-label .icon{color:#059669}
.pd-yield-compact-tile-value{font-size:22px;font-weight:900;letter-spacing:-0.02em;line-height:1.1;color:var(--dash-ink);font-family:'Outfit','Inter',sans-serif;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:1px}
.pd-yield-compact-tile-value em{font-size:13px;font-weight:800;color:var(--dash-ink-3);font-style:normal}
.pd-yield-compact-tile.emerald .pd-yield-compact-tile-value{color:#059669}
.pd-yield-compact-tile-foot{font-size:9.5px;color:var(--dash-ink-3);font-weight:600;line-height:1.2;margin-top:1px}
.pd-yield-compact-tile-foot b{color:var(--dash-ink);font-weight:800}
.pd-yield-compact-legend{display:flex;justify-content:space-between;align-items:center;font-size:9.5px;font-weight:700;letter-spacing:0.02em;color:var(--dash-ink-3);line-height:1.2;margin-bottom:6px;font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace}
.pd-yield-compact-bar{position:relative;height:8px;background:#F1F5F9;border-radius:99px;overflow:hidden}
.pd-yield-compact-tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:#0F172A;border-radius:1px;z-index:2;box-shadow:0 0 0 2px #fff}
.pd-yield-compact-fill{position:absolute;top:0;left:0;bottom:0;border-radius:99px;transition:width .4s ease}
.pd-yield-compact-fill.success{background:linear-gradient(90deg,#10B981,#059669)}
.pd-yield-compact-fill.warning{background:linear-gradient(90deg,#F59E0B,#D97706)}
.pd-yield-compact-fill.danger{background:linear-gradient(90deg,#EF4444,#DC2626)}
.pd-occ .pd-card-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px;align-items:center}
.pd-occ .pd-card-h{width:100%;padding-bottom:10px}
.pd-occ .pd-card-h h3{font-size:16px}
.pd-occ-gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.pd-occ-gauge-label{font-size:9.5px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--dash-ink-3);line-height:1.2}
.pd-occ-gauge-wrap .pd-gauge-wrap{width:170px;height:170px;background:#fff;border:1px solid var(--dash-border-soft);box-shadow:0 6px 20px -10px rgba(15,23,42,.12)}
.pd-occ-gauge-wrap .pd-gauge-num{font-size:36px}
.pd-occ-gauge-wrap .pd-gauge-pct{font-size:10.5px;letter-spacing:0.14em;margin-top:4px}

/* Simulador de capacidad */
.pd-occ-sim{width:100%;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:10px}
.pd-occ-sim-label{font-size:9.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--dash-ink-3);display:inline-flex;align-items:center;gap:5px;line-height:1.2}
.pd-occ-sim-label .icon{width:12px;height:12px;color:var(--dash-emerald)}
.pd-occ-sim-row{display:flex;align-items:center;gap:8px}
.pd-occ-sim-btn{width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid var(--dash-border);color:var(--dash-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .12s,color .12s,border-color .12s}
.pd-occ-sim-btn:hover{background:var(--dash-emerald-tint);color:var(--dash-emerald);border-color:var(--dash-emerald)}
.pd-occ-sim-btn .icon{width:14px;height:14px}
.pd-occ-sim-track{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.pd-occ-sim-track input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(90deg,#10B981 0%,#10B981 var(--p,83%),#E2E8F0 var(--p,83%),#E2E8F0 100%);border-radius:99px;outline:none;cursor:pointer;border:0;padding:0;margin:0}
.pd-occ-sim-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #10B981;box-shadow:0 2px 6px -1px rgba(16,185,129,.4);cursor:pointer;transition:transform .12s}
.pd-occ-sim-track input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}
.pd-occ-sim-track input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #10B981;box-shadow:0 2px 6px -1px rgba(16,185,129,.4);cursor:pointer}
.pd-occ-sim-track input[type=range]::-moz-range-track{height:6px;background:#E2E8F0;border-radius:99px}
.pd-occ-sim-ticks{display:flex;justify-content:space-between;align-items:baseline;font-size:9.5px;font-weight:700;color:var(--dash-ink-3);line-height:1.2;letter-spacing:0.01em}
.pd-occ-sim-ticks em{color:#94a3b8;font-style:normal;font-weight:600}
.pd-occ-sim-ticks b{color:var(--dash-emerald);font-weight:900;font-size:11px;font-family:'Outfit','Inter',sans-serif}

/* ═══════════════ PANEL DARK (AI insights) ═══════════════ */

.pd-dark{background:#0F172A;color:#E2E8F0;border:1px solid #1E293B;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
.pd-dark h4{font-size:11.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:#CBD5E1;margin:0;display:flex;align-items:center;gap:8px}
.pd-dark h4 .pd-dot{width:10px;height:10px;border-radius:99px;background:#F59E0B;box-shadow:0 0 0 4px rgba(245,158,11,.2);animation:pd-pulse 1.6s ease-in-out infinite}
.pd-dark p{margin:0;color:#CBD5E1;font-size:12.5px;line-height:1.6}
.pd-dark strong{color:#F8FAFC}
.pd-dark strong.indigo{color:#A5B4FC}
.pd-dark strong.success{color:#6EE7B7}
.pd-dark strong.danger{color:#FCA5A5}
.pd-dark strong.warning{color:#FCD34D}
.pd-dark .pd-dark-list{background:rgba(15,23,42,.5);border:1px solid #1E293B;border-radius:10px;padding:12px 14px;font-size:11.5px;line-height:1.6;color:#94A3B8}
.pd-dark .pd-dark-list p{margin:0 0 6px;color:#94A3B8}
.pd-dark .pd-dark-list p:last-child{margin-bottom:0}
.pd-dark .pd-dark-list strong{color:#F1F5F9}

/* ═══════════════ CHART WRAPPERS ═══════════════ */

.pd-chart{background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:12px;padding:10px 12px;display:flex;justify-content:center;align-items:center}
.pd-chart svg{width:100%;height:auto;display:block}
.pd-chart-title{font-size:9.5px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--dash-ink3);display:block;margin-bottom:6px}

.pd-linechart-legend{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--dash-ink3);font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:0 4px;margin-top:4px}

/* ═══════════════ LISTA DE INQUILINOS ═══════════════ */

.pd-search{display:flex;align-items:center;gap:8px;background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:10px;padding:6px 10px}
.pd-search input{border:0;background:transparent;outline:none;font:inherit;font-size:12.5px;color:var(--dash-ink);width:100%}
.pd-search .icon{color:var(--dash-ink3)}

.pd-inh-list{border:1px solid var(--dash-border-soft);border-radius:12px;background:#F8FAFC;max-height:200px;overflow-y:auto;padding:6px}
.pd-inh-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--dash-border-soft);border-radius:8px;padding:8px 10px;margin-bottom:4px}
.pd-inh-item:last-child{margin-bottom:0}
.pd-inh-avatar{width:30px;height:30px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;border:1px solid transparent;flex:none}
.pd-inh-info{flex:1;min-width:0;margin-left:8px}
.pd-inh-info b{display:block;font-size:12px;font-weight:800;color:var(--dash-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-inh-info span{font-size:10.5px;color:var(--dash-ink3);font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace}

/* ═══════════════ PLAQUE ORO (Property Registry) ═══════════════ */

.pd-plaque-wrap{padding:2px;border-radius:18px;background:linear-gradient(90deg,#475569 0%,#64748B 50%,#334155 100%);box-shadow:0 12px 30px -8px rgba(71,85,105,.4)}
.pd-plaque{background:linear-gradient(180deg,#0F172A 0%,#020617 100%);border-radius:16px;padding:18px 22px;color:#F8FAFC;position:relative;overflow:hidden}
.pd-plaque::before{content:"";position:absolute;inset:0;opacity:.05;background-image:radial-gradient(#94A3B8 1px,transparent 1px);background-size:14px 14px;pointer-events:none}
.pd-plaque-row{display:grid;grid-template-columns:1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(148,163,184,.2)}
.pd-plaque-row:first-of-type{border-top:0;padding-top:0}
.pd-plaque-row:last-of-type{border-bottom:1px solid rgba(148,163,184,.2);padding-bottom:14px}
@media(min-width:640px){
  .pd-plaque-row{grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
  .pd-plaque-row.first{padding-bottom:14px}
}
.pd-plaque-center{display:none}
@media(min-width:640px){.pd-plaque-center{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.7}}
.pd-plaque-eyebrow{font-size:8.5px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:#94A3B8;display:flex;align-items:center;gap:4px;margin-bottom:4px}
.pd-plaque-title{font-size:11.5px;font-weight:800;letter-spacing:-0.01em;text-transform:uppercase;color:#F1F5F9;line-height:1.3}
.pd-plaque-big{font-size:18px;font-weight:900;letter-spacing:0.04em;color:#fff;font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace}
.pd-plaque-big.gold{color:#94A3B8}
.pd-plaque-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:14px;font-size:11.5px;color:#94A3B8}

.pd-lindero-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pd-lindero{background:#fff;border:1px solid var(--dash-border-soft);border-radius:8px;padding:8px 10px;font-size:10.5px;line-height:1.4}
.pd-lindero b{display:block;font-weight:800;color:var(--dash-ink);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:2px}
.pd-lindero span{color:var(--dash-ink2);font-size:10.5px}

/* ═══════════════ FILAS DE RANKING ═══════════════ */

.pd-ranklist{border:1px solid var(--dash-border-soft);border-radius:12px;overflow:hidden;background:#F8FAFC}
.pd-rankitem{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #fff;background:#F8FAFC;font-size:12px;transition:background .12s}
.pd-rankitem:last-child{border-bottom:0}
.pd-rankitem:hover{background:#fff}
.pd-rankitem b{font-weight:700;color:var(--dash-ink)}
.pd-rankitem .pd-rank-val{font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace;font-weight:800;color:var(--dash-ink)}
.pd-rankitem .pd-rank-tag{font-size:10px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--dash-emerald-tint);color:var(--dash-emerald);border:1px solid rgba(16,185,129,.15)}
.pd-rankitem .pd-rank-tag.danger{background:var(--dash-rose-tint);color:var(--dash-rose);border-color:rgba(239,68,68,.15)}

/* ═══════════════ ESTADO IDEAL / IDEAL STATE ═══════════════ */

.pd-ideal{padding:14px;border-radius:14px;border:1px solid #A7F3D0;background:rgba(209,250,229,.3);display:flex;align-items:flex-start;gap:10px}
.pd-ideal .icon{color:var(--dash-emerald);flex:none;margin-top:1px}
.pd-ideal b{color:var(--dash-ink);font-size:12.5px}
.pd-ideal p{color:var(--dash-ink2);font-size:11px;margin:2px 0 0;line-height:1.5}
.pd-ideal-head{display:flex;align-items:center;gap:6px;color:var(--dash-emerald);font-size:10px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase}

.pd-rules{margin-top:10px;background:rgba(255,255,255,.7);border:1px solid #A7F3D0;border-radius:10px;padding:10px 12px;font-size:10.5px;line-height:1.5;color:var(--dash-ink2)}
.pd-rules p{margin:0 0 6px;display:flex;align-items:flex-start;gap:6px}
.pd-rules p:last-child{margin-bottom:0}
.pd-rules strong{color:var(--dash-ink);font-weight:800}

.pd-bracket-pill{display:inline-flex;align-items:center;background:#D1FAE5;border:1px solid #A7F3D0;border-radius:99px;padding:2px 10px;font-size:8.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:#065F46;margin:0 auto 8px;display:table;margin-left:auto;margin-right:auto}

/* ═══════════════ BOTONES ESPECIALES ═══════════════ */

.pd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:12.5px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .12s,color .12s,border-color .12s}
.pd-btn.ghost{background:transparent;color:var(--dash-ink2);border-color:var(--dash-border)}
.pd-btn.ghost:hover{background:#F1F5F9;color:var(--dash-ink)}
.pd-btn.indigo{background:var(--dash-indigo);color:#fff;border-color:var(--dash-indigo)}
.pd-btn.indigo:hover{background:#4338CA;border-color:#4338CA}
.pd-btn.emerald{background:var(--dash-emerald);color:#fff;border-color:var(--dash-emerald)}
.pd-btn.emerald:hover{background:#047857;border-color:#047857}
.pd-btn.danger{background:#fff;color:var(--dash-rose);border-color:#FECACA}
.pd-btn.danger:hover{background:var(--dash-rose-tint)}
.pd-btn-danger{color:var(--dash-rose)!important;border-color:rgba(239,68,68,.25)!important}
.pd-btn-danger:hover{background:var(--dash-rose-tint)!important;border-color:var(--dash-rose)!important}
.pd-btn.sm{padding:5px 10px;font-size:11.5px}

/* ═══════════════ PESTAÑA RESUMEN (mini cards 2x2 dentro de cards) ═══════════════ */

.pd-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pd-mini{background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.pd-mini .pd-mini-label{font-size:10px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink3);display:flex;align-items:center;gap:4px}
.pd-mini .pd-mini-value{font-size:18px;font-weight:900;letter-spacing:-0.01em;color:var(--dash-ink);font-variant-numeric:tabular-nums}
.pd-mini .pd-mini-foot{font-size:10.5px;color:var(--dash-ink3);margin-top:2px}

/* ═══════════════ COLLAPSE / EXPANDIR SECCIÓN ═══════════════ */

.pd-collapse-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:#F8FAFC;border:0;border-bottom:1px solid var(--dash-border-soft);padding:10px 14px;font:inherit;font-size:11px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--dash-ink2);cursor:pointer;gap:8px}
.pd-collapse-head:hover{background:#F1F5F9;color:var(--dash-ink)}
.pd-collapse-body{padding:14px 16px;background:#fff}
.pd-collapse{display:border-box;border:1px solid var(--dash-border);border-radius:12px;overflow:hidden;background:#fff}
.pd-collapse .icon{color:var(--dash-indigo)}
.pd-collapse.closed .pd-collapse-body{display:none}

/* ═══════════════ NOTAS / DOCS DUAL ═══════════════ */

.pd-dualcol{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:760px){.pd-dualcol{grid-template-columns:1fr 1fr}}
.pd-colpanel{border:1px solid var(--dash-border);border-radius:12px;background:#F8FAFC;overflow:hidden;display:flex;flex-direction:column}
.pd-colpanel-head{background:#F8FAFC;border-bottom:1px solid var(--dash-border);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.pd-colpanel-head .pd-colpanel-title{font-size:11.5px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--dash-ink2);display:flex;align-items:center;gap:6px}
.pd-colpanel-head .pd-colpanel-title .icon{color:var(--dash-indigo)}
.pd-colpanel-list{padding:6px 10px;max-height:240px;overflow-y:auto}
.pd-colpanel-list .pd-docitem,.pd-colpanel-list .pd-noteitem{padding:8px 6px;border-bottom:1px solid var(--dash-border-soft);display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .12s;border-radius:6px}
.pd-colpanel-list .pd-docitem:last-child,.pd-colpanel-list .pd-noteitem:last-child{border-bottom:0}
.pd-colpanel-list .pd-docitem:hover,.pd-colpanel-list .pd-noteitem:hover{background:#fff}
.pd-colpanel-foot{padding:8px 12px;border-top:1px solid var(--dash-border);background:#F8FAFC;font-size:10.5px;color:var(--dash-ink3);text-align:center}

/* ═══════════════ TOAST / EMPTY STATE ═══════════════ */

.pd-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 14px;color:var(--dash-ink3);font-size:12px}
.pd-empty .icon{width:36px;height:36px;opacity:.4;margin-bottom:8px}

/* ═══════════════ BANNER PRÓXIMAMENTE ═══════════════ */

.pd-prox{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;background:#F8FAFC;border:1px dashed var(--dash-border);border-radius:18px;margin:8px}
.pd-prox .pd-prox-icon{width:64px;height:64px;border-radius:18px;background:var(--dash-indigo-tint);color:var(--dash-indigo);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.pd-prox h2{margin:0 0 8px;font-size:24px;font-weight:800;letter-spacing:-0.015em}
.pd-prox p{color:var(--dash-ink2);max-width:42ch;margin:0 0 18px;line-height:1.55}

/* ═══════════════ SCROLLBAR dentro de modal ═══════════════ */

.modal.full{overflow-y:auto}
.modal.full{display:flex;flex-direction:column}
.modal.full .pd-shell{padding:clamp(12px,1.4vw,22px);width:100%;flex:1;min-height:0;display:flex;flex-direction:column}
.modal.full .pd-modal-body{padding:clamp(10px,1.2vw,20px) clamp(4px,.8vw,8px) clamp(14px,1.6vw,28px);width:100%;flex:1;min-height:0;display:flex;flex-direction:column}
/* Cada card internamente limita su lectura con max-width donde aplica
   (tablas, párrafos largos) para que en pantallas ultra-wide las líneas
   no se estiren ms de 90ch. */

/* ═══════════════ ANIMATIONS ═══════════════ */

@keyframes pd-fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pd-card{animation:pd-fadeup .3s ease-out both}
.pd-card:nth-child(1){animation-delay:.05s}
.pd-card:nth-child(2){animation-delay:.1s}
.pd-card:nth-child(3){animation-delay:.15s}
.pd-card:nth-child(4){animation-delay:.2s}
.pd-card:nth-child(5){animation-delay:.25s}
.pd-card:nth-child(6){animation-delay:.3s}

@media (prefers-reduced-motion:reduce){
  .pd-card{animation:none}
  .pd-status.danger .pd-dot{animation:none}
}

/* ═══════════════ CARD: ANÁLISIS DE RECAUDACIÓN ═══════════════
   CSS clonado al pixel del React reference (Tailwind) que el dueo
   pas como spec. Valores hex sacados de la paleta Tailwind v3. */

.pd-revenue{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 35px -10px rgba(0,0,0,.06);
  border:1px solid rgba(226,232,240,.7);
  overflow:hidden;
  text-align:left;
  display:flex;
  flex-direction:column;
}

/* 1. Top accent bar (h-1.5 = 6px, bg-indigo-600) */
.pd-rev-bar{height:6px;width:100%;background:#4f46e5}

/* 2. Body (p-6 = 24px, flex flex-col gap-5 = 20px) */
.pd-rev-body{padding:24px;display:flex;flex-direction:column;gap:20px}

/* HEADER: flex justify-between items-start gap-3 pb-3 border-b slate-100 */
.pd-rev-head{display:flex;flex-direction:column;gap:12px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}
@media (min-width:520px){.pd-rev-head{flex-direction:row;align-items:flex-start;justify-content:space-between}}
.pd-rev-head-l{flex:1;min-width:0}
.pd-rev-head-l > * + *{margin-top:2px}
.pd-rev-eyebrow{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:#4f46e5;line-height:1.2;display:block}
.pd-rev-title{margin:2px 0 0;font-size:16px;font-weight:900;line-height:1.2;color:#0f172a;letter-spacing:-0.01em}
.pd-rev-head-r{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}

/* Badges (text-[10px], px-2 py-0.5, rounded-full) */
.pd-rev-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:9999px;line-height:1.2;white-space:nowrap;letter-spacing:0.01em}
.pd-rev-badge .icon{width:12px;height:12px;flex:none}
.pd-rev-badge-up{color:#059669;background:#ecfdf5;border:1px solid rgba(209,250,229,.6);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pd-rev-badge-up .icon{color:#059669}
.pd-rev-badge-apt{color:#334155;background:#f8fafc;border:1px solid #e2e8f0}
.pd-rev-badge-apt .icon{color:#94a3b8;width:14px;height:14px}
.pd-rev-badge-mono{font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;font-weight:600;letter-spacing:0.01em}

/* 3. COMPARATIVA: space-y-3 */
.pd-rev-compare-section{display:flex;flex-direction:column;gap:12px}
.pd-rev-divider{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f1f5f9;padding-bottom:6px}
.pd-rev-divider-l{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:#0f172a;line-height:1.2}
.pd-rev-divider-r{font-size:9px;color:#94a3b8;font-weight:500;font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;letter-spacing:0.01em}

/* Tabla comparativa Neto × Líquido, Anterior | Actual */
.pd-rev-table-section{display:flex;flex-direction:column;gap:14px}
.pd-rev-table{display:grid;grid-template-columns:max-content 1fr 1fr;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}
.pd-rev-table-h{padding:10px 14px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;line-height:1.2;display:flex;align-items:center;white-space:nowrap}
.pd-rev-table-h-row{background:#fff;color:#0f172a;font-weight:800;letter-spacing:0.04em}
.pd-rev-table-h-col{justify-content:flex-start}
.pd-rev-table-h-col--indigo{color:#4f46e5}
.pd-rev-table-h-corner{background:#f8fafc;border-right:1px solid #e2e8f0}
.pd-rev-table-c{padding:12px 14px;font-size:18px;font-weight:300;line-height:1.1;letter-spacing:-0.01em;font-family:'Outfit','Inter',sans-serif;font-variant-numeric:tabular-nums;color:#475569;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;white-space:nowrap}
.pd-rev-table-c:last-child{border-right:0}
.pd-rev-table .pd-rev-table-h:last-child,.pd-rev-table .pd-rev-table-c:nth-last-child(-n+2){border-bottom:0}
.pd-rev-table-c--prev{color:#64748b}
.pd-rev-table-c--curr{color:#4f46e5;font-weight:400}
.pd-rev-table-c--liquido{font-size:16px}

/* Switch YTD: dos tabs Neto | Líquido + el monto grande */
.pd-rev-ytd{background:linear-gradient(135deg,rgba(79,70,229,.04),rgba(79,70,229,.02));border:1px solid rgba(79,70,229,.12);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pd-rev-ytd-switch{display:inline-flex;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:2px;align-self:flex-start}
.pd-rev-ytd-tab{appearance:none;background:transparent;border:0;padding:4px 12px;font:inherit;font-size:10.5px;font-weight:700;letter-spacing:0.04em;color:#64748b;cursor:pointer;border-radius:6px;transition:background .15s,color .15s;white-space:nowrap}
.pd-rev-ytd-tab:hover{color:#0f172a}
.pd-rev-ytd-tab.on{background:#4f46e5;color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.08)}
.pd-rev-ytd-body{display:flex;flex-direction:column;gap:2px}
.pd-rev-ytd-amount{font-size:24px;font-weight:800;color:#0f172a;font-family:'Outfit','Inter',sans-serif;letter-spacing:-0.015em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.pd-rev-ytd-sub{font-size:10px;color:#94a3b8;letter-spacing:0.01em;line-height:1.3}

/* Insularius Insights: colapsable, empieza colapsado */
.pd-rev-insights{background:rgba(248,250,252,.7);border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}
.pd-rev-insights-head{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:12px 14px;cursor:pointer;color:#475569;font:inherit;line-height:1.2;transition:background .15s;text-align:left}
.pd-rev-insights-head:hover{background:rgba(79,70,229,.05)}
.pd-rev-insights-head:focus-visible{outline:2px solid #4f46e5;outline-offset:-2px}
.pd-rev-insights-head-l{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#0f172a}
.pd-rev-insights-head-l .icon{width:14px;height:14px;color:#6366f1;flex:none}
.pd-rev-insights-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 6px;font-size:9.5px;font-weight:800;color:#4f46e5;background:#eef2fb;border:1px solid rgba(79,70,229,.2);border-radius:99px;font-family:'JetBrains Mono','SF Mono',monospace}
.pd-rev-insights-meta{flex:1;min-width:0;font-size:10.5px;font-weight:600;color:#475569;letter-spacing:0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;padding-right:6px}
.pd-rev-insights-chev{width:14px;height:14px;color:#94a3b8;flex:none;transition:transform .2s ease}
.pd-rev-insights-body{border-top:1px solid rgba(226,232,240,.5);padding:6px 4px 8px;max-height:280px;overflow-y:auto}
.pd-rev-insights-body[hidden]{display:none}
.pd-rev-insights-empty{display:flex;align-items:center;gap:8px;padding:12px;font-size:11px;color:#059669;line-height:1.4}
.pd-rev-insights-empty .icon{color:#059669;flex:none}
.pd-rev-insights-list{list-style:none;margin:0;padding:0}
.pd-rev-insight{display:flex;gap:9px;padding:9px 10px;border-radius:8px;transition:background .12s;align-items:flex-start}
.pd-rev-insight:hover{background:rgba(79,70,229,.04)}
.pd-rev-insight-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none}
.pd-rev-insight-icon .icon{width:13px;height:13px}
.pd-rev-insight--success .pd-rev-insight-icon{background:#dcfce7;color:#047857}
.pd-rev-insight--warning .pd-rev-insight-icon{background:#fef3c7;color:#b45309}
.pd-rev-insight--danger .pd-rev-insight-icon{background:#fee2e2;color:#b91c1c}
.pd-rev-insight--info .pd-rev-insight-icon{background:#e0e7ff;color:#4338ca}
.pd-rev-insight-body-c{flex:1;min-width:0}
.pd-rev-insight-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:2px}
.pd-rev-insight-title{font-size:11.5px;font-weight:800;letter-spacing:-0.005em;line-height:1.2;color:#0f172a}
.pd-rev-insight-meta{font-size:9.5px;font-weight:700;color:#94a3b8;font-family:'JetBrains Mono','SF Mono',monospace;letter-spacing:0.01em;white-space:nowrap;flex:none}
.pd-rev-insight-desc{margin:2px 0 0;font-size:10.5px;line-height:1.5;color:#475569}

/* 5. INGRESO ÓPTIMO PROYECTADO: bg-indigo-50/20 border-indigo-100/35 p-3.5 */
.pd-rev-optimal{background:rgba(238,242,251,.2);border:1px solid rgba(224,231,255,.35);border-radius:12px;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;text-align:left}
.pd-rev-optimal-l{flex:1;min-width:0}
.pd-rev-optimal-l > * + *{margin-top:2px}
.pd-rev-optimal-label-row{display:flex;align-items:center;gap:6px}
.pd-rev-optimal-label{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:#3730a3;line-height:1.2}
.pd-rev-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:#818cf8;cursor:help;flex:none}
.pd-rev-help .icon{width:12px;height:12px}
.pd-rev-help-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);width:220px;padding:8px 10px;background:#0F172A;color:#F8FAFC;font-size:10.5px;line-height:1.45;border-radius:8px;box-shadow:0 8px 20px rgba(15,23,42,.18);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:10;font-weight:500;letter-spacing:0;text-transform:none}
.pd-rev-help-tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0F172A}
.pd-rev-help:hover .pd-rev-help-tip,.pd-rev-help:focus-within .pd-rev-help-tip{opacity:1;transform:translateX(-50%) translateY(0)}
.pd-rev-optimal-sub{font-size:10px;color:#94a3b8;line-height:1;letter-spacing:0.005em}
.pd-rev-optimal-r{text-align:right;flex-shrink:0}
.pd-rev-optimal-eyebrow{display:block;font-size:8px;text-transform:uppercase;letter-spacing:0.12em;font-weight:600;color:#94a3b8;font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;line-height:1.2;margin-bottom:2px}
.pd-rev-optimal-amount{font-size:13px;font-weight:700;color:#475569;font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;letter-spacing:-0.01em;line-height:1.2;display:block;white-space:nowrap}

/* 6. CHART section: pt-2 border-t slate-100 */
.pd-rev-chart-section{padding-top:8px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:12px}
.pd-rev-chart-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:20px}
.pd-rev-chart-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:#94a3b8;line-height:1.2}
.pd-rev-chart-readout{font-size:10px;font-weight:700;color:#4f46e5;background:#eef2fb;border:1px solid rgba(224,231,255,.5);padding:2px 8px;border-radius:6px;font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;letter-spacing:0.01em;line-height:1.2;box-shadow:0 1px 2px rgba(0,0,0,.04);min-height:18px;min-width:80px;text-align:right;opacity:0;transition:opacity .15s}
.pd-rev-chart-readout.visible{opacity:1}
.pd-rev-chart-readout.up{color:#059669;background:rgba(236,253,245,1);border-color:rgba(167,243,208,.6)}
.pd-rev-chart-readout.down{color:#dc2626;background:rgba(254,242,242,1);border-color:rgba(252,165,165,.6)}

/* Chart container: bg-slate-50/50 rounded-xl p-2 border-slate-150 */
.pd-rev-chart-wrap{position:relative;background:rgba(248,250,252,.5);border:1px solid #e2e8f0;border-radius:12px;padding:8px;overflow:visible}
.pd-rev-chart-svg{width:100%;height:auto;display:block;cursor:crosshair;user-select:none;-webkit-user-select:none;overflow:visible}
.pd-rev-dot{transition:r .15s ease,fill .15s ease}

/* Tooltip del chart (oculto, preparado para futuro) */
.pd-rev-tooltip{position:absolute;pointer-events:none;background:#0F172A;color:#F8FAFC;border:1px solid #1E293B;border-radius:10px;padding:8px 12px;font-size:11px;line-height:1.3;box-shadow:0 10px 25px rgba(15,23,42,.25);opacity:0;transform:translate(-50%,-100%) translateY(-8px);transition:opacity .12s;z-index:20;white-space:nowrap;min-width:120px}
.pd-rev-tooltip-visible{opacity:1}
.pd-rev-tooltip-month{font-size:9.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#94A3B8;margin-bottom:3px}
.pd-rev-tooltip-amount{font-size:14px;font-weight:900;font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace;letter-spacing:-0.01em;line-height:1.1}
.pd-rev-tooltip-delta{font-size:9.5px;font-weight:800;margin-top:4px;padding-top:4px;border-top:1px solid rgba(148,163,184,.2);font-family:monospace;letter-spacing:0.02em}
.pd-rev-tooltip-delta.up{color:#6EE7B7}
.pd-rev-tooltip-delta.down{color:#FCA5A5}

/* 7. FOOTER: px-6 py-3.5 bg-slate-50 border-t border-slate-100 */
.pd-rev-foot{padding:14px 24px;background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#64748b;gap:8px;flex-wrap:wrap}
.pd-rev-foot-l{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.pd-rev-foot-l .icon{width:14px;height:14px;color:#6366f1;flex:none}
.pd-rev-foot-name{font-weight:700;color:#334155;letter-spacing:-0.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-rev-foot-right{font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;font-size:9px;color:#94a3b8;letter-spacing:0.01em;white-space:nowrap;flex-shrink:0}

/* ═══════════════ CARD: REGISTRO (Datos Registrales de la Propiedad) ═══════════════
   Combinación de placa registral + buscador de habitantes + lista. */
.pd-reg{display:flex;flex-direction:column}
.pd-reg .pd-card-body{gap:14px}

/* Header: eyebrow + título + download button */
.pd-reg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pd-reg-head-l{flex:1;min-width:0}
.pd-reg-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#4f46e5;display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.pd-reg-eyebrow .icon{width:13px;height:13px}
.pd-reg-title{margin:4px 0 0;font-size:18px;font-weight:800;letter-spacing:-0.015em;line-height:1.2;color:#0f172a;font-family:'Outfit','Fraunces','Inter',sans-serif}

/* ══════════════════════════════════════════════════════════════════
   CARD: ESTUDIOS REGISTRALES (small) - top del side-rail
   Card rectangular compacto (~1/8 de alto) con los 3 campos clave:
   Naturaleza, Ubicacin y Valor Fiscal. Al hacer click abre el panel
   lateral con el preview del documento y opciones para subir,
   eliminar o reemplazar el PDF usando OCR. */
.pd-reg-small .pd-card-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pd-reg-small-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pd-reg-small-eyebrow{font-size:9.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--pd-plaque-text-soft);display:inline-flex;align-items:center;gap:5px;line-height:1.2}
.pd-reg-small-eyebrow .icon{width:12px;height:12px;color:var(--pd-plaque-icon-2)}
.pd-reg-small-pill{display:inline-flex;align-items:center;gap:4px;background:#F1F5F9;color:var(--pd-plaque-text-soft);border:1px solid var(--pd-plaque-tag-border);border-radius:99px;padding:2px 8px;font-size:9px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
.pd-reg-small-pill .icon{width:10px;height:10px}
.pd-reg-small-title{margin:0;font-size:14.5px;font-weight:800;letter-spacing:-0.01em;line-height:1.2;color:#0f172a;font-family:'Outfit','Inter',sans-serif}
.pd-reg-small-nat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:linear-gradient(180deg,var(--pd-plaque-bg-1) 0%,var(--pd-plaque-bg-2) 100%);border:1px solid var(--pd-plaque-border);border-radius:8px}
.pd-reg-small-nat-label{font-size:9px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--pd-plaque-text-soft);line-height:1.2}
.pd-reg-small-nat-value{font-size:11.5px;font-weight:800;color:var(--pd-plaque-text-strong);line-height:1.3;letter-spacing:-0.005em;font-family:'Outfit','Inter',sans-serif}
.pd-reg-small-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8px}
.pd-reg-small-cell{display:flex;flex-direction:column;gap:2px;padding:7px 9px;background:#f8fafc;border:1px solid var(--dash-border-soft);border-radius:8px;min-width:0}
.pd-reg-small-cell.vf{background:linear-gradient(180deg,var(--pd-plaque-bg-1) 0%,var(--pd-plaque-bg-2) 100%);border-color:var(--pd-plaque-border)}
.pd-reg-small-cell-label{font-size:9px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink-3);display:inline-flex;align-items:center;gap:4px;line-height:1.2}
.pd-reg-small-cell-label .icon{width:10px;height:10px;color:var(--dash-ink-3);flex:none}
.pd-reg-small-cell.vf .pd-reg-small-cell-label{color:var(--pd-plaque-text-soft)}
.pd-reg-small-cell.vf .pd-reg-small-cell-label .icon{color:var(--pd-plaque-icon-2)}
.pd-reg-small-cell-value{font-size:11.5px;font-weight:800;color:var(--dash-ink);line-height:1.3;letter-spacing:-0.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-reg-small-cell-value.mono{font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace;font-size:11px}
.pd-reg-small-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0 0;border-top:1px solid var(--dash-border-soft);font-size:10.5px;color:var(--dash-ink-3);line-height:1.2}
.pd-reg-small-foot-l{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-reg-small-foot-l .icon{width:12px;height:12px;color:var(--dash-indigo);flex:none}
.pd-reg-small-foot-l b{color:var(--dash-ink);font-weight:800;font-size:11px;letter-spacing:-0.005em}
.pd-reg-small-foot-r{font-size:9.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-indigo);display:inline-flex;align-items:center;gap:4px;flex:none}
.pd-reg-small-arrow{transition:transform .15s}
.pd-reg-small:hover .pd-reg-small-arrow{transform:translateX(3px)}

/* ══════════════════════════════════════════════════════════════════
   CARD: HABITANTES - Placa COZINESS + search + lista residentes
   Card separado de Ocupacin. Muestra la placa gold con el conteo
   total + un buscador + la lista de residentes. */
.pd-hab .pd-card-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.pd-hab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pd-hab-head-l{flex:1;min-width:0}
.pd-hab-eyebrow{font-size:9.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--pd-plaque-text-soft);display:inline-flex;align-items:center;gap:5px;line-height:1.2}
.pd-hab-eyebrow .icon{width:12px;height:12px;color:var(--pd-plaque-icon-2)}
.pd-hab-title{margin:3px 0 0;font-size:14.5px;font-weight:800;letter-spacing:-0.01em;line-height:1.2;color:#0f172a;font-family:'Outfit','Inter',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-hab-count-pill{display:inline-flex;align-items:baseline;gap:4px;background:linear-gradient(180deg,var(--pd-plaque-bg-1),var(--pd-plaque-bg-2));color:var(--pd-plaque-text-strong);border:1px solid var(--pd-plaque-border);border-radius:99px;padding:4px 11px;font-size:14px;font-weight:900;letter-spacing:-0.01em;line-height:1;flex:none;font-family:'Outfit','Inter',sans-serif}
.pd-hab-count-pill span{font-size:9px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--pd-plaque-text-soft)}
.pd-hab-body{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:stretch}

/* Placa COZINESS (slate sobrio, sin dorado) */
.pd-hab-plaque{position:relative;background:linear-gradient(180deg,var(--pd-plaque-bg-1) 0%,var(--pd-plaque-bg-2) 100%);border:1px solid var(--pd-plaque-border);border-radius:12px;padding:12px 10px 10px;text-align:center;min-width:104px;display:flex;flex-direction:column;align-items:center;gap:3px;overflow:hidden}
.pd-hab-plaque::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(71,85,105,.06) 1px,transparent 1px);background-size:12px 12px;pointer-events:none}
.pd-hab-plaque-tag{position:relative;display:inline-flex;align-items:center;gap:3px;background:var(--pd-plaque-tag-bg);border:1px solid var(--pd-plaque-tag-border);border-radius:99px;padding:2px 8px;font-size:8.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--pd-plaque-tag-text)}
.pd-hab-plaque-tag .icon{width:9px;height:9px;color:var(--pd-plaque-icon-2)}
.pd-hab-plaque-icon{position:relative;width:36px;height:36px;border-radius:99px;background:linear-gradient(135deg,var(--pd-plaque-icon-1),var(--pd-plaque-icon-2));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--pd-plaque-icon-shadow)}
.pd-hab-plaque-icon .icon{width:18px;height:18px}
.pd-hab-plaque-eyebrow{position:relative;font-size:8.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--pd-plaque-text-soft);line-height:1;margin-top:1px}
.pd-hab-plaque-num{position:relative;font-size:26px;font-weight:900;letter-spacing:-0.025em;line-height:1;color:var(--pd-plaque-text-strong);font-family:'Outfit','Inter',sans-serif;font-variant-numeric:tabular-nums}
.pd-hab-plaque-sub{position:relative;font-size:9px;color:var(--pd-plaque-text-soft);font-weight:600;letter-spacing:0.01em;line-height:1.2;margin-top:1px}

/* Search + list (right side) */
.pd-hab-right{display:flex;flex-direction:column;gap:8px;min-width:0}
.pd-hab-search{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px}
.pd-hab-search .icon{width:13px;height:13px;color:#94a3b8;flex:none}
.pd-hab-search input{flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:11.5px;color:#0f172a;min-width:0}
.pd-hab-search input::placeholder{color:#94a3b8}

.pd-hab-res-list{display:flex;flex-direction:column;gap:3px;max-height:170px;overflow-y:auto;padding-right:2px}
.pd-hab-res-list::-webkit-scrollbar{width:4px}
.pd-hab-res-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}
.pd-hab-res-list::-webkit-scrollbar-track{background:transparent}
.pd-hab-res-row{display:flex;align-items:center;gap:8px;padding:5px 7px;background:#fff;border:1px solid #f1f5f9;border-radius:7px;transition:background .12s}
.pd-hab-res-row:hover{background:#f8fafc}
.pd-hab-res-avatar{width:26px;height:26px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:9.5px;color:#fff;flex:none;letter-spacing:0.02em}
.pd-hab-res-info{flex:1;min-width:0}
.pd-hab-res-info b{display:block;font-size:11px;font-weight:800;color:#0f172a;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-hab-res-info span{font-size:9.5px;color:#94a3b8;font-family:'JetBrains Mono','SF Mono',monospace;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-hab-res-status{font-size:8.5px;font-weight:800;padding:2px 6px;border-radius:99px;letter-spacing:0.04em;flex:none;line-height:1.2}
.pd-hab-res-status--emerald{background:#dcfce7;color:#047857;border:1px solid rgba(16,185,129,.2)}
.pd-hab-res-status--rose{background:#fee2e2;color:#b91c1c;border:1px solid rgba(239,68,68,.2)}

@media (max-width:380px){
  .pd-hab-body{grid-template-columns:1fr}
  .pd-hab-plaque{flex-direction:row;justify-content:flex-start;text-align:left;min-width:0;padding:8px 10px;gap:8px}
  .pd-hab-plaque-tag{align-self:flex-start}
  .pd-hab-plaque-icon{width:30px;height:30px}
}
.pd-reg-download{width:36px;height:36px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#4f46e5;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .12s,color .12s}
.pd-reg-download:hover{background:#eef2fb;color:#4338ca}
.pd-reg-download .icon{width:16px;height:16px}

/* Placa con el nombre de la propiedad (slate sobrio, sin dorado) */
.pd-reg-plaque{position:relative;background:linear-gradient(180deg,var(--pd-plaque-bg-1) 0%,var(--pd-plaque-bg-2) 100%);border:1px solid var(--pd-plaque-border);border-radius:10px;padding:14px 14px 12px;text-align:center;overflow:hidden}
.pd-reg-plaque::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(71,85,105,.06) 1px,transparent 1px);background-size:14px 14px;pointer-events:none}
.pd-reg-plaque-tag{position:relative;display:inline-flex;align-items:center;gap:4px;background:var(--pd-plaque-tag-bg);border:1px solid var(--pd-plaque-tag-border);border-radius:99px;padding:2px 8px;font-size:9px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--pd-plaque-tag-text);margin-bottom:6px}
.pd-reg-plaque-tag .icon{width:10px;height:10px;color:var(--pd-plaque-icon-2)}
.pd-reg-plaque-icon{position:relative;width:40px;height:40px;border-radius:99px;background:linear-gradient(135deg,var(--pd-plaque-icon-1),var(--pd-plaque-icon-2));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;box-shadow:var(--pd-plaque-icon-shadow)}
.pd-reg-plaque-icon .icon{width:18px;height:18px}
.pd-reg-plaque-name{position:relative;font-size:13px;font-weight:800;letter-spacing:-0.01em;color:var(--pd-plaque-text-strong);line-height:1.2}

/* Search bar */
.pd-reg-search{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px}
.pd-reg-search .icon{width:14px;height:14px;color:#94a3b8;flex:none}
.pd-reg-search input{flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:11.5px;color:#0f172a}
.pd-reg-search input::placeholder{color:#94a3b8}

/* Lista de residentes */
.pd-reg-res-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}
.pd-reg-res-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#fff;border:1px solid #f1f5f9;border-radius:8px;transition:background .12s}
.pd-reg-res-row:hover{background:#f8fafc}
.pd-reg-res-avatar{width:28px;height:28px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10px;color:#fff;flex:none}
.pd-reg-res-info{flex:1;min-width:0}
.pd-reg-res-info b{display:block;font-size:11.5px;font-weight:800;color:#0f172a;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-reg-res-info span{font-size:10px;color:#94a3b8;font-family:'JetBrains Mono','SF Mono',monospace;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-reg-res-status{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:99px;letter-spacing:0.04em;flex:none;font-family:'Inter',sans-serif}
.pd-reg-res-status--emerald{background:#dcfce7;color:#047857;border:1px solid rgba(16,185,129,.2)}
.pd-reg-res-status--rose{background:#fee2e2;color:#b91c1c;border:1px solid rgba(239,68,68,.2)}

/* Footer: habitantes */
.pd-reg-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:var(--pd-plaque-bg-1);border:1px solid var(--pd-plaque-border);border-radius:8px}
.pd-reg-foot-l{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.pd-reg-foot-eyebrow{font-size:9px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--pd-plaque-text-soft)}
.pd-reg-foot-num{font-size:20px;font-weight:900;color:var(--pd-plaque-text-strong);font-family:'Outfit','Inter',sans-serif;letter-spacing:-0.02em;line-height:1.1}
.pd-reg-foot-sub{font-size:9.5px;color:var(--pd-plaque-text-soft);font-weight:500}

/* ═══════════════ CARD: TICKETS ═══════════════
   Cola de tickets de la propiedad, separada por tipo y severidad. */
.pd-tickets{display:flex;flex-direction:column}
.pd-tickets .pd-card-body{gap:16px}

/* Header: eyebrow izquierda + pill tiempo real derecha */
.pd-tk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.pd-tk-head-l{flex:1;min-width:0}
.pd-tk-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#b91c1c;display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.pd-tk-eyebrow .icon{width:13px;height:13px}
.pd-tk-head-r{flex:none}
.pd-tk-pill{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:99px;padding:3px 10px;font-size:9.5px;font-weight:700;letter-spacing:0.04em;color:#475569;white-space:nowrap}
.pd-tk-pulse{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.6);animation:pd-tk-pulse 1.8s ease-in-out infinite;flex:none}
@keyframes pd-tk-pulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}50%{box-shadow:0 0 0 5px rgba(16,185,129,0)}}

/* Contador masivo: 11 con label */
.pd-tk-counter{text-align:center;padding:20px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:4px}
.pd-tk-counter-num{font-size:54px;font-weight:900;letter-spacing:-0.03em;line-height:1;color:#0f172a;font-variant-numeric:tabular-nums}
.pd-tk-counter-label{font-size:9.5px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:#94a3b8}

/* Dos columnas: Mantenimiento | Administrativos */
.pd-tk-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.pd-tk-cols{grid-template-columns:1fr;gap:10px}}
.pd-tk-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.pd-tk-col-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pd-tk-col-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none}
.pd-tk-col-icon--rose{background:#fee2e2;color:#b91c1c}
.pd-tk-col-icon--blue{background:#dbeafe;color:#1d4ed8}
.pd-tk-col-icon .icon{width:12px;height:12px}
.pd-tk-col-title{font-size:12.5px;font-weight:800;color:#0f172a;letter-spacing:-0.005em;line-height:1.2}
.pd-tk-col-count{font-size:9.5px;font-weight:700;color:#94a3b8;font-family:'JetBrains Mono','SF Mono',monospace;letter-spacing:0.02em;margin-left:auto}

/* Sub-filas de severidad (Urgente / Importante / En Espera) */
.pd-tk-subrows{display:flex;flex-direction:column;gap:4px}
.pd-tk-subrow{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:6px;font-size:10.5px;font-weight:600;line-height:1.2}
.pd-tk-subrow--rose{background:rgba(254,226,226,.45);border:1px solid rgba(252,165,165,.4);color:#9f1239}
.pd-tk-subrow--amber{background:rgba(254,243,199,.5);border:1px solid rgba(252,211,77,.45);color:#92400e}
.pd-tk-subrow--slate{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}
.pd-tk-subrow-l{display:inline-flex;align-items:center;gap:5px;min-width:0}
.pd-tk-subrow-l .icon{width:12px;height:12px;flex:none}
.pd-tk-subrow-r{font-size:10px;font-weight:800;font-family:'JetBrains Mono','SF Mono',monospace;letter-spacing:0.01em;background:rgba(255,255,255,.7);padding:1px 6px;border-radius:4px;flex:none;margin-left:6px}

/* Nota al pie de la columna Administrativos */
.pd-tk-note{display:flex;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:10.5px;line-height:1.5;color:#475569;margin-top:auto}
.pd-tk-note-icon{width:22px;height:22px;border-radius:5px;background:#dbeafe;color:#1d4ed8;display:flex;align-items:center;justify-content:center;flex:none}
.pd-tk-note-icon .icon{width:12px;height:12px}
.pd-tk-note-body b{color:#0f172a}

/* Bar chart de encargados (parte inferior del card) */
.pd-tk-encargados{display:flex;flex-direction:column;gap:6px}
.pd-tk-encargados-title{font-size:9.5px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:#94a3b8;line-height:1.2}
.pd-tk-encargados-chart{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px}

/* ═══════════════ MOROSIDAD (distribucin completa) ═══════════════ */
.pd-mor .pd-card-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.pd-mor-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pd-mor-alert-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--dash-rose)}
.pd-mor-alert-tag .icon{color:var(--dash-rose);animation:pd-pulse 1.6s ease-in-out infinite;width:13px;height:13px}
.pd-mor-alert-tag.emerald{color:var(--dash-emerald)}
.pd-mor-alert-tag.emerald .icon{color:var(--dash-emerald);animation:none}
.pd-mor-debt-tag{font-size:10.5px;font-weight:800;letter-spacing:0.03em;background:var(--dash-rose-tint);color:var(--dash-rose);border:1px solid rgba(239,68,68,.18);padding:4px 9px;border-radius:99px;font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace}
.pd-mor-debt-tag.emerald{background:var(--dash-emerald-tint);color:var(--dash-emerald);border-color:rgba(16,185,129,.2)}
.pd-mor-card-main{position:relative}
.pd-mor-amount{font-size:32px;font-weight:900;letter-spacing:-0.025em;line-height:1.1;color:var(--dash-ink);font-variant-numeric:tabular-nums;font-family:'Outfit','Inter',sans-serif}
.pd-mor-amount.emerald{color:var(--dash-emerald)}
.pd-mor-affected{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:0.02em;text-transform:none;color:var(--dash-rose);background:var(--dash-rose-tint);border:1px solid rgba(239,68,68,.15);padding:4px 10px;border-radius:99px;line-height:1.3}
.pd-mor-affected.emerald{color:var(--dash-emerald);background:var(--dash-emerald-tint);border-color:rgba(16,185,129,.2)}
.pd-mor-distrib{padding-top:10px;border-top:1px solid var(--dash-border-soft)}
.pd-mor-distrib-title{font-size:10.5px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--dash-ink-2);display:block;margin-bottom:8px}
.pd-mor-distrib-title.emerald{color:var(--dash-emerald)}
.pd-mor-distrib-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pd-mor-tile{background:rgba(254,226,226,.4);border:1px solid rgba(252,165,165,.4);border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-height:54px;transition:background .12s}
.pd-mor-tile:hover{background:rgba(254,226,226,.65)}
.pd-mor-tile.emerald{background:rgba(209,250,229,.4);border-color:rgba(167,243,208,.5)}
.pd-mor-tile.emerald:hover{background:rgba(209,250,229,.65)}
.pd-mor-tile-rentas{grid-column:1 / -1;background:rgba(254,226,226,.5);border-color:rgba(252,165,165,.5);min-height:58px;padding:10px 12px}
.pd-mor-tile-rentas:hover{background:rgba(254,226,226,.7)}
.pd-mor-tile-rentas.emerald{background:rgba(209,250,229,.5);border-color:rgba(167,243,208,.6)}
.pd-mor-tile-rentas.emerald:hover{background:rgba(209,250,229,.7)}
.pd-mor-tile-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.pd-mor-tile-label{font-size:11px;font-weight:700;letter-spacing:0.02em;text-transform:uppercase;color:var(--dash-ink-2);line-height:1.2}
.pd-mor-tile-count{font-size:9.5px;font-weight:800;background:rgba(239,68,68,.18);color:var(--dash-rose);border:1px solid rgba(239,68,68,.15);padding:2px 6px;border-radius:99px;letter-spacing:0.02em}
.pd-mor-tile-count.emerald{background:rgba(16,185,129,.18);color:var(--dash-emerald);border-color:rgba(16,185,129,.2)}
.pd-mor-tile-amount{font-size:16px;font-weight:800;color:var(--dash-ink);font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace;line-height:1.2;letter-spacing:-0.01em}
.pd-mor-tile-amount.emerald{color:var(--dash-emerald)}
.pd-mor-card-foot{font-size:10.5px;font-weight:700;letter-spacing:0.02em;text-transform:none;text-align:center;padding:8px 0 0;border-top:1px solid transparent;margin-top:auto;line-height:1.3}
.pd-mor-card-foot-alert{color:var(--dash-rose);border-top-color:rgba(239,68,68,.18)}
.pd-mor-card-foot-healthy{color:var(--dash-emerald);border-top-color:rgba(16,185,129,.2)}

/* ═══════════════ PLACEHOLDER (slots para futuros cards) ═══════════════ */

.pd-placeholder{background:repeating-linear-gradient(135deg,#FAFBFC 0 12px,#F8FAFC 12px 24px);border:1px dashed var(--dash-border);box-shadow:none;border-radius:var(--dash-r);min-height:280px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.pd-placeholder:hover{border-color:#94A3B8;background:repeating-linear-gradient(135deg,#F1F5F9 0 12px,#E2E8F0 12px 24px)}
.pd-placeholder-inner{display:flex;align-items:center;gap:14px;padding:18px 22px;max-width:360px;text-align:left}
.pd-placeholder-icon{width:42px;height:42px;border-radius:12px;background:#F1F5F9;color:var(--dash-ink-3);display:flex;align-items:center;justify-content:center;flex:none}
.pd-placeholder-text h4{margin:0 0 4px;font-size:14px;font-weight:800;color:var(--dash-ink-2);letter-spacing:-0.01em}
.pd-placeholder-text p{margin:0;font-size:11.5px;color:var(--dash-ink-3);line-height:1.5}

/* ═══════════════ HABITANTES CARD ═══════════════ */
.pd-res-counter{display:flex;align-items:center;gap:12px;padding:10px 12px;background:linear-gradient(135deg,#FFF7ED,#FFEDD5);border:1px solid #FED7AA;border-radius:12px;margin-bottom:10px}
.pd-res-counter-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#F97316,#EA580C);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 4px 12px -4px rgba(249,115,22,.4)}
.pd-res-counter-icon .icon{color:#fff}
.pd-res-search{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#F8FAFC;border:1px solid var(--dash-border-soft);border-radius:8px;margin-bottom:8px;font-size:11px;color:var(--dash-ink-3);font-style:italic}
.pd-res-list{display:flex;flex-direction:column;gap:1px}
.pd-res-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;background:#fff;transition:background .12s}
.pd-res-row:hover{background:#F8FAFC}
.pd-res-row + .pd-res-row{border-top:1px solid var(--dash-border-soft)}
.pd-res-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:10.5px;letter-spacing:0.04em;flex:none;font-family:'Outfit',sans-serif}
.pd-res-status{font-size:9.5px;font-weight:800;letter-spacing:0.04em;padding:3px 8px;border-radius:99px;text-transform:uppercase;flex:none}
.pd-res-status.rose{color:var(--dash-rose);background:var(--dash-rose-tint);border:1px solid rgba(239,68,68,.18)}
.pd-res-status.emerald{color:var(--dash-emerald);background:var(--dash-emerald-tint);border:1px solid rgba(16,185,129,.18)}

/* ═══════════════ SIDE PANEL (Estudio Registral) ═══════════════ */
.pd-side-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease;backdrop-filter:blur(2px)}
.pd-side-overlay.open{opacity:1;pointer-events:auto}
.pd-side-panel{position:absolute;top:0;right:0;bottom:0;width:min(50vw,640px);background:#fff;box-shadow:-12px 0 40px -10px rgba(15,23,42,.18);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.2,.9,.3,1)}
.pd-side-overlay.open .pd-side-panel{transform:translateX(0)}
.pd-side-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;border-bottom:1px solid var(--dash-border-soft);background:#fff;flex:none}
.pd-iconbtn{width:32px;height:32px;border:1px solid var(--dash-border-soft);background:#fff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dash-ink-2);transition:background .12s}
.pd-iconbtn:hover{background:#F1F5F9}
.pd-side-tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid var(--dash-border-soft);background:#F8FAFC;flex:none}
.pd-side-tab{padding:10px 14px;background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;font-size:11.5px;font-weight:700;color:var(--dash-ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;letter-spacing:0.02em}
.pd-side-tab.on{color:var(--dash-indigo);border-bottom-color:var(--dash-indigo);background:rgba(79,70,229,.04)}
.pd-side-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 6px;font-size:9.5px;font-weight:800;background:var(--dash-rose-tint);color:var(--dash-rose);border-radius:99px}
.pd-side-body{flex:1;overflow-y:auto;padding:18px 22px;background:#F8FAFC}
.pd-side-foot{display:flex;justify-content:space-between;padding:10px 22px;border-top:1px solid var(--dash-border-soft);background:#fff;font-size:10.5px;color:var(--dash-ink-3);flex:none}
@media(max-width:900px){.pd-side-panel{width:90vw}}

/* Documento registral (mock de PDF) */
.pd-reg-doc{position:relative;background:#fff;border:1px solid var(--dash-border-soft);border-radius:8px;padding:28px 26px 32px;box-shadow:0 6px 24px -12px rgba(15,23,42,.15);font-family:Georgia,'Times New Roman',serif;color:#1F2937;overflow:hidden}
.pd-reg-doc-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:54px;font-weight:900;color:rgba(71,85,105,.07);letter-spacing:0.1em;pointer-events:none;user-select:none;white-space:nowrap}

/* Acciones del documento (subir / reemplazar / eliminar) */
.pd-reg-doc-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:linear-gradient(180deg,var(--pd-plaque-bg-1) 0%,var(--pd-plaque-bg-2) 100%);border:1px solid var(--pd-plaque-border);border-radius:10px;margin-bottom:16px;flex-wrap:wrap}
.pd-reg-doc-actions-l{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.pd-reg-doc-actions-l > .icon{width:22px;height:22px;color:var(--pd-plaque-icon-2);flex:none}
.pd-reg-doc-actions-l b{display:block;font-size:12.5px;font-weight:800;color:var(--pd-plaque-text-strong);line-height:1.2}
.pd-reg-doc-actions-l span{display:block;font-size:10.5px;color:var(--pd-plaque-text-soft);font-weight:500;line-height:1.2;letter-spacing:0.01em;margin-top:1px}
.pd-reg-doc-actions-r{display:flex;gap:6px;flex-wrap:wrap}
.pd-reg-doc-actions-r .pd-btn{font-size:10.5px;padding:5px 9px;cursor:pointer}
.pd-reg-doc-actions-r .pd-btn .icon{width:12px;height:12px}
.pd-reg-doc-actions-r .pd-btn-danger{color:var(--dash-rose);border-color:rgba(239,68,68,.25)}
.pd-reg-doc-actions-r .pd-btn-danger:hover{background:var(--dash-rose-tint);border-color:var(--dash-rose)}
.pd-reg-doc-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:2px solid #475569;margin-bottom:14px;position:relative;z-index:1}
.pd-reg-doc-logo{width:42px;height:42px;border-radius:50%;background:#334155;color:#F1F5F9;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;letter-spacing:0.05em;flex:none}
.pd-reg-doc-head > div:last-child b{display:block;font-size:11.5px;font-weight:900;color:#334155;letter-spacing:0.06em;text-transform:uppercase}
.pd-reg-doc-head > div:last-child span{font-size:9.5px;color:#6B7280;letter-spacing:0.05em;text-transform:uppercase}
.pd-reg-doc h4{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#334155;border-bottom:1px solid rgba(71,85,105,.2);padding-bottom:4px;margin:14px 0 8px;position:relative;z-index:1}
.pd-reg-doc-table{width:100%;border-collapse:collapse;font-size:11px;position:relative;z-index:1}
.pd-reg-doc-table td{padding:5px 8px;border-bottom:1px solid #F1F5F9;vertical-align:top}
.pd-reg-doc-table td:first-child{color:#6B7280;width:38%;font-style:italic}
.pd-reg-doc-table td:last-child{color:#1F2937}
.pd-reg-doc-table b{font-weight:900}
.pd-reg-doc-grav{list-style:none;margin:0;padding:0;font-size:11px;position:relative;z-index:1}
.pd-reg-doc-grav li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #F1F5F9}
.pd-reg-doc-stamp{margin-top:18px;text-align:center;font-size:9.5px;color:#475569;font-weight:900;letter-spacing:0.14em;padding-top:12px;border-top:1px dashed rgba(71,85,105,.3);position:relative;z-index:1}

/* Listado "Datos registrales" */
.pd-reg-list{background:#fff;border:1px solid var(--dash-border-soft);border-radius:10px;overflow:hidden}
.pd-reg-list-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 14px;border-bottom:1px solid var(--dash-border-soft);font-size:12px}
.pd-reg-list-row:last-child{border-bottom:0}
.pd-reg-list-row span{color:var(--dash-ink-3);font-size:11px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;flex:none}
.pd-reg-list-row b{color:var(--dash-ink);text-align:right;font-weight:800}

/* Gravámenes */
.pd-reg-grav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pd-reg-grav-item{background:#fff;border:1px solid var(--dash-border-soft);border-radius:10px;padding:12px 14px;border-left:3px solid #94A3B8}
.pd-reg-grav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pd-reg-grav-head b{font-size:12.5px;font-weight:800;color:var(--dash-ink)}
.pd-reg-grav-row{display:flex;justify-content:space-between;font-size:11px;padding:3px 0;color:var(--dash-ink-2)}
.pd-reg-grav-row span{color:var(--dash-ink-3);font-weight:700;letter-spacing:0.04em;text-transform:uppercase;font-size:10px}
.pd-reg-grav-row b{color:var(--dash-ink);font-weight:800}

/* ═══════════════ INLINE MODE (en el workspace, sin modal) ═══════════════ */
.pd-inline-wrap{display:flex;flex-direction:column;gap:14px;width:100%;min-height:0}
.pd-inline-bar{position:sticky;top:0;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--dash-border);border-radius:14px;padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:var(--dash-shadow-card,0 4px 12px -4px rgba(15,23,42,.06))}
.pd-back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#fff;border:1px solid var(--dash-border);border-radius:8px;cursor:pointer;font:inherit;font-size:12px;font-weight:700;color:var(--dash-ink-2);transition:background .12s,color .12s;flex:none}
.pd-back-btn:hover{background:var(--dash-indigo-tint);color:var(--dash-indigo);border-color:var(--dash-indigo)}
.pd-back-btn .icon{width:14px;height:14px}
.pd-inline-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.pd-inline-title > div:last-child{min-width:0}
.pd-inline-title b{display:block;font-size:15px;font-weight:800;color:var(--dash-ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-inline-title span{display:block;font-size:11px;color:var(--dash-ink3);font-weight:500;line-height:1.2}
.pd-inline-title-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1B3A8F,#4F46E5);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.pd-inline-title-icon .icon{color:#fff;width:18px;height:18px}
.pd-inline-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.pd-inline-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--dash-indigo-tint);color:var(--dash-indigo);border:1px solid rgba(79,70,229,.18);border-radius:99px;font-size:10.5px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;cursor:default}
.pd-inline-tag .icon{width:12px;height:12px}

/* Cuando el dashboard va inline (dentro de .pd-inline-wrap), el shell
   interno (que PD.render ya emite) pasa a modo bloque: sin alto fijo (el
   wrap padre manda) y side-rail no sticky. Así ocupa el ancho completo
   del workspace y se ve igual al diseno de referencia. */
.pd-inline-dashboard{width:100%;min-width:0}
.pd-inline-dashboard > .pd-shell{padding:8px 4px 0;height:auto;min-height:0}
.pd-inline-dashboard .pd-grid-split{height:auto;align-items:start;grid-template-columns:minmax(0,1fr) clamp(300px,28vw,380px);gap:12px}
/* En inline mode seguimos ocultando el header KPI azul (ya est en el
   top bar) y el label 'VIGILANCIA' (redundante), pero SÍ mostramos
   el side-rail con los cards de vigilancia. */
.pd-inline-dashboard .pd-header,
.pd-inline-dashboard .pd-header-compact,
.pd-inline-dashboard .pd-kpi-strip,
.pd-inline-dashboard .pd-group-label{display:none !important}
.pd-inline-dashboard .pd-side-rail{display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;position:sticky;top:8px;max-height:calc(100vh - 100px);overflow-y:auto;overflow-x:hidden;padding-right:4px;align-items:stretch;gap:10px}
.pd-inline-dashboard .pd-side-rail > *{width:100% !important;max-width:100% !important;flex:0 0 auto}

/* ════════════════════════════════════════════════════════════
   LAYOUT COMPACTO — 5S + dashboard japonés
   - Main grid 9-col (izquierda) + side-rail 3-col (derecha)
   - Todo el contenido cabe en el primer viewport (sin scroll)
   - Densidad alta pero respiro generoso
   ════════════════════════════════════════════════════════════ */

.pd-shell-compact{padding:8px 10px;display:flex;flex-direction:column;gap:6px;height:100%;min-height:0}
.pd-grid-split{display:grid;grid-template-columns:minmax(0, 1fr) clamp(320px, 30vw, 420px);gap:10px;align-items:start;flex:1;min-height:0}
.pd-main-grid{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0;overflow:visible}
.pd-row{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));gap:10px;min-width:0}
.pd-row > div{min-width:0;min-height:0}
.pd-row > div > .pd-card{height:100%;margin:0}
.pd-side-rail{display:flex;flex-direction:column;gap:8px;position:sticky;top:6px;max-height:calc(100vh - 80px);overflow-y:auto;padding-right:4px}
.pd-side-rail::-webkit-scrollbar{width:6px}
.pd-side-rail::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:4px}
.pd-side-rail::-webkit-scrollbar-track{background:transparent}

/* ── Etiquetas de grupo (línea fina + nombre) ── */
.pd-group-label{display:flex;align-items:center;gap:6px;padding:2px 4px;font-size:9.5px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--dash-ink-3)}
.pd-group-label .pd-group-bar{height:2px;width:18px;background:var(--dash-ink-3);border-radius:1px;display:inline-block}
.pd-group-label .pd-group-bar.rail{background:var(--dash-indigo)}
.pd-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.pd-group .pd-card{margin:0}
@media (max-width:1100px){
  .pd-grid-split{grid-template-columns:1fr}
  .pd-row{grid-template-columns:repeat(6, minmax(0, 1fr))}
  .pd-row > div{grid-column:span 3 !important}
  .pd-side-rail{position:static;max-height:none}
}
@media (max-width:720px){
  .pd-row{grid-template-columns:1fr}
  .pd-row > div{grid-column:span 1 !important}
}

/* ── Header compacto con KPIs ── */
.pd-header-compact{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:linear-gradient(135deg,#1B3A8F 0%,#4F46E5 100%);color:#fff;border-radius:12px;gap:14px;flex-wrap:wrap;box-shadow:0 4px 16px -6px rgba(79,70,229,.3)}
.pd-header-main{display:flex;align-items:center;gap:10px;min-width:0;flex:none}
.pd-header-icon{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex:none}
.pd-header-icon .icon{color:#fff}
.pd-header-titles h1{margin:0;font-size:clamp(14px,1.4vw,18px);font-weight:800;letter-spacing:-0.01em;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30ch}
.pd-subtitle{margin:1px 0 0;font-size:10.5px;color:rgba(255,255,255,.7);font-weight:500;display:flex;align-items:center;gap:4px}
.pd-subtitle .icon{color:rgba(255,255,255,.7);width:11px;height:11px}
.pd-kpi-strip{display:flex;align-items:stretch;gap:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:9px;overflow:hidden;flex-wrap:wrap}
.pd-kpi{display:flex;flex-direction:column;gap:1px;padding:5px 12px;border-right:1px solid rgba(255,255,255,.1);min-width:0;flex:1}
.pd-kpi:last-child{border-right:0}
.pd-kpi-label{font-size:8.5px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:3px}
.pd-kpi-label .icon{color:rgba(255,255,255,.65);width:10px;height:10px}
.pd-kpi-value{font-size:14px;font-weight:800;color:#fff;font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:-0.01em;line-height:1.1;white-space:nowrap}
.pd-kpi-delta{font-size:9.5px;font-weight:800;font-family:monospace;letter-spacing:0.02em;line-height:1}
.pd-kpi-delta.up{color:#6EE7B7}
.pd-kpi-delta.down{color:#FCA5A5}
.pd-kpi-foot{font-size:9px;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:0.04em;line-height:1.1}
.pd-kpi-ok .pd-kpi-value{color:#6EE7B7}
.pd-kpi-bad .pd-kpi-value{color:#FCA5A5}
.pd-kpi-status{flex:none;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:90px}
.pd-kpi-pulse{width:8px;height:8px;border-radius:50%;background:#6EE7B7;box-shadow:0 0 0 0 rgba(110,231,183,.7);animation:pdpulse 1.6s ease-in-out infinite}
@keyframes pdpulse{0%,100%{box-shadow:0 0 0 0 rgba(110,231,183,.7)}50%{box-shadow:0 0 0 6px rgba(110,231,183,0)}}

/* ── Side-rail widgets ultra compactos ── */
.pd-rail{background:#fff;border:1px solid var(--dash-border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px -4px rgba(15,23,42,.06);position:relative;overflow:hidden}
.pd-rail::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dash-ink-3)}
.pd-rail.pd-sev-ok::before,.pd-rail.pd-sev-emerald::before{background:var(--dash-emerald)}
.pd-rail.pd-sev-warn::before,.pd-rail.pd-sev-amber::before{background:var(--dash-amber)}
.pd-rail.pd-sev-danger::before,.pd-rail.pd-sev-rose::before{background:var(--dash-rose)}
.pd-rail.pd-sev-indigo::before{background:var(--dash-indigo)}
.pd-rail-head{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--dash-ink-2)}
.pd-rail-head .icon{color:var(--dash-ink-3);width:12px;height:12px;flex:none}
.pd-rail-head > span:first-of-type{flex:1;min-width:0}
.pd-rail-tag{font-size:10px;font-weight:900;color:var(--dash-ink);background:#F1F5F9;border:1px solid var(--dash-border-soft);padding:1px 6px;border-radius:6px;letter-spacing:0.04em;font-family:monospace}
.pd-rail-amount{font-size:18px;font-weight:900;color:var(--dash-ink);font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:-0.01em;line-height:1.1;padding:1px 0}
.pd-rail.pd-sev-danger .pd-rail-amount,.pd-rail.pd-sev-rose .pd-rail-amount{color:var(--dash-rose)}
.pd-rail.pd-sev-warn .pd-rail-amount,.pd-rail.pd-sev-amber .pd-rail-amount{color:var(--dash-amber)}
.pd-rail.pd-sev-ok .pd-rail-amount,.pd-rail.pd-sev-emerald .pd-rail-amount{color:var(--dash-emerald)}
.pd-rail-foot{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:9.5px;color:var(--dash-ink-3);font-weight:600;letter-spacing:0.02em;padding-top:3px;border-top:1px dashed var(--dash-border-soft)}
.pd-rail-pct{font-family:monospace;font-weight:800;color:var(--dash-ink-2)}

.pd-rail-pills{display:flex;flex-wrap:wrap;gap:3px;margin:2px 0}
.pd-pill{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:800;letter-spacing:0.04em;padding:2px 6px;border-radius:99px;text-transform:uppercase}
.pd-pill .icon{width:9px;height:9px}
.pd-pill.emerald{color:var(--dash-emerald);background:var(--dash-emerald-tint);border:1px solid rgba(16,185,129,.18)}
.pd-pill.rose{color:var(--dash-rose);background:var(--dash-rose-tint);border:1px solid rgba(239,68,68,.18)}

/* ── Score ring widget ── */
.pd-rail-score{position:relative;width:54px;height:54px;margin:2px auto 1px}
.pd-rail-ring{width:100%;height:100%;color:var(--dash-emerald)}
.pd-rail.pd-sev-amber .pd-rail-ring{color:var(--dash-amber)}
.pd-rail.pd-sev-rose .pd-rail-ring{color:var(--dash-rose)}
.pd-rail.pd-sev-indigo .pd-rail-ring{color:var(--dash-indigo)}
.pd-rail-score-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;line-height:1}
.pd-rail-score-text b{font-size:18px;font-weight:900;color:var(--dash-ink);font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:-0.02em}
.pd-rail-score-text span{font-size:8.5px;color:var(--dash-ink-3);font-weight:700;margin-left:1px}
.pd-rail-grade{text-align:center;font-size:10px;font-weight:900;letter-spacing:0.08em;text-transform:uppercase;padding:2px 0}
.pd-rail-grade.emerald{color:var(--dash-emerald)}
.pd-rail-grade.amber{color:var(--dash-amber)}
.pd-rail-grade.rose{color:var(--dash-rose)}
.pd-rail-grade.indigo{color:var(--dash-indigo)}

/* ═══════════════ DENSIDAD JAPONESA (5S) ═══════════════
   Achicar paddings y gaps del main grid para que TODO
   quepa en el primer viewport sin scrollear. */

.pd-shell-compact .pd-card .pd-card-body{padding:10px 12px 12px;gap:6px}
.pd-shell-compact .pd-card .pd-card-foot{padding:6px 12px;font-size:9.5px}
.pd-shell-compact .pd-card-h{padding-bottom:6px !important;margin-bottom:6px !important}
.pd-shell-compact .pd-eyebrow{font-size:9px}
.pd-shell-compact .pd-card-title{font-size:13px;font-weight:800;line-height:1.15;margin:1px 0 0}
.pd-shell-compact .pd-rev-chart-wrap{padding:4px 6px 2px}
.pd-shell-compact .pd-rev-compare{padding:2px 0}
.pd-shell-compact .pd-rev-cell-label{font-size:8.5px}
.pd-shell-compact .pd-rev-cell-value{font-size:18px}
.pd-shell-compact .pd-mor .pd-card-body{padding:8px 10px;gap:6px}
.pd-shell-compact .pd-mor-amount{font-size:20px}
.pd-shell-compact .pd-mor-distrib{padding-top:4px}
.pd-shell-compact .pd-mor-tile{padding:4px 6px;min-height:34px;gap:1px}
.pd-shell-compact .pd-mor-tile-amount{font-size:11px}
.pd-shell-compact .pd-mor-tile-label{font-size:8px}
.pd-shell-compact .pd-mor-tile-count{font-size:7.5px;padding:0 4px}
.pd-shell-compact .pd-mor-card-foot{padding:3px 0 0;font-size:8.5px}
.pd-shell-compact .pd-mor-alert-tag,.pd-shell-compact .pd-mor-debt-tag{font-size:8.5px;padding:2px 6px}
.pd-shell-compact .pd-mor-affected{margin-top:3px;font-size:8.5px;padding:2px 6px}
.pd-shell-compact .pd-mor-distrib-title{font-size:8px;margin-bottom:3px}
.pd-shell-compact .pd-mor-head{margin-bottom:0}
.pd-shell-compact .pd-insights{margin:0}
.pd-shell-compact .pd-insights-head{padding:6px 8px;font-size:10px}
.pd-shell-compact .pd-insights-body{padding:0 2px 4px;max-height:none}
.pd-shell-compact .pd-insight{padding:5px 6px;gap:6px}
.pd-shell-compact .pd-insight-icon{width:20px;height:20px}
.pd-shell-compact .pd-insight-icon .icon{width:11px;height:11px}
.pd-shell-compact .pd-insight-title{font-size:10.5px}
.pd-shell-compact .pd-insight-meta{font-size:8.5px}
.pd-shell-compact .pd-insight-desc{font-size:10px;line-height:1.4;margin-top:1px}
.pd-shell-compact .pd-rev-optimal{padding:6px 0 0;margin-top:2px}
.pd-shell-compact .pd-rev-foot{padding:5px 8px}
.pd-shell-compact .pd-rev-foot-name{font-size:11.5px}
.pd-shell-compact .pd-rev-foot-addr{font-size:9px}
.pd-shell-compact .pd-rev-foot-icon{width:24px;height:24px}
.pd-shell-compact .pd-rev-foot-icon .icon{width:12px;height:12px}

/* Cards de rendimiento (yield/occupancy/history) — tamaño uniforme */
.pd-group-perf .pd-card .pd-card-body{padding:9px 11px;gap:5px}
.pd-group-perf .pd-card-bar{height:3px}
.pd-group-perf .pd-section-title{padding-bottom:5px}
.pd-group-perf h3{font-size:13px}

/* Cards de operaciones */
.pd-group-ops .pd-card .pd-card-body{padding:9px 11px;gap:5px}
.pd-group-ops .pd-card-bar{height:3px}
.pd-group-ops h3{font-size:13px}

/* Placa de Estudio Registral más compacta */
.pd-shell-compact .pd-plaque{padding:8px 10px}
.pd-shell-compact .pd-plaque-big{font-size:11.5px}
.pd-shell-compact .pd-plaque-eyebrow{font-size:8.5px}
.pd-shell-compact .pd-plaque-row + .pd-plaque-row{margin-top:6px}
.pd-shell-compact .pd-plaque-foot{padding-top:5px;margin-top:5px;font-size:9.5px}

/* ════════════════════════════════════════════════════════════════════════
   CALENDARIO DE PAGOS (0075)
   Bloque nuevo; prefijo `cal-` en todas las clases para que no choque con
   los estilos existentes. Usa los CSS variables del proyecto (--primary,
   --success, --warn, --danger, --info, --gold). Mobile-first: la grilla
   mensual se apila en 1 columna por defecto y pasa a 7 columnas ≥720px.
   ════════════════════════════════════════════════════════════════════════ */

/* Toolbar: navegación de mes + toggle de modo + CTA */
.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cal-toolbar .cal-mes-titulo{font-size:16px;min-width:160px;text-align:center}
.cal-toolbar .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.cal-toolbar .seg-btn{background:transparent;border:0;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--ink2)}
.cal-toolbar .seg-btn.on{background:var(--primary);color:#fff}

/* Grilla mensual */
.cal-grid-mes{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg);font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.5px}
.cal-grid-head .cal-dow{padding:8px 6px;text-align:center;border-bottom:1px solid var(--line)}
.cal-grid-body{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line)}
.cal-celda{background:var(--card);min-height:96px;padding:6px;display:flex;flex-direction:column;gap:4px;position:relative}
.cal-celda--vacia{background:var(--bg);min-height:96px}
.cal-celda--pasado{opacity:.55}
.cal-celda--hoy{box-shadow:inset 0 0 0 2px var(--primary)}
.cal-celda-num{font-size:12px;font-weight:700;color:var(--ink2);align-self:flex-end}

/* Modo lineal: lista vertical */
.cal-lineal{display:flex;flex-direction:column;gap:14px}
.cal-linea-grupo{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.cal-linea-fecha{font-size:14px;display:flex;align-items:baseline;gap:6px;padding-bottom:6px;border-bottom:1px dashed var(--line)}
.cal-linea-eventos{display:flex;flex-direction:column;gap:6px}

/* Chip de evento (versión compacta, dentro de la celda del mes) */
.cal-evento{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:8px;font-size:12px;line-height:1.25;cursor:pointer;border:1px solid transparent;transition:transform .08s ease, box-shadow .12s ease;background:var(--bg);color:var(--ink)}
.cal-evento:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(15,23,42,.08)}
.cal-evento--full{padding:10px 12px;gap:10px}
.cal-evento-emoji{font-size:14px;line-height:1}
.cal-evento--full .cal-evento-emoji{font-size:18px}
.cal-evento-titulo{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-evento-sub{font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-evento-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cal-evento-monto{font-weight:700;font-size:11.5px;color:var(--ink)}
.cal-evento-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.cal-evento-hora{font-size:11px;color:var(--ink2)}
.cal-evento-nombre{font-size:11px;color:var(--ink2);margin-left:4px}
.cal-evento-unidad{font-weight:600;font-size:12px;color:var(--ink2);margin-left:4px}
.cal-evento-mas{font-size:11px;color:var(--primary);text-align:center;padding:1px 0;cursor:pointer}
.cal-evento-mas a{color:inherit}

/* Estados (borde + opacidad) */
.cal-evento--pendiente{box-shadow:inset 0 0 0 2px var(--warning)}
.cal-evento--rechazado{opacity:.55;text-decoration:line-through}
.cal-evento--completado{opacity:.7}
.cal-evento--cancelado{opacity:.45;text-decoration:line-through}

/* Colores por tipo (fondo suave + borde) */
.cal-evento--pago-renta{background:#DBEAFE;border-color:#1D4ED8;color:#1E3A8A}
.cal-evento--pago-mora{background:#FEE2E2;border-color:#B91C1C;color:#7F1D1D}
.cal-evento--pago-plan{background:#FEF3C7;border-color:#B45309;color:#78350F}
.cal-evento--mantenimiento{background:#DCFCE7;border-color:#15803D;color:#14532D}
.cal-evento--cita{background:#EDE9FE;border-color:#6D28D9;color:#4C1D95}
.cal-evento--aviso-atraso{background:#FECACA;border-color:#991B1B;color:#7F1D1D}
.cal-evento--solicitud-plan-pendiente{background:#FEF3C7;border-color:#B45309;color:#78350F;text-decoration:underline;text-decoration-style:dashed}

/* Leyenda al pie */
.cal-leyenda{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink2)}
.cal-ley{display:inline-flex;align-items:center;gap:6px}
.cal-ley-dot{width:12px;height:12px;border-radius:4px;display:inline-block;border:1px solid var(--line)}
.cal-ley-dot.cal-evento--pago-renta{background:#DBEAFE;border-color:#1D4ED8}
.cal-ley-dot.cal-evento--pago-mora{background:#FEE2E2;border-color:#B91C1C}
.cal-ley-dot.cal-evento--pago-plan{background:#FEF3C7;border-color:#B45309}
.cal-ley-dot.cal-evento--mantenimiento{background:#DCFCE7;border-color:#15803D}
.cal-ley-dot.cal-evento--cita{background:#EDE9FE;border-color:#6D28D9}
.cal-ley-dot.cal-evento--aviso-atraso{background:#FECACA;border-color:#991B1B}
.cal-ley-dot.cal-evento--solicitud-plan-pendiente{background:#FEF3C7;border-color:#B45309}

/* Modal de detalle */
.kv-list{display:flex;flex-direction:column;gap:4px;margin:6px 0 0}
.kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv:last-child{border-bottom:0}
.kv .k{color:var(--ink2);font-weight:500}
.kv .v{color:var(--ink);font-weight:600;text-align:right}
.cal-historial{display:flex;flex-direction:column;gap:6px;padding:6px 0}
.cal-hist-line{padding:6px 8px;background:var(--bg);border-radius:6px;font-size:13px;color:var(--ink2)}

/* Responsive: en móvil la grilla se mantiene (7 columnas) pero las celdas
   son más bajas para que entre el mes en pantalla. */
@media (max-width:720px){
  .cal-celda{min-height:64px;padding:4px}
  .cal-evento{padding:2px 4px;font-size:11px}
  .cal-evento-titulo{font-size:11px}
  .cal-celda-num{font-size:10px}
}
