/* R10D Final 1250_A — measured viewport rebalance.
   Evidence basis: five user screenshots at 100% zoom, 1858–1867 px wide and
   956–965 px high. The previous 1240_A remained vertically overcommitted.
   This file changes ONLY viewport/layout geometry. No business/API/RBAC/data logic. */

/* ---------- shared R3B geometry: measured desktop ---------- */
.r10d-vp-screen{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.r10d-vp-screen>.r3b-page-header{
  flex:0 0 auto!important;
  min-height:0!important;
  margin-bottom:6px!important;
}
.r10d-vp-screen>.r3b-page-header .r3b-eyebrow{margin:0 0 3px!important;font-size:10px!important}
.r10d-vp-screen>.r3b-page-header h1{font-size:25px!important;line-height:1.05!important}
.r10d-vp-screen>.r3b-page-header p:not(.r3b-eyebrow){margin:5px 0 0!important;font-size:12px!important;line-height:1.3!important}
.r10d-vp-screen>.r10b-scope-bar,
.r10d-vp-screen>.ag-shared-scope,
.r10d-vp-screen>.r3b-context-bar{
  flex:0 0 auto!important;
  min-height:40px!important;
  margin-bottom:6px!important;
}
.r10d-vp-screen>.r10b-scope-bar{padding-top:4px!important;padding-bottom:4px!important}
.r10d-vp-screen>.r3b-kpis{
  flex:0 0 auto!important;
  gap:8px!important;
  margin-bottom:7px!important;
}
.r10d-vp-screen>.r3b-kpis .r3b-kpi{
  min-height:72px!important;
  padding:8px 12px!important;
}
.r10d-vp-screen>.r3b-kpis .r3b-kpi span{font-size:11px!important}
.r10d-vp-screen>.r3b-kpis .r3b-kpi strong{font-size:20px!important;margin-top:2px!important}
.r10d-vp-screen>.r3b-kpis .r3b-kpi small{font-size:11px!important;margin-top:1px!important}
.r10d-vp-screen>.r3b-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
  gap:8px!important;
}
.r10d-vp-screen .r3b-card{min-height:0!important}
.r10d-vp-screen .r3b-card h2{margin-top:0!important;margin-bottom:5px!important;font-size:18px!important;line-height:1.15!important}
.r10d-vp-screen .r3b-card-copy{margin:4px 0 8px!important;font-size:11px!important;line-height:1.35!important}

/* Compact form geometry measured against the visible 1240_A truncation.
   Full left-side forms must fit without requiring page scroll. */
.r10d-vp-expenses .r3b-form,
.r10d-vp-interventions .r3b-form{
  gap:6px 10px!important;
}
.r10d-vp-expenses .r3b-form label,
.r10d-vp-interventions .r3b-form label,
.r10d-vp-expenses .r3b-combobox-field,
.r10d-vp-interventions .r3b-combobox-field{
  gap:3px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.r10d-vp-expenses .r3b-form input,
.r10d-vp-expenses .r3b-form select,
.r10d-vp-expenses .r3b-form textarea,
.r10d-vp-interventions .r3b-form input,
.r10d-vp-interventions .r3b-form select,
.r10d-vp-interventions .r3b-form textarea,
.r10d-vp-expenses .r3b-combobox-input,
.r10d-vp-interventions .r3b-combobox-input{
  min-height:38px!important;
  height:38px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
  font-size:12px!important;
}
.r10d-vp-expenses .r3b-form textarea,
.r10d-vp-interventions .r3b-form textarea{height:44px!important}
.r10d-vp-expenses .r3b-field-help,
.r10d-vp-interventions .r3b-field-help{
  font-size:9.5px!important;
  line-height:1.18!important;
  margin:0!important;
}
.r10d-vp-expenses .r3b-combobox-toggle,
.r10d-vp-interventions .r3b-combobox-toggle{width:34px!important;font-size:16px!important}
.r10d-vp-expenses .r3b-form-actions,
.r10d-vp-interventions .r3b-form-actions{margin-top:0!important;gap:7px!important}
.r10d-vp-expenses .r3b-form-actions button,
.r10d-vp-interventions .r3b-form-actions button{min-height:34px!important;padding:6px 12px!important}

/* ---------- GASTOS ---------- */
.r10d-vp-expenses>.r3b-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1fr)!important;
  height:auto!important;
}
.r10d-vp-expenses>.r3b-grid>.r3b-card{
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  padding:12px!important;
}
.r10d-vp-expenses>.r3b-grid>.r3b-card:first-child{
  overflow:visible!important;
}
.r10d-vp-expenses>.r3b-grid>.r3b-card:last-child{
  display:flex!important;
  flex-direction:column!important;
}
.r10d-vp-expenses>.r3b-grid>.r3b-card:last-child .r3b-table-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  scrollbar-gutter:stable!important;
}

