/* Recomendaciones compactas: resultado en L y L/ha y detalle operativo por bloque. */
#purchaseDialog:has(.frec-compact-dialog) {
  width:min(920px,calc(100vw - 24px));
  max-width:min(920px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  padding:0;
  overflow:hidden;
  border-radius:14px;
}
#purchaseDialog .frec-compact-dialog,
#purchaseDialog .frec-compact-dialog * { box-sizing:border-box; }
#purchaseDialog .frec-compact-dialog {
  display:flex;
  flex-direction:column;
  width:100%;
  height:min(89dvh,850px);
  max-height:calc(100dvh - 24px);
  min-height:0;
  gap:0;
  padding:0;
  overflow:hidden;
  background:#f8faf9;
  color:#214332;
}
.frec-compact-dialog .frec-compact-head {
  position:relative;
  flex:0 0 auto;
  margin:0;
  padding:16px 20px;
  display:flex;
  align-items:center;
  border-bottom:1px solid #dbe9e0;
  background:#fff;
}
.frec-compact-head > div { min-width:0; }
.frec-compact-head h2 { margin:0 0 4px; color:#154b32; font-size:1.16rem; line-height:1.25; overflow-wrap:anywhere; }
.frec-compact-head p { margin:0; font-size:.79rem; color:#637a6b; }
.frec-compact-head .icon-button {
  flex:0 0 34px;
  border-radius:9px;
  min-height:34px;
  color:#245e3e;
  background:#eff6f1;
  border:1px solid #d7e6dc;
  font-size:1.15rem;
}
.frec-compact-dialog .frec-compact-content {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  display:grid;
  align-content:start;
  gap:11px;
  padding:15px 19px 20px;
}
.frec-compact-hero {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:17px;
  border:1px solid #175d3e;
  border-radius:12px;
  background:#16573a;
}
.frec-compact-hero > div { min-width:0; display:grid; align-content:center; gap:3px; }
.frec-compact-hero > div + div { border-left:1px solid #5b9880; padding-left:18px; }
.frec-compact-hero small { color:#d8eee0; font-weight:650; font-size:.75rem; }
.frec-compact-hero strong {
  color:#fff;
  font-size:clamp(1.65rem,4vw,2.45rem);
  line-height:1.15;
  font-weight:850;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
.frec-compact-level {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 14px;
  border:1px solid #dde9e1;
  border-radius:9px;
  background:#fff;
  padding:11px 14px;
  font-size:.77rem;
  color:#557262;
}
.frec-compact-level strong { font-size:.88rem; color:#22583c; font-variant-numeric:tabular-nums; }
.frec-compact-warning {
  padding:10px 12px;
  border:1px solid #f2d3a4;
  border-left:3px solid #c28a33;
  border-radius:8px;
  background:#fff7eb;
  color:#795022;
  font-size:.76rem;
  line-height:1.5;
}
.frec-compact-budget {
  padding:11px 14px;
  border:1px solid #dce9e0;
  border-radius:9px;
  background:#fff;
  display:grid;
  gap:9px;
}
.frec-compact-budget-title { display:flex; justify-content:space-between; gap:8px; align-items:center; flex-wrap:wrap; }
.frec-compact-budget-title strong { color:#28533d; font-size:.85rem; }
.frec-compact-budget-title small { color:#728479; font-size:.71rem; }
.frec-compact-budget-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.frec-compact-budget-values span {
  min-width:0;
  display:grid;
  gap:3px;
  border-radius:6px;
  padding:8px 10px;
  background:#f2f8f4;
  color:#658075;
  font-size:.7rem;
}
.frec-compact-budget-values b { color:#245b3c; font-size:.96rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.frec-compact-fields {
  min-width:0;
  display:grid;
  gap:10px;
}
.frec-compact-section-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.frec-compact-section-head h3 { margin:0; font-size:.97rem; color:#215538; }
.frec-compact-section-head > span { color:#758879; font-size:.72rem; }
.frec-compact-potrero {
  overflow:hidden;
  border:1px solid #d7e6da;
  border-radius:10px;
  background:#fff;
}
.frec-compact-potrero-head {
  padding:10px 14px;
  background:#eaf5ec;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.frec-compact-potrero-head h4 { margin:0 0 3px; color:#23553c; font-size:.9rem; }
.frec-compact-potrero-head small { color:#648170; font-size:.71rem; }
.frec-compact-potrero-head > div:last-child { display:grid; text-align:right; gap:2px; }
.frec-compact-potrero-head strong { font-size:1.02rem; color:#16633b; font-variant-numeric:tabular-nums; }
.frec-compact-blocks { padding:5px 11px 10px; display:grid; }
.frec-compact-block {
  display:grid;
  grid-template-columns:minmax(150px,1.5fr) minmax(115px,.7fr) minmax(120px,.7fr);
  align-items:center;
  gap:10px;
  padding:11px 6px;
  border-bottom:1px solid #e5eee8;
}
.frec-compact-block:last-child { border-bottom:0; }
.frec-compact-block-name { display:grid; gap:3px; min-width:0; }
.frec-compact-block-name strong { color:#234d38; font-size:.81rem; }
.frec-compact-block-name small { color:#708275; font-size:.7rem; overflow-wrap:anywhere; }
.frec-compact-block-name em { color:#a06d2d; font-size:.68rem; font-style:normal; font-weight:700; overflow-wrap:anywhere; }
.frec-compact-block.is-allowed .frec-compact-block-name em { color:#39774d; }
.frec-compact-block-value { display:grid; gap:3px; min-width:0; }
.frec-compact-block-value small { font-size:.68rem; color:#7a8a7e; }
.frec-compact-block-value strong { font-size:1.07rem; color:#14633e; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.frec-compact-block.is-limited .frec-compact-block-value strong { color:#866c48; }
.frec-compact-empty { margin:0; padding:14px; color:#6f8177; font-size:.78rem; }
.frec-compact-footnote { margin:0; font-size:.71rem; line-height:1.5; color:#6a8172; }
.frec-compact-dialog .frec-compact-footer {
  position:relative;
  flex:0 0 auto;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  background:#fff;
  border-top:1px solid #dce9e0;
  padding:10px 18px;
}
.frec-compact-dialog .frec-compact-footer button { min-height:38px; min-width:105px; }
.frec-compact-back { padding:0 0 8px; background:none; border:0; color:#2d7852; font-size:.75rem; cursor:pointer; font-weight:800; }
.frec-compact-dialog button:focus-visible { outline:2px solid #64a37d; outline-offset:2px; }
@media (max-width:640px) {
  #purchaseDialog:has(.frec-compact-dialog) {
    width:calc(100vw - 14px)!important;
    max-width:calc(100vw - 14px)!important;
    max-height:calc(100dvh - 14px)!important;
  }
  #purchaseDialog .frec-compact-dialog {
    width:100%!important;
    max-height:calc(100dvh - 14px)!important;
    height:calc(100dvh - 14px);
    overflow:hidden!important;
    padding:0!important;
  }
  .frec-compact-dialog .frec-compact-head { margin:0; padding:13px 14px; }
  .frec-compact-dialog .frec-compact-content { padding:12px 13px 17px; overflow-y:auto!important; }
  .frec-compact-hero { padding:14px 12px; gap:6px; }
  .frec-compact-hero > div + div { padding-left:10px; }
  .frec-compact-hero strong { font-size:clamp(1.3rem,6vw,1.9rem); }
  .frec-compact-budget-values { gap:5px; }
  .frec-compact-budget-values span { padding:7px; }
  .frec-compact-budget-values b { font-size:.79rem; }
  .frec-compact-block { grid-template-columns:minmax(0,1.3fr) minmax(78px,.8fr) minmax(78px,.8fr); gap:6px; }
  .frec-compact-block-value strong { font-size:.85rem; }
  .frec-compact-dialog .frec-compact-footer { padding:9px 12px; }
}
@media (max-width:365px) {
  .frec-compact-block { grid-template-columns:minmax(0,1fr) minmax(72px,.68fr) minmax(75px,.75fr); gap:4px; }
  .frec-compact-hero strong { font-size:1.32rem; }
  .frec-compact-potrero-head { flex-wrap:wrap; }
  .frec-compact-blocks { padding-inline:7px; }
}
