body {
  font-family: 'Poppins', sans-serif;
  background: #f9f9f9;
  color: #333;
  line-height: 1.6;
}

section {
  padding: 40px 20px;
  max-width: 900px;
  margin: auto;
}

h1, h2 {
  color: #80bb01;
}

.btn {
  background: #80bb01;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 6px;
  margin: 10px 5px;
  display: inline-block;
}

ul, ol {
  margin-left: 20px;
}

.profiles {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.profile {
  background: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 5px rgba(0,0,0,0.1);
  flex: 1;
}

/* Container styling */
.soil-guardian-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 32px;
  background: #f5faeb;
  border: 1px solid #e7e7e7;
  border-radius: 12px;
}

/* Field wrapper spacing */
.soil-guardian-form .form-field {
  margin-bottom: 20px;
}

/* Labels */
.soil-guardian-form label {
  display: block;
  font-weight: 600;
  color: #2d2d2d;
  margin-bottom: 6px;
  font-size: 16px;
}

/* Inputs, selects, textareas */
.soil-guardian-form input[type=text],
.soil-guardian-form input[type=email],
.soil-guardian-form input[type=tel],
.soil-guardian-form select,
.soil-guardian-form textarea {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 16px;
  box-sizing: border-box;
}

/* Submit button */
.soil-guardian-form input[type=submit],
.soil-guardian-form button[type=submit] {
  width: 100%;
  background: #80bb01;
  color: #fff;
  padding: 14px 0;
  border: none;
  border-radius: 8px;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  transition: background .2s ease;
}

.soil-guardian-form input[type=submit]:hover,
.soil-guardian-form button[type=submit]:hover {
  background: #6ca000;
}
/* Two-column row */
.soil-guardian-form .form-row.two-col {
  display: flex;
  gap: 20px;
}
.soil-guardian-form .form-row.two-col .form-field {
  flex: 1;
}
/* Ensure consistent spacing between columns */
.cf-guardian-form .form-row.two-col {
  display: flex;
  flex-wrap: wrap;       /* allows wrapping on smaller screens */
  gap: 24px;             /* space between columns */
  margin-bottom: 20px;   /* space below each row */
}

/* Each field takes equal width */
.cf-guardian-form .form-row.two-col .form-field {
  flex: 1;
  min-width: 250px;      /* prevents fields from shrinking too small */
}

/* Add spacing between stacked fields on mobile */
@media (max-width: 600px) {
  .cf-guardian-form .form-row.two-col {
    flex-direction: column;
    gap: 16px;
  }
}
/* Headings rhythm */
.cf-guardian-form h3, 
.cf-guardian-form h4 {
  margin: 32px 0 16px;
  font-weight: 700;
  color: #2d2d2d;
}

/* Field spacing */
.cf-guardian-form .form-field {
  margin-bottom: 16px;
}

/* File input styling */
.cf-guardian-form input[type=file] {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 8px;
  background: #fff;
}
/* Form container */
.cf-guardian-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 0; /* remove padding so header strip spans full width */
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  overflow: hidden; /* ensures header strip corners are rounded */
}

/* Header strip */
.cf-guardian-form .form-header {
  background: linear-gradient(90deg, #80bb01, #6ca000);
  padding: 20px;
  text-align: center;
}

.cf-guardian-form .form-header h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}

/* Inner content padding */
.cf-guardian-form h3,
.cf-guardian-form h4,
.cf-guardian-form .form-intro,
.cf-guardian-form .form-row,
.cf-guardian-form .form-field,
.cf-guardian-form p {
  padding-left: 32px;
  padding-right: 32px;
}

/* Section headings */
.cf-guardian-form h4 {
  margin: 24px 0 12px;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 6px;
  font-size: 20px;
  font-weight: 600;
  color: #333;
}
.cf-guardian-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 32px;
  background: #ffffff;        /* clean white */
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* soft shadow */
}
.cf-guardian-form h3 {
  font-size: 28px;
  font-weight: 700;
  color: #2d2d2d;
  margin-bottom: 16px;
  text-align: center;
}

.cf-guardian-form h4 {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 24px 0 12px;
}

.cf-guardian-form label {
  font-weight: 600;
  color: #444;
  margin-bottom: 6px;
  display: block;
}
.cf-guardian-form h4 {
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 6px;
}
.cf-guardian-form input[type=text],
.cf-guardian-form input[type=number],
.cf-guardian-form input[type=url],
.cf-guardian-form input[type=file],
.cf-guardian-form textarea {
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 16px;
  transition: border-color .2s, background .2s;
}