/* ---------- INTERVENCIONES ----------
   1240_A showed only the first grid row. Preserve both top cards AND the
   "Mortalidad y bajas históricas" row inside the same viewport. */
.r10d-vp-interventions>.r3b-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1fr) 118px!important;
  height:auto!important;
  overflow:hidden!important;
}
.r10d-vp-interventions>.r3b-grid>.r3b-card{
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  padding:12px!important;
}
.r10d-vp-interventions>.r3b-grid>.r3b-card:nth-child(1){overflow:visible!important}
.r10d-vp-interventions>.r3b-grid>.r3b-card:nth-child(2),
.r10d-vp-interventions>.r3b-grid>.r3b-card:nth-child(3){
  display:flex!important;
  flex-direction:column!important;
}
.r10d-vp-interventions>.r3b-grid>.r3b-card:nth-child(2) .r3b-table-wrap,
.r10d-vp-interventions>.r3b-grid>.r3b-card:nth-child(3) .r3b-table-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  scrollbar-gutter:stable!important;
}

/* ---------- CONVENIO ----------
   Explicit two-row allocation: top agreement/rules + lower history/modification.
   No lower card is allowed to begin below the viewport edge. */
.r10d-vp-agreement>.r3b-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1.6fr) minmax(0,.9fr)!important;
  gap:8px!important;
  overflow:hidden!important;
}
.r10d-vp-agreement>.r3b-grid>.r3b-card{
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  padding:12px!important;
}
.r10d-vp-agreement .r3b-card-head{margin-bottom:7px!important}
.r10d-vp-agreement .r3b-summary-list{gap:3px!important}
.r10d-vp-agreement .r3b-summary-list>div{padding:5px 0!important}
.r10d-vp-agreement .r3b-agreement-actions{margin:7px 0!important;gap:7px!important}
.r10d-vp-agreement .r3b-agreement-actions>*{min-height:34px!important;padding:6px 12px!important}
.r10d-vp-agreement .r3b-acceptance-grid{gap:7px!important;margin-top:6px!important}
.r10d-vp-agreement .r3b-acceptance-grid article{padding:8px 10px!important;min-height:50px!important}
.r10d-vp-agreement>.r3b-grid>.r3b-card:nth-child(3),
.r10d-vp-agreement>.r3b-grid>.r3b-card:nth-child(4){
  overflow:auto!important;
  scrollbar-gutter:stable!important;
}

/* ---------- CONFIGURACIÓN ----------
   1240_A left the 8-card primary grid as 3 columns and pushed later sections below.
   The measured desktop has enough width for 4 columns. Eight cards therefore occupy
   exactly two rows, leaving room for both lower information sections. */
.r10d-vp-settings>.r3b-tabs{
  flex:0 0 auto!important;
  min-height:42px!important;
  margin-bottom:7px!important;
  padding:4px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin!important;
}
.r10d-vp-settings>.r3b-tabs button{
  padding:7px 10px!important;
  font-size:11px!important;
}
.r10d-vp-settings>.r3b-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.r10d-vp-settings>.r3b-grid{
  flex:0 0 224px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:hidden!important;
  padding:0!important;
}
.r10d-vp-settings>.r3b-grid>.r3b-settings-card{
  grid-column:span 1!important;
  height:108px!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 12px!important;
  overflow:hidden!important;
}
.r10d-vp-settings .r3b-settings-icon{
  width:31px!important;
  height:31px!important;
  border-radius:8px!important;
  font-size:16px!important;
  margin-bottom:5px!important;
}
.r10d-vp-settings>.r3b-grid>.r3b-settings-card h2{
  font-size:14px!important;
  margin:0 0 3px!important;
}
.r10d-vp-settings>.r3b-grid>.r3b-settings-card .r3b-card-copy{
  font-size:9.5px!important;
  line-height:1.2!important;
  margin:0 0 5px!important;
}
.r10d-vp-settings>.r3b-grid>.r3b-settings-card .r3b-badge{
  min-height:19px!important;
  padding:2px 7px!important;
  font-size:9px!important;
}
.r10d-vp-settings>section.r3b-card.span-12{
  flex:0 0 auto!important;
  min-height:0!important;
  margin-top:7px!important;
  padding:8px 10px!important;
  overflow:hidden!important;
}
.r10d-vp-settings>section.r3b-card.span-12:nth-of-type(3){
  min-height:82px!important;
}
.r10d-vp-settings>section.r3b-card.span-12:nth-of-type(4){
  min-height:72px!important;
}
.r10d-vp-settings>section.r3b-card.span-12 h2{
  font-size:14px!important;
  margin:0 0 2px!important;
}
.r10d-vp-settings>section.r3b-card.span-12 .r3b-card-copy{
  margin:0 0 5px!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}
