:root {
  --peak-dark: #143222;
  --peak-green: #1f6b3a;
  --peak-green-2: #2d8b4f;
  --peak-soft: #edf8f0;
  --peak-bg: #f3f8f4;
  --peak-gold: #d6b35c;
  --peak-gold-soft: #fff0bd;
  --peak-text: #2d3a33;
  --peak-muted: #64786d;
  --peak-border: #dfeae2;
  --peak-white: #ffffff;
}

body {
  background: var(--peak-bg) !important;
  color: var(--peak-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Main layout containers */
.container,
.box,
.content,
.card,
.page,
main,
section {
  border-radius: 16px !important;
}

/* Links */
a {
  color: var(--peak-green) !important;
}
a:hover {
  color: var(--peak-dark) !important;
}

/* Top navigation / header */
header,
.navbar,
.topbar,
nav {
  background: linear-gradient(180deg, #f6fbf7 0%, #edf8f0 100%) !important;
  border-bottom: 1px solid var(--peak-border) !important;
}

/* Generic cards / panels */
.card,
.box,
.panel,
.content-box,
.list-card,
section,
article {
  background: #ffffff !important;
  border: 1px solid var(--peak-border) !important;
  box-shadow: 0 8px 24px rgba(20, 50, 34, 0.05) !important;
}

/* Buttons */
button,
.button,
.btn,
input[type="submit"],
input[type="button"] {
  background: var(--peak-green) !important;
  color: #ffffff !important;
  border: 1px solid var(--peak-green) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

button:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: var(--peak-dark) !important;
  border-color: var(--peak-dark) !important;
}

/* Secondary / outlined buttons */
.btn-secondary,
.button.secondary,
button.secondary {
  background: #ffffff !important;
  color: var(--peak-green) !important;
  border: 1px solid var(--peak-green) !important;
}

/* Inputs */
input,
select,
textarea {
  border: 1px solid #d7e5db !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--peak-text) !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--peak-green) !important;
  box-shadow: 0 0 0 3px rgba(31, 107, 58, 0.12) !important;
  outline: none !important;
}

/* Tables */
table {
  border-radius: 12px !important;
  overflow: hidden !important;
}
thead th {
  background: #f4faf5 !important;
  color: var(--peak-dark) !important;
  border-bottom: 1px solid var(--peak-border) !important;
}
tbody td {
  border-bottom: 1px solid #edf3ee !important;
}

/* Badges / labels */
.badge,
.tag,
.label {
  border-radius: 999px !important;
  background: #eaf5ed !important;
  color: var(--peak-green) !important;
  border: 1px solid #cfe3d4 !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--peak-dark) !important;
}

/* Optional public page accent blocks */
.hero,
.banner,
.notice,
.alert,
.callout {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%) !important;
  border: 1px solid var(--peak-border) !important;
  border-radius: 18px !important;
}

/* Mobile polish */
@media (max-width: 768px) {
  body {
    font-size: 14px !important;
  }

  .card,
  .box,
  .panel,
  section,
  article {
    border-radius: 14px !important;
  }

  button,
  .button,
  .btn,
  input[type="submit"] {
    border-radius: 10px !important;
  }
}