.cf-guardian-form input:focus,
.cf-guardian-form textarea:focus {
  border-color: #80bb01;
  background: #fff;
  outline: none;
}
.cf-guardian-form .checkbox-field {
  background: #f9f9f9;
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #eee;
}
.cf-guardian-form input[type=checkbox] {
  margin-right: 8px;
  transform: scale(1.2);
}
.cf-guardian-form button[type=submit] {
  background: linear-gradient(90deg, #80bb01, #6ca000);
  border: none;
  border-radius: 8px;
  padding: 14px 32px;       /* wider padding instead of full width */
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
  display: inline-flex;          /* use flexbox inside the button */
  align-items: center;           /* vertical centering */
  justify-content: center;       /* horizontal centering */
  line-height: 1.2;              /* prevents text from stretching */
	text-align: center;
  margin: 20px auto;             /* centers the button itself */
	width: auto;              /* shrink to fit content */
}
.cf-guardian-form p {
  text-align: center;
}
.cf-guardian-form button[type=submit]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(128,187,1,0.3);
}
@media (max-width: 768px) {
  .cf-guardian-dashboard table,
  .cf-guardian-dashboard thead,
  .cf-guardian-dashboard tbody,
  .cf-guardian-dashboard th,
  .cf-guardian-dashboard td,
  .cf-guardian-dashboard tr {
    display: block;
    width: 100%;
  }

  .cf-guardian-dashboard thead {
    display: none; /* hide table header */
  }

  .cf-guardian-dashboard tr {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px;
    background: #fafafa;
  }

  .cf-guardian-dashboard td {
    border: none;
    padding: 6px 0;
  }

  .cf-guardian-dashboard td:before {
    content: attr(data-label);
    font-weight: bold;
    display: block;
    margin-bottom: 2px;
    color: #333;
  }
}
/* General card styling */
.cf-dashboard-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  padding: 16px;
  margin-bottom: 20px;
  line-height: 1.6; /* ✅ Adjusted line spacing */
}