.r10d-vp-settings>section.r3b-card.span-12 .r3b-header-actions{
  gap:4px!important;
  flex-wrap:wrap!important;
}
.r10d-vp-settings>section.r3b-card.span-12 .r3b-header-actions button{
  min-height:27px!important;
  padding:4px 8px!important;
  font-size:9px!important;
}
.r10d-vp-settings>section.r3b-card.span-12:last-child .r3b-summary-list{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
}
.r10d-vp-settings>section.r3b-card.span-12:last-child .r3b-summary-list>div{
  display:block!important;
  min-width:0!important;
  padding:4px 6px!important;
  border:1px solid #edf2ef!important;
  border-radius:7px!important;
}
.r10d-vp-settings>section.r3b-card.span-12:last-child .r3b-summary-list dt{
  font-size:8.5px!important;
}
.r10d-vp-settings>section.r3b-card.span-12:last-child .r3b-summary-list dd{
  margin-top:2px!important;
  font-size:10px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* ---------- REGISTRAR VENTA: preserve 1240_A containment ---------- */
.r10d-vp-sale-register>form#saleRegisterForm{
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
.r10d-vp-sale-register>form#saleRegisterForm>.r3b-grid{
  flex:1 1 auto!important;min-height:0!important;height:100%!important;
  overflow:hidden!important;align-items:stretch!important;
}
.r10d-vp-sale-register>form#saleRegisterForm>.r3b-grid>.r3b-card{
  min-height:0!important;max-height:100%!important;
}
.r10d-vp-sale-register>form#saleRegisterForm>.r3b-grid>.r3b-card:first-child{
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
}
.r10d-vp-sale-register .r3b-choice-list{
  flex:1 1 auto!important;min-height:0!important;max-height:none!important;
  overflow:auto!important;scrollbar-gutter:stable!important;padding-right:3px!important;
}
.r10d-vp-sale-register>form#saleRegisterForm>.r3b-grid>.r3b-card:last-child{
  overflow:auto!important;scrollbar-gutter:stable!important;
}

/* ---------- PORTAFOLIO: preserve 1240_A containment ---------- */
#r10-investor-approved.ag-portfolio-native .ag-dashboard{
  grid-template-rows:82px 164px minmax(156px,.9fr) minmax(152px,.84fr)!important;
  gap:7px!important;overflow:hidden!important;
}
#r10-investor-approved.ag-portfolio-native .ag-kpis{
  min-height:0!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:7px!important;
}
#r10-investor-approved.ag-portfolio-native .ag-kpi{min-height:0!important;padding:9px 12px!important}
#r10-investor-approved.ag-portfolio-native .ag-middle,
#r10-investor-approved.ag-portfolio-native .ag-bottom{
  min-height:0!important;overflow:hidden!important;gap:7px!important;
}
#r10-investor-approved.ag-portfolio-native .ag-middle>.ag-card,
#r10-investor-approved.ag-portfolio-native .ag-bottom>.ag-card{
  min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
#r10-investor-approved.ag-portfolio-native .ag-chart-area,
#r10-investor-approved.ag-portfolio-native .ag-pie-layout,
#r10-investor-approved.ag-portfolio-native .ag-table-wrap,
#r10-investor-approved.ag-portfolio-native .ag-risk-list{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;scrollbar-gutter:stable!important;
}

