.fert-transfer-program .section-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.fert-transfer-filters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.fert-transfer-filters label{display:grid;gap:5px;flex:1 1 170px;min-width:0;font-weight:700}
.fert-transfer-filters select{width:100%;min-height:36px}
.fert-transfer-note{font-size:11px;line-height:1.35;color:#52685c}
.fert-transfer-totals{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.fert-transfer-totals>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;border:1px solid #d7e4dc;background:#f4faf6;padding:8px;border-radius:7px}
/* Matriz compacta inspirada en Fertilizante Análisis: dos columnas por producto. */
.fert-transfer-matrix{width:100%;min-width:0;max-width:100%}
.fert-transfer-program-table{width:100%;min-width:0;max-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border-radius:0;font-size:clamp(9px,.72vw,11px);color:#214030}
.fert-transfer-program-table .fert-transfer-caseta-col{width:66px}
.fert-transfer-program-table .fert-transfer-month-col{width:70px}
.fert-transfer-program-table :is(th,td){box-sizing:border-box;min-width:0;padding:3px 1px;border-right:1px solid #cbded1;border-bottom:1px solid #dce7df;line-height:1.15;text-align:center;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;text-transform:none}
.fert-transfer-program-table .fert-transfer-axis,.fert-transfer-program-table .fert-transfer-band{background:#1e5840;color:#fff;font-weight:850;padding:5px 2px}
.fert-transfer-program-table .fert-transfer-product-head{font-size:clamp(9px,.7vw,11px);font-weight:850;padding:5px 2px}
.fert-transfer-product-head small{display:block;font-size:9px;font-weight:500;margin-top:3px}
.fert-transfer-program-table .tone-0{--real:#e3f2e8;--prog:#f3f9f5}
.fert-transfer-program-table .tone-1{--real:#e1eef5;--prog:#f2f7fa}
.fert-transfer-program-table .tone-2{--real:#f5edd9;--prog:#fcf8ef}
.fert-transfer-program-table .tone-3{--real:#eee6f5;--prog:#f8f4fb}
.fert-transfer-program-table .fert-transfer-real,.fert-transfer-program-table .fert-transfer-product-head{background:var(--real);color:#204633}
.fert-transfer-program-table .fert-transfer-prog{background:var(--prog);border-right:2px solid #a8c7b4}
.fert-transfer-program-table .fert-transfer-value{padding:5px 1px}
.fert-transfer-program-table .fert-transfer-real{font-weight:750}
.fert-transfer-program-table thead tr:last-child th{font-size:clamp(8px,.65vw,10px);padding:3px 0}
.fert-transfer-program-table .fert-transfer-caseta{background:#e2efe6;font-size:11px;font-weight:850;vertical-align:middle}
.fert-transfer-program-table .fert-transfer-month{background:#f3f7f4;font-size:10px;font-weight:550;text-align:left;padding:5px 3px}
.fert-transfer-program-table tbody+tbody tr:first-child>*{border-top:2px solid #81aa91}
.fert-transfer-program-table tr.is-current-month>.fert-transfer-month{color:#000;font-weight:900;background:#e4e8e5;border-left:3px solid #000}
.fert-transfer-program-table tr.is-current-month>.fert-transfer-value{border-top:1px solid #222;border-bottom:1px solid #222}
.fert-transfer-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){
 .fert-transfer-program-table,.fert-transfer-program-table tbody{display:block;width:100%}
 .fert-transfer-program-table :is(colgroup,thead){display:none}
 .fert-transfer-program-table .fert-transfer-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:6px 0;border:1px solid #c8ddd0;border-radius:5px;overflow:hidden}
 .fert-transfer-row::before{content:attr(data-caseta) " · " attr(data-month);grid-column:1/-1;background:#e2efe6;padding:6px;font-size:12px;font-weight:750}
 .fert-transfer-row.is-current-month::before{color:#000;font-weight:900;border-left:3px solid #000}
 .fert-transfer-program-table :is(.fert-transfer-caseta,.fert-transfer-month){display:none}
 .fert-transfer-program-table .fert-transfer-value{display:block;padding:6px 3px;font-size:12px}
 .fert-transfer-value::before{content:attr(data-measure);display:block;font-size:10px;font-weight:600;margin-bottom:4px}
 .fert-transfer-value.fert-transfer-real::before{content:attr(data-product) " · Real"}
}
@media(max-width:600px){.fert-transfer-program .section-head{align-items:flex-start}.fert-transfer-filters label{flex-basis:140px}.fert-transfer-totals>div{width:100%}}

/* v5: filtro mensual/acumulado compacto y más altura para la matriz. */
.fert-transfer-program{padding:10px 12px!important;}
.fert-transfer-program .section-head{gap:6px;align-items:center;flex-wrap:wrap}
.fert-transfer-program .section-head h2{font-size:1.06rem;margin:0}
.fert-transfer-program .section-head p{margin:1px 0 0;font-size:.7rem;line-height:1.15}
.fert-transfer-program .section-head .secondary-button{min-height:29px;padding:4px 9px;font-size:.72rem}
.fert-transfer-filters{display:flex;align-items:end;justify-content:flex-start;gap:5px 8px;margin:5px 0!important}
.fert-transfer-filters label{display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0;font-size:.70rem;line-height:1.1}
.fert-transfer-filters select{width:min(185px,25vw);height:28px;min-height:28px;padding:3px 5px;font-size:.73rem;line-height:1.1;border-radius:5px}
.fert-transfer-mode{display:inline-flex;align-items:center;gap:2px;padding:2px;background:#eaf3ed;border:1px solid #b8cfc0;border-radius:6px;flex:0 0 auto}
.fert-transfer-mode button{height:27px;min-height:27px;min-width:82px;padding:3px 9px;border:1px solid transparent;background:transparent;color:#214331;border-radius:4px;cursor:pointer;font-size:.72rem;font-weight:850}
.fert-transfer-mode button.active{background:#1c6947;color:#fff;border-color:#1c6947}
.fert-transfer-mode button:focus-visible{outline:2px solid #246cc1;outline-offset:2px}
.fert-transfer-help{margin:1px 0;font-size:.68rem;color:#52685c}
.fert-transfer-help summary{cursor:pointer;display:inline-block;font-weight:750}
.fert-transfer-help p{margin:3px 0;font-size:.67rem}
.fert-transfer-totals{gap:4px;margin:4px 0!important}
.fert-transfer-totals>div{gap:3px 9px;padding:4px 7px;font-size:.68rem;border-radius:5px}
.fert-transfer-totals>div strong{color:#194e35}
.fert-transfer-program-table{font-size:clamp(9px,.7vw,11px)}
.fert-transfer-program-table .fert-transfer-value{padding:3px 1px}
@media(max-width:760px){
 .fert-transfer-program{padding:7px!important}
 .fert-transfer-filters{align-items:center;flex-wrap:wrap}
 .fert-transfer-filters label{flex:1 1 130px;justify-content:space-between}
 .fert-transfer-filters select{width:min(100%,150px)}
 .fert-transfer-mode{flex:0 0 auto}
 .fert-transfer-mode button{min-width:72px}
 .fert-transfer-totals>div{width:100%}
}

/* v6: casetas plegables y tres métricas independientes por producto. */
.fert-transfer-matrix {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid #c7dcd2;
  border-radius: 8px;
}
.fert-transfer-program-table {
  min-width: var(--fert-table-width, 850px);
  border-collapse: separate;
}
.fert-transfer-program-table .fert-transfer-caseta-col { width: 118px; }
.fert-transfer-program-table .fert-transfer-month-col { width: 91px; }
.fert-transfer-program-table .fert-transfer-diff {
  background: #f1f5f8;
  border-right: 2px solid #b4c5d5;
  color: #24465f;
  font-weight: 800;
}
.fert-transfer-program-table .fert-transfer-diff.is-excess { background: #fff0db; color: #96520b; }
.fert-transfer-program-table .fert-transfer-diff.is-missing { background: #fbe9e8; color: #af2934; }
.fert-transfer-program-table .fert-transfer-diff.is-balanced { background: #e6f5ec; color: #146c42; }
.fert-transfer-program-table .fert-transfer-diff.is-unplanned { background: #eff2f5; color: #697986; }
.fert-transfer-program-table .fert-transfer-summary-row > * {
  border-top: 2px solid #729a88;
  border-bottom: 2px solid #729a88;
}
.fert-transfer-program-table .fert-transfer-summary-row .fert-transfer-month {
  background: #e5f0ea;
  color: #174731;
  font-weight: 850;
}
.fert-transfer-program-table .fert-transfer-summary-row .fert-transfer-value { font-weight: 850; }
.fert-transfer-program-table .fert-transfer-caseta {
  padding: 2px 4px;
  background: #e2efe6;
  text-align: left;
  vertical-align: middle;
}
.fert-transfer-caseta-toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  min-height: 31px;
  padding: 2px 3px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #12422c;
  text-align: left;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.fert-transfer-caseta-toggle:hover { background: #cfe5d6; }
.fert-transfer-caseta-toggle:focus-visible { outline: 2px solid #1f70b9; outline-offset: 2px; }
.fert-transfer-expand-icon {
  display: inline-flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid #80b59b;
  border-radius: 5px;
  background: #fff;
  color: #116746;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
}
.fert-transfer-caseta-toggle[aria-expanded="true"] .fert-transfer-expand-icon {
  background: #176b4a;
  color: #fff;
}
.fert-transfer-program-table .fert-transfer-caseta-spacer { background: #f4f8f5; }
.fert-transfer-program-table .fert-transfer-summary-tbody + .fert-transfer-detail-tbody tr:first-child > * {
  border-top: 0;
}
.fert-transfer-program-table tbody[hidden] { display: none !important; }
@media (max-width:1000px) {
  .fert-transfer-matrix { overflow-x: hidden; }
  .fert-transfer-program-table { min-width: 0; }
  .fert-transfer-program-table .fert-transfer-row {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .fert-transfer-program-table .fert-transfer-row::before {
    grid-column: 1/-1;
  }
  .fert-transfer-program-table .fert-transfer-summary-row::before { display: none; }
  .fert-transfer-program-table .fert-transfer-summary-row .fert-transfer-caseta {
    display: block;
    grid-column: 1/-1;
    border-bottom: 1px solid #bdd5c6;
  }
  .fert-transfer-program-table .fert-transfer-summary-row .fert-transfer-month {
    display: block;
    grid-column: 1/-1;
    padding: 6px;
  }
  .fert-transfer-program-table .fert-transfer-caseta-spacer { display: none; }
  .fert-transfer-program-table .fert-transfer-value {
    font-size: 11px;
    overflow-wrap: anywhere;
  }
  .fert-transfer-value::before {
    content: attr(data-product) " · " attr(data-measure) !important;
    display: block;
    font-size: 9px;
    font-weight: 700;
    min-height: 22px;
    margin-bottom: 3px;
  }
}


/* v7: matriz fluida sin scroll horizontal; cada producto conserva Real / Prog. / Dif.
   Los productos se distribuyen en más filas cuando faltan píxeles en pantalla. */
.fert-transfer-program,
.fert-transfer-program .fert-transfer-matrix {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.fert-transfer-program .fert-transfer-matrix.fert-transfer-wrapped {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  border: 0;
  display: grid;
  gap: 7px;
}
.fert-transfer-caseta-group {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  padding: 5px;
  border: 1px solid #bfd8c9;
  background: #ffffff;
  border-radius: 7px;
}
.fert-transfer-caseta-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  min-width: 0;
  margin-bottom: 4px;
  padding: 2px 5px;
  border-radius: 5px;
  background: #e2efe6;
}
.fert-transfer-caseta-header .fert-transfer-caseta-toggle {
  width: auto;
  max-width: 100%;
  min-width: 0;
  font-size: 11px;
}
.fert-transfer-period-label {
  flex: 0 0 auto;
  color: #396850;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}
.fert-transfer-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 142px), 1fr));
  gap: 4px;
  min-width: 0;
  width: 100%;
}
.fert-transfer-product-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  padding: 3px;
  border: 1px solid #d1e1d8;
  border-radius: 4px;
  background: #f9fbfa;
}
.fert-transfer-product-name {
  flex: 1;
  min-width: 0;
  margin-bottom: 3px;
  line-height: 1.15;
  min-height: 23px;
  font-size: 10px;
  font-weight: 850;
  color: #183e2c;
  overflow-wrap: anywhere;
}
.fert-transfer-product-name small {
  color: #537366;
  font-size: 8px;
  font-weight: 700;
  white-space: nowrap;
}
.fert-transfer-product-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: 1px;
}
.fert-transfer-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 2px 1px;
  text-align: center;
  background: #eff7f3;
  border-radius: 2px;
  font-variant-numeric: tabular-nums;
}
.fert-transfer-metric small {
  color: #496a58;
  line-height: 1;
  font-size: 8px;
  font-weight: 700;
}
.fert-transfer-metric strong {
  color: #1e4635;
  line-height: 1.15;
  font-size: clamp(9px, .65vw, 11px);
  font-weight: 850;
  overflow-wrap: anywhere;
  word-break: normal;
}
.fert-transfer-metric.fert-transfer-prog {background: #e9f2f8}
.fert-transfer-metric.fert-transfer-diff {background: #f0f3f6}
.fert-transfer-metric.fert-transfer-diff.is-missing {background:#fbe9e8}
.fert-transfer-metric.fert-transfer-diff.is-missing strong {color:#ac2935}
.fert-transfer-metric.fert-transfer-diff.is-excess {background:#fff0db}
.fert-transfer-metric.fert-transfer-diff.is-excess strong {color:#935018}
.fert-transfer-metric.fert-transfer-diff.is-balanced {background:#e5f5ea}
.fert-transfer-metric.fert-transfer-diff.is-balanced strong {color:#126b42}
.fert-transfer-caseta-details[hidden] {display:none !important}
.fert-transfer-caseta-details {
  display: grid;
  gap: 5px;
  margin-top: 6px;
  padding: 5px 3px 2px;
  border-top: 1px dashed #b5ccbf;
}
.fert-transfer-month-detail {
  min-width: 0;
  border-radius: 4px;
  background: #fafcfb;
  padding: 4px;
}
.fert-transfer-month-detail.is-current-month {background: #f0f8f2}
.fert-transfer-month-detail h4 {
  margin: 0 0 4px;
  color: #24563d;
  font-size: 10px;
  font-weight: 800;
}
@media(max-width:600px) {
  .fert-transfer-products-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));}
  .fert-transfer-caseta-header {flex-wrap:wrap}
  .fert-transfer-period-label {padding-left:3px}
  .fert-transfer-metric strong {font-size:10px}
}