/* Headings */
.cf-dashboard-card h4 {
  color: #2E7D32;
  margin-bottom: 12px;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Stats rows */
.cf-dashboard-card .stat {
  margin-bottom: 8px;
  color: #444;
  font-size: 14px;
}

/* Dropdowns */
.cf-dropdown {
  width: 100%;
  padding: 10px;
  margin-bottom: 16px; /* ✅ Extra spacing between dropdowns */
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 14px;
}

/* Buttons */
.cf-button-primary {
  display: block;
  width: 100%;
  background: linear-gradient(90deg, #43A047, #66BB6A);
  color: #fff;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  font-weight: bold;
  border: none;
  cursor: pointer;
}

.cf-button-secondary {
  display: inline-block;
  background: #fff;
  border: 1px solid #e53935;
  color: #e53935;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  text-decoration: none;
}

/* Empty state */
.cf-empty-state {
  margin-top: 12px;
  color: #777;
  font-size: 13px;
  text-align: center;
}
.cf-dropdown {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px; /* ✅ extra spacing between farm & crop dropdowns */
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 14px;
}
/* General card styling */
.cf-dashboard-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  padding: 16px;
  margin-bottom: 20px;
  line-height: 1.6; /* ✅ Adjusted line spacing */
}

/* Headings */
.cf-dashboard-card h4 {
  color: #2E7D32;
  margin-bottom: 12px;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Stats rows */
.cf-dashboard-card .stat {
  margin-bottom: 8px;
  color: #444;
  font-size: 14px;
}

/* Dropdowns */
.cf-dropdown {
  width: 100%;
  padding: 10px;
  margin-bottom: 16px; /* ✅ Extra spacing between dropdowns */
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 14px;
}

/* Buttons */
.cf-button-primary {
  display: block;
  width: 100%;
  background: linear-gradient(90deg, #43A047, #66BB6A);
  color: #fff;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  font-weight: bold;
  border: none;
  cursor: pointer;
}

.cf-button-secondary {
  display: inline-block;
  background: #fff;
  border: 1px solid #e53935;
  color: #e53935;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  text-decoration: none;
}

/* Empty state */
.cf-empty-state {
  margin-top: 12px;
  color: #777;
  font-size: 13px;
  text-align: center;
}
/* Card container */
.cf-card {
  background: #ffffff;
  border: 2px solid #4CAF50; /* brand green */
  border-radius: 8px;
  padding: 16px;
  margin: 12px 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Title */
.cf-card-title {
  margin: 0 0 10px;
  font-size: 1.2em;
  color: #2e7d32; /* darker green */
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 6px;
}

/* Body text */
.cf-card-body p {
  margin: 6px 0;
  font-size: 0.95em;
  color: #333;
}

/* Actions */
.cf-card-actions {
  margin-top: 12px;
}

/* Buttons */
.cf-btn {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 0.9em;
  cursor: pointer;
  border: none;
}

.cf-btn-primary {
  background: #4CAF50;
  color: #fff;
}

.cf-btn-secondary {
  background: #f1f8e9;
  color: #2e7d32;
  border: 1px solid #4CAF50;
}

.cf-btn:hover {
  opacity: 0.9;
}

/* Responsive: stack cards */
@media (max-width: 768px) {
  .cf-card {
    padding: 12px;
  }
  .cf-card-title {
    font-size: 1em;
  }
}
/* ============================
   Customer Dashboard Styling
   ============================ */

/* Wrapper */
.cf-dashboard {
  background: #fdfdfd;
  padding: 20px;
  border-radius: 8px;
}

/* Card-style table rows */
.cf-table-wrapper table {
  border-collapse: separate;
  border-spacing: 0 12px;
  width: 100%;
}

.cf-table-wrapper table tr {
  background: #ffffff;
  border: 2px solid #4CAF50; /* brand green */
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.cf-table-wrapper table td {
  padding: 12px;
  vertical-align: middle;
}

.cf-table-wrapper table td:first-child {
  font-weight: bold;
  color: #2e7d32; /* darker green */
}

/* Buttons */
.cf-table-wrapper .button {
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 0.9em;
}

.cf-table-wrapper .button-primary {
  background: #4CAF50;
  border: none;
  color: #fff;
}

.cf-table-wrapper .button:hover {
  opacity: 0.9;
}

/* Responsive: collapse into cards on mobile */
@media (max-width: 600px) {
  .cf-table-wrapper table thead {
    display: none;
  }
  .cf-table-wrapper table tr {
    display: block;
    margin-bottom: 15px;
    padding: 10px;
  }
  .cf-table-wrapper table td {
    display: block;
    text-align: right;
    border: none;
    border-bottom: 1px solid #eee;
  }
  .cf-table-wrapper table td:last-child {
    border-bottom: none;
  }
  .cf-table-wrapper table td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    color: #333;
  }
}
.cf-card {
  background: #fff;
  border: 2px solid #4CAF50;
  border-radius: 8px;
  padding: 16px;
  margin: 12px 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.cf-card-title {
  margin: 0 0 8px;
  font-size: 1.1em;
  color: #2e7d32;
  border-bottom: 1px solid #eee;
  padding-bottom: 4px;
}

.cf-btn {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 0.9em;
  cursor: pointer;
  text-decoration: none;
}

.cf-btn-secondary {
  background: #f1f8e9;
  color: #2e7d32;
  border: 1px solid #4CAF50;
}
/* Guardian Dashboard Styling */
.cf-card {
  background: #fff;
  border: 2px solid #4CAF50;
  border-radius: 8px;
  padding: 16px;
  margin: 12px 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.cf-card-title {
  margin: 0 0 10px;
  font-size: 1.1em;
  color: #2e7d32;
  border-bottom: 1px solid #eee;
  padding-bottom: 4px;
}

.cf-filter label {
  display: inline-block;
  margin-right: 20px;
  font-weight: bold;
}

.cf-btn-primary {
  background: #4CAF50;
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  text-decoration: none;
}

.cf-btn-primary:hover {
  background: #388e3c;
}
/* Base button */
.cf-btn {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.9em;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

/* Primary (green filled) */
.cf-btn-primary {
  background: #4CAF50;
  color: #fff;
  border: 2px solid #4CAF50;
}
.cf-btn-primary:hover {
  background: #388e3c;
  border-color: #388e3c;
}

/* Outline (green border only) */
.cf-btn-outline {
  background: #fff;
  color: #2e7d32;
  border: 2px solid #4CAF50;
}
.cf-btn-outline:hover {
  background: #f1f8e9;
}

/* Align buttons nicely */
.cf-dashboard form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
/* Action form container */
.cf-action-form {
  display: flex;
  gap: 12px;              /* more breathing space */
  flex-wrap: wrap;        /* stack on mobile */
  justify-content: center;
  margin: 6px 0;          /* vertical spacing inside table cell */
}

/* Buttons */
.cf-btn {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.9em;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

/* Primary (Accept Delivery) */
.cf-btn-primary {
  background: #80bb01;
  color: #fff;
  border: 2px solid #4CAF50;
}
.cf-btn-primary:hover {
  background: #388e3c;
  border-color: #388e3c;
}

/* Outline (Send to Pool) */
.cf-btn-outline {
  background: #80bb01;
  color: #fff;          /* brand green text */
  border: 2px solid #80bb01;
}

.cf-btn-outline:hover {
  background: #f6fdf0;     /* subtle greenish hover background */
  color: #80bb01;
  border-color: #80bb01;
}
.cf-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin-top: 10px;
}

.cf-filter label {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: 0.95em;
  color: #333;
}

.cf-filter select {
  margin-top: 4px;
  padding: 6px 10px;
  border: 2px solid #80bb01;
  border-radius: 6px;
  font-size: 0.95em;
  min-width: 180px;
}
.cf-filter select {
  margin: 6px 12px 6px 0;
  padding: 6px 10px;
  border: 2px solid #80bb01;
  border-radius: 6px;
  min-width: 160px;
}