/* Dense monthly board; details retain provenance without repeating columns. */
.v2.ph-app #ph-portfolio{display:grid;grid-template-columns:1fr auto;gap:8px 16px}
.v2.ph-app .ph-portfolio-heading{display:flex;align-items:center;gap:16px}
.v2.ph-app .ph-portfolio-heading h1{font-size:var(--ph-text-xl);margin:0}
.v2.ph-app .ph-portfolio-heading p{font-size:var(--ph-text-xs);margin:4px 0 0}
.v2.ph-app #ph-portfolio .ph-flow-progress{margin:0;min-width:210px}
.v2.ph-app #ph-portfolio-progress{margin:0}
.v2.ph-app #ph-portfolio-progress strong{display:block;font-size:var(--ph-text-title);line-height:1.2;font-variant-numeric:tabular-nums}
.v2.ph-app #ph-portfolio-progress span{font-size:var(--ph-text-xs)}
.v2.ph-app #ph-portfolio progress{display:block;margin-top:4px;width:100%;height:6px;accent-color:var(--ph-good)}
.v2.ph-app #ph-portfolio>.ph-small{grid-column:1/-1;margin:0}
.v2.ph-app .ph-portfolio-sort{display:flex;gap:8px;align-items:center;grid-column:1/-1;min-width:0}
.v2.ph-app .ph-portfolio-sort :is(label,select){margin:0;font-size:var(--ph-text-xs)}
.v2.ph-app .ph-portfolio-sort select{width:auto;min-width:0}
.v2.ph-app .ph-portfolio-list{grid-column:1/-1;min-width:0}
.v2.ph-app .ph-portfolio-list table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--ph-text-xs)}
.v2.ph-app .ph-portfolio-list th:nth-child(1){width:18%}
.v2.ph-app .ph-portfolio-list th:nth-child(2){width:14%}
.v2.ph-app .ph-portfolio-list th:nth-child(3){width:9%}
.v2.ph-app .ph-portfolio-list th:nth-child(4){width:16%}
.v2.ph-app .ph-portfolio-list th:nth-child(5){width:8%}
.v2.ph-app .ph-portfolio-list th:nth-child(6){width:14%}
.v2.ph-app .ph-portfolio-list th:nth-child(7){width:15%}
.v2.ph-app .ph-portfolio-list th:nth-child(8){width:6%}
.v2.ph-app .ph-portfolio-list :is(th,td){padding:1px 5px;vertical-align:middle;border-bottom:1px solid var(--v2-border);height:48px;font-size:var(--ph-text-xs)}
.v2.ph-app .ph-portfolio-list th>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2.ph-app .ph-portfolio-list thead button{white-space:nowrap;border:0;background:transparent;text-align:left;padding:0;font-size:var(--ph-text-xs);min-height:44px}
.v2.ph-app .ph-sort-icon{width:14px;height:14px;flex:none}
.v2.ph-app [aria-sort=descending] .ph-sort-icon{transform:rotate(180deg)}
.v2.ph-app .ph-portfolio-row{height:48px;background:var(--v2-surface)}
.v2.ph-app .ph-portfolio-row .ph-badge{white-space:nowrap;font-size:var(--ph-text-xs);padding:3px 6px}
.v2.ph-app .ph-portfolio-row :is(button,.ph-age){white-space:nowrap}
.v2.ph-app .ph-portfolio-row button{min-height:44px;padding:4px 6px;font-size:var(--ph-text-xs);line-height:1.2}
.v2.ph-app .ph-portfolio-expand button{min-width:44px}
.v2.ph-app button.ph-close-primary{background:#246246;color:#fff;border-color:#246246}
.v2.ph-app button.ph-close-primary:hover{background:#194e36;color:#fff}
.v2.ph-app .ph-age.warn{color:var(--ph-warn);background:var(--ph-warn-bg)}
.v2.ph-app .ph-age.late{color:var(--ph-warn);background:var(--ph-warn-bg)}
.v2.ph-app .ph-age{display:inline-block;padding:4px;border-radius:4px}
.v2.ph-app .ph-portfolio-details[hidden]{display:none}
.v2.ph-app .ph-portfolio-details>td{height:auto;padding:12px 16px;background:var(--v2-soft)}
.v2.ph-app .ph-portfolio-details p{margin:0 0 8px}
.v2.ph-app .ph-portfolio-switcher{position:relative;flex:1;min-width:0}
.v2.ph-app .ph-portfolio-switcher input{width:100%;margin:4px 0 0;min-height:44px;font-size:var(--ph-text-sm);text-overflow:ellipsis}
.v2.ph-app #ph-building-results{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--v2-surface);border:1px solid var(--v2-control);border-radius:8px;box-shadow:var(--v2-shadow);max-height:300px;overflow-y:auto;padding:6px}
.v2.ph-app #ph-building-results[hidden]{display:none}
.v2.ph-app #ph-building-results button{display:block;text-align:left;width:100%;border:0;white-space:normal;overflow-wrap:anywhere}
.v2.ph-app #ph-building-results [aria-selected=true]{background:var(--v2-soft)}
.v2.ph-app #ph-building-results p{font-size:var(--ph-text-xs);padding:8px}
.v2.ph-app .ph-portfolio-manage{margin-top:28px}
.v2.ph-app #ph-portfolio-month{max-width:210px;margin:0;min-width:0}
@media(min-width:901px){
  .v2.ph-app .ph-portfolio-sort{display:none}
}
@media(max-width:900px){
  .v2.ph-app #ph-portfolio{grid-template-columns:1fr}
  .v2.ph-app .ph-portfolio-priority{display:none}
  .v2.ph-app #ph-portfolio .ph-flow-progress{min-width:0}
  .v2.ph-app .ph-portfolio-sort{flex-wrap:wrap}
  .v2.ph-app .ph-portfolio-sort select{flex:1;max-width:100%}
  .v2.ph-app .ph-portfolio-list :is(table,tbody){display:block;width:100%;min-width:0}
  .v2.ph-app .ph-portfolio-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .v2.ph-app .ph-portfolio-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;height:auto;padding:8px 0;border-bottom:1px solid var(--v2-border)}
  .v2.ph-app .ph-portfolio-row :is(th,td){display:block;width:auto!important;height:auto;border:0;padding:0 4px;font-size:var(--ph-text-xs)}
  .v2.ph-app .ph-portfolio-row th{grid-column:1;font-size:var(--ph-text-sm)}
  .v2.ph-app .ph-portfolio-row td:nth-child(2){grid-column:2;grid-row:1}
  .v2.ph-app .ph-portfolio-row td:nth-child(3){grid-column:1;grid-row:2}
  .v2.ph-app .ph-portfolio-row td:nth-child(3)::before{content:'Pendientes: ';color:var(--v2-muted)}
  .v2.ph-app .ph-portfolio-row td:nth-child(4){grid-column:1/-1}
  .v2.ph-app .ph-portfolio-row td:nth-child(4)::before{content:'Con motivo: ';color:var(--v2-muted)}
  .v2.ph-app .ph-portfolio-row td:nth-child(5){grid-column:2;grid-row:2;text-align:right}
  .v2.ph-app .ph-portfolio-row td:nth-child(6){grid-column:1/-1}
  .v2.ph-app .ph-portfolio-row td:nth-child(6)::before{content:'Último cierre: ';color:var(--v2-muted)}
  .v2.ph-app .ph-portfolio-action{grid-column:1}
  .v2.ph-app .ph-portfolio-expand{grid-column:2;justify-self:end}
  .v2.ph-app .ph-portfolio-details{display:block}
  .v2.ph-app .ph-portfolio-details>td{display:block;width:auto!important}
  .v2.ph-app .ph-portfolio-switcher input{font-size:var(--ph-text-xs)}
  .v2.ph-app #ph-portfolio-month{width:100%;font-size:var(--ph-text-xs);padding:8px}
}
