.agri-planner {
  --agri-green: #145c39;
  --agri-deep: #0d4028;
  --agri-soft: #eef6f0;
  --agri-yellow: #fff6c7;
  --agri-border: #d8e2da;
  --agri-text: #213329;
  color: var(--agri-text);
  max-width: 1180px;
  --agri-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --agri-font-size: 16px;
  --agri-heading-size: 32px;
  --agri-table-size: 14px;
  --agri-space: 16px;
  --agri-padding: 24px;
  --agri-radius: 16px;
  margin: var(--agri-space) auto;
  font-family: var(--agri-font-family);
  font-size: var(--agri-font-size);
  line-height: 1.55;
}

.agri-planner *,
.agri-planner *::before,
.agri-planner *::after { box-sizing: border-box; }

.agri-planner__header {
  padding: clamp(calc(var(--agri-padding) * 0.65), 4vw, calc(var(--agri-padding) * 1.6));
  color: #fff;
  background: linear-gradient(135deg, var(--agri-deep), var(--agri-green));
  border-radius: var(--agri-radius);
  margin-bottom: var(--agri-space);
}

.agri-planner__header h2 { color: #fff; margin: 0.2rem 0 0.5rem; font-size: clamp(1.25rem, 4vw, var(--agri-heading-size)); }
.agri-planner__header p { margin: 0; }
.agri-planner__eyebrow { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; font-weight: 700; opacity: 0.9; }

.agri-planner__section {
  margin: var(--agri-space) 0;
  padding: clamp(calc(var(--agri-padding) * 0.65), 3vw, var(--agri-padding));
  border: 1px solid var(--agri-border);
  border-radius: var(--agri-radius);
  background: #fff;
  min-width: 0;
}

.agri-planner fieldset.agri-planner__section { border: 1px solid var(--agri-border); }
.agri-planner legend { padding: 0 0.45rem; color: var(--agri-deep); font-weight: 800; font-size: 1.2rem; }
.agri-planner h3 { margin: 0 0 0.8rem; color: var(--agri-deep); font-size: 1.25rem; }

.agri-planner__input-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--agri-space);
}

.agri-planner__field { display: flex; flex-direction: column; gap: 0.25rem; font-weight: 650; }
.agri-planner__field--wide { grid-column: span 3; }
.agri-planner__field small { font-weight: 400; font-size: 0.82rem; opacity: 0.78; }
.agri-planner__field input,
.agri-budget-table input {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 1px solid #a9b8ad;
  border-radius: 8px;
  padding: 0.55rem 0.65rem;
  color: #172b20;
  background: var(--agri-yellow);
  font: inherit;
}

.agri-planner__field input:focus,
.agri-budget-table input:focus,
.agri-planner button:focus-visible,
.agri-planner summary:focus-visible,
.agri-planner__table-wrap:focus-visible {
  outline: 3px solid #f0c541;
  outline-offset: 2px;
}

.agri-planner__recommendation {
  margin-top: var(--agri-space);
  padding: var(--agri-padding);
  border-left: 5px solid #d4a817;
  background: #fffbea;
  border-radius: 8px;
}

.agri-planner__recommendation > strong { color: var(--agri-deep); }
.agri-recommendations { display: grid; gap: 0.15rem; margin: 0.4rem 0; }
.agri-recommendations p { margin: 0.1rem 0; }
.agri-planner__hint { margin: 0.5rem 0; font-size: 0.9rem; color: #465a4c; }

.agri-planner__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(var(--agri-space) * 0.75);
}