/* ---------- ANIMALES ----------
   1240_A did not touch this screen. Source CSS allocates:
   56 + 54 + 96 + minmax(300,1fr) + 250, plus four 10px gaps.
   That minimum vertical demand is 796px before the content-view padding, which is why
   the detail panel is visibly clipped in the supplied ~900px browser content viewport.
   Rebalance rows; keep the animal table itself as the internal scroll surface. */
@media (min-width:821px){
  #animalsContent.animals-view{
    padding:8px 12px 8px 14px!important;
    grid-template-rows:50px 46px 78px minmax(0,1fr) 236px!important;
    gap:7px!important;
    overflow:hidden!important;
  }
  #animalsContent .animals-heading{
    margin-bottom:0!important;
    min-height:0!important;
    align-items:start!important;
  }
  #animalsContent .animals-heading-copy h1{font-size:24px!important;line-height:27px!important}
  #animalsContent .animals-heading-copy p{margin-top:3px!important;font-size:11px!important}
  #animalsContent .animals-toolbar{
    min-height:0!important;
    gap:7px!important;
  }
  #animalsContent .animals-toolbar input,
  #animalsContent .animals-toolbar select,
  #animalsContent .animals-primary-action{
    height:34px!important;
    min-height:34px!important;
  }
  #animalsContent .animals-kpis{
    min-height:0!important;
    height:78px!important;
    gap:8px!important;
  }
  #animalsContent .animals-kpis>article{
    min-height:0!important;
    height:78px!important;
    padding:8px 10px!important;
  }
  #animalsContent .animals-kpis>article img{
    width:48px!important;
    height:48px!important;
  }
  #animalsContent .animals-list-panel{
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
    grid-template-rows:38px minmax(0,1fr) 34px!important;
  }
  #animalsContent .animals-list-header{padding:0 11px!important}
  #animalsContent .animals-table-wrap{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable!important;
  }
  #animalsContent .animals-table th,
  #animalsContent .animals-table td{
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  #animalsContent .animals-list-footer{min-height:34px!important;height:34px!important}
  #animalsContent .animal-detail-panel{
    min-height:0!important;
    height:236px!important;
    display:grid!important;
    grid-template-rows:52px 30px minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  #animalsContent .animal-detail-header{
    min-height:0!important;
    height:52px!important;
    padding:0 12px!important;
  }
  #animalsContent .animal-detail-tabs{
    min-height:0!important;
    height:30px!important;
    padding:0 12px!important;
    gap:20px!important;
  }
  #animalsContent .animal-detail-tabs strong,
  #animalsContent .animal-detail-tabs span{height:30px!important}
  #animalsContent .animal-detail-grid{
    min-height:0!important;
    height:100%!important;
    overflow:auto!important;
    scrollbar-gutter:stable!important;
    gap:14px!important;
    padding:8px 12px!important;
  }
  #animalsContent .animal-detail-grid h3{margin-bottom:5px!important}
  #animalsContent .animal-detail-grid dl{gap:5px 11px!important}
  #animalsContent .animal-quick-actions{gap:5px!important}
  #animalsContent .animal-quick-actions button{height:26px!important}
}

/* Use the compact desktop authority consistently around the observed viewport instead of
   the too-narrow 1240_A max-height:900 breakpoint. */
@media (min-width:821px) and (max-height:940px){
  .r10d-vp-screen>.r3b-page-header{margin-bottom:5px!important}
  .r10d-vp-screen>.r3b-kpis{margin-bottom:6px!important}
  .r10d-vp-screen>.r3b-kpis .r3b-kpi{min-height:68px!important;padding:7px 11px!important}
  .r10d-vp-interventions>.r3b-grid{grid-template-rows:minmax(0,1fr) 108px!important}
  .r10d-vp-settings>.r3b-grid{flex-basis:214px!important}
  .r10d-vp-settings>.r3b-grid>.r3b-settings-card{height:103px!important}
  #animalsContent.animals-view{
    grid-template-rows:48px 44px 74px minmax(0,1fr) 228px!important;
    gap:6px!important;
  }
  #animalsContent .animals-kpis,
  #animalsContent .animals-kpis>article{height:74px!important}
  #animalsContent .animal-detail-panel{height:228px!important}
}
