.efmk-panel,.efmk-harvest-list{max-width:1180px;margin:24px auto;padding:24px;border:1px solid #e2e9e3;border-radius:12px;background:#fff;color:#26352b}
.efmk-panel h2,.efmk-harvest-list h2{margin-top:0;color:#185b36}
.efmk-panel form{margin:16px 0}
.efmk-panel label{display:inline-block;margin:6px 12px 6px 0}
.efmk-panel input,.efmk-panel select,.efmk-panel textarea{max-width:100%;padding:9px 12px;border:1px solid #cbd6cd;border-radius:6px}
.efmk-panel button,.efmk-panel [type=submit],.efmk-harvest-list .button{display:inline-block;padding:10px 18px;border:0;border-radius:7px;background:#185b36;color:#fff;cursor:pointer;text-decoration:none}
.efmk-inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.efmk-inline-form label{display:flex;flex-direction:column;gap:5px}
.efmk-input-result{margin:16px 0;padding:16px;border:1px solid #e1e7e2;border-radius:8px}
.efmk-alert{padding:12px;background:#fff5e2;border-left:4px solid #d68d12}
.efmk-success{padding:12px;background:#e9f6eb;color:#185b36}
.efmk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.efmk-card{padding:14px;border:1px solid #e2e9e3;border-radius:10px}
.efmk-card img{display:block;width:100%;height:190px;object-fit:contain;background:#fafcf9}
.efmk-card h3{margin:12px 0 6px}
.efmk-card p{margin:8px 0}
.efmk-price-note{display:block;font-size:12px}
.efmk-cycle-summary{padding:16px;margin:18px 0;background:#f4f8f3;border-radius:8px}
.efmk-offline-status{margin:12px 0;color:#185b36}
@media(max-width:600px){.efmk-panel,.efmk-harvest-list{margin:12px;padding:16px}.efmk-grid{grid-template-columns:1fr 1fr}.efmk-card img{height:140px}}

/* Consistent field layout for Ecofarm frontend forms. */
.efmk-panel form:not(.efmk-inline-form) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 20px;
  align-items: start;
}
.efmk-panel form:not(.efmk-inline-form) > p {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  min-width: 0;
  margin: 0;
}
.efmk-panel form:not(.efmk-inline-form) > p > label,
.efmk-panel form:not(.efmk-inline-form) > label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  color: #26352b;
  font-weight: 600;
  line-height: 1.4;
}
.efmk-panel form:not(.efmk-inline-form) label br {
  display: none;
}
.efmk-panel form:not(.efmk-inline-form) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.efmk-panel form:not(.efmk-inline-form) select,
.efmk-panel form:not(.efmk-inline-form) textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #cbd6cd;
  border-radius: 7px;
  background: #fff;
  color: #26352b;
  font: inherit;
  font-weight: 400;
}
.efmk-panel form:not(.efmk-inline-form) textarea {
  min-height: 110px;
  resize: vertical;
}
.efmk-panel form:not(.efmk-inline-form) input[type="checkbox"],
.efmk-panel form:not(.efmk-inline-form) input[type="radio"] {
  width: auto;
  min-height: 0;
  accent-color: #185b36;
}
.efmk-panel form:not(.efmk-inline-form) label:has(> input[type="checkbox"]),
.efmk-panel form:not(.efmk-inline-form) label:has(> input[type="radio"]) {
  flex-direction: row;
  align-items: center;
  font-weight: 400;
}
.efmk-panel form:not(.efmk-inline-form) > p:has(textarea),
.efmk-panel form:not(.efmk-inline-form) > p:has(input[type="hidden"]),
.efmk-panel form:not(.efmk-inline-form) > p:has(button),
.efmk-panel form:not(.efmk-inline-form) > p:has([type="submit"]),
.efmk-panel form:not(.efmk-inline-form) > button,
.efmk-panel form:not(.efmk-inline-form) > [type="submit"] {
  grid-column: 1 / -1;
}
.efmk-panel form:not(.efmk-inline-form) > button,
.efmk-panel form:not(.efmk-inline-form) > [type="submit"] {
  justify-self: start;
}
.efmk-panel form:not(.efmk-inline-form) input:focus,
.efmk-panel form:not(.efmk-inline-form) select:focus,
.efmk-panel form:not(.efmk-inline-form) textarea:focus,
.efmk-inline-form input:focus,
.efmk-inline-form select:focus {
  border-color: #185b36;
  outline: 3px solid rgba(24, 91, 54, .14);
  outline-offset: 1px;
}
.efmk-inline-form {
  gap: 16px;
}
.efmk-inline-form label {
  min-width: min(220px, 100%);
  flex: 1 1 220px;
}
.efmk-inline-form select,
.efmk-inline-form input {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
@media (max-width: 700px) {
  .efmk-panel form:not(.efmk-inline-form),
  .efmk-panel form:not(.efmk-inline-form) > p {
    grid-template-columns: minmax(0, 1fr);
  }
  .efmk-panel form:not(.efmk-inline-form) > p,
  .efmk-panel form:not(.efmk-inline-form) > button,
  .efmk-panel form:not(.efmk-inline-form) > [type="submit"] {
    grid-column: 1 / -1;
  }
}

/* A single field should use the full width of its form column. */
.efmk-panel form:not(.efmk-inline-form) > p {
  display: block;
}
.efmk-panel form:not(.efmk-inline-form) > p:has(> label + label) {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}
@media (max-width: 700px) {
  .efmk-panel form:not(.efmk-inline-form) > p:has(> label + label) {
    grid-template-columns: minmax(0, 1fr);
  }
}