.agri-planner__summary > div {
  min-height: 96px;
  padding: var(--agri-padding);
  border-radius: var(--agri-radius);
  background: var(--agri-soft);
  border: 1px solid var(--agri-border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.4rem;
}

.agri-planner__summary span { font-size: 0.9rem; }
.agri-planner__summary strong { color: var(--agri-deep); font-size: clamp(1.15rem, 3vw, 1.5rem); overflow-wrap: anywhere; }
.agri-planner__table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--agri-border); border-radius: 10px; }
.agri-budget-table,
.agri-reference-table { width: 100%; border-collapse: collapse; }
.agri-budget-table { min-width: 1180px; }
.agri-reference-table { min-width: 900px; }
.agri-budget-table th,
.agri-budget-table td,
.agri-reference-table th,
.agri-reference-table td {
  padding: 0.55rem;
  border-bottom: 1px solid var(--agri-border);
  vertical-align: top;
  text-align: left;
  font-size: var(--agri-table-size);
}

.agri-budget-table thead th,
.agri-reference-table thead th { background: var(--agri-green); color: #fff; font-weight: 750; }
.agri-budget-table tbody tr:nth-child(even),
.agri-reference-table tbody tr:nth-child(even) { background: #f8fbf8; }
.agri-budget-table tbody th { min-width: 180px; font-weight: 650; }
.agri-budget-table tbody td:first-child { min-width: 90px; }
.agri-budget-table tbody td:nth-child(2) { min-width: 145px; }
.agri-budget-table tbody td:nth-child(4) { min-width: 75px; }
.agri-budget-table tbody td:nth-child(5),
.agri-budget-table tbody td:nth-child(6) { min-width: 112px; }
.agri-budget-table tbody td:nth-child(7) { min-width: 125px; font-weight: 750; white-space: nowrap; }
.agri-budget-table tbody td:last-child { min-width: 260px; }
.agri-budget-table tfoot th,
.agri-budget-table tfoot td { background: #e3f0e6; color: var(--agri-deep); font-weight: 800; }
.agri-budget-table tfoot td:nth-last-child(2) { white-space: nowrap; }
.agri-budget-table input { min-width: 100px; }

.agri-planner__reference details { border-radius: 10px; }
.agri-planner__reference summary { cursor: pointer; color: var(--agri-deep); font-weight: 800; font-size: 1.1rem; padding: 0.3rem 0; }
.agri-planner__warning { padding: 0.85rem; border-left: 4px solid #d4a817; background: #fffbea; }
.agri-planner__disclaimer { margin: var(--agri-space) 0; padding: var(--agri-padding); border: 1px solid #ead69d; border-radius: var(--agri-radius); background: #fffbea; font-size: 0.92rem; }
.agri-planner__actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--agri-space); margin: var(--agri-space) 0; }
.agri-planner__payment { background: #f7fbf8; }
.agri-payment-status { display: block; max-width: 520px; }
.agri-payment-phone { width: min(100%, 420px); min-height: 46px; padding: 0.65rem 0.75rem; border: 1px solid var(--agri-border); border-radius: 8px; font: inherit; }
.agri-button:disabled { opacity: 0.58; cursor: not-allowed; }
.agri-planner__privacy { max-width: 520px; color: #465a4c; font-size: 0.86rem; }
.agri-button { min-height: 46px; border-radius: calc(var(--agri-radius) * 0.55); border: 0; padding: 0.7rem 1rem; font: inherit; font-weight: 750; cursor: pointer; }
.agri-button--primary { background: var(--agri-green); color: #fff; }
.agri-button--primary:hover { background: var(--agri-deep); }
.agri-button--secondary { border: 1px solid #8ca695; background: #fff; color: var(--agri-deep); }
.agri-button--secondary:hover { background: var(--agri-soft); }
.agri-planner-error { padding: 1rem; border: 1px solid #b42318; color: #7a271a; background: #fff4f2; }

@media (max-width: 700px) {
  .agri-planner__input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agri-planner__field--wide { grid-column: span 2; }
  .agri-planner__summary { grid-template-columns: 1fr; }
  .agri-planner__summary > div { min-height: 78px; }
  .agri-planner__actions { align-items: stretch; flex-direction: column; }
  .agri-button--primary { width: 100%; }
}

@media (max-width: 420px) {
  .agri-planner__input-grid { grid-template-columns: 1fr; }
  .agri-planner__field--wide { grid-column: span 1; }
}
