:root {
  --green: #335c4d;
  --green-dark: #1d3d32;
  --cream: #f7f2e6;
  --panel: #e8ede8;
  --ink: #2b2722;
  --stone: #5c5447;
  --muted: #6b645b;
  --line: #d9d0c0;
  --gold: #d9b852;
  --white: #ffffff;
  --ok: #e4f0e6;
  --err: #f8e3e0;
  --danger: #8a2f2f;
  --radius: 14px;
  --radius-sm: 10px;
  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
}

body {
  font-family: var(--font);
  line-height: 1.45;
}

header.brand {
  background: var(--green);
  color: var(--white);
  padding: 1rem 1.25rem;
}

header.brand p {
  margin: 0.25rem 0 0;
  opacity: 0.85;
  font-size: 0.9rem;
}

main {
  max-width: 720px;
  margin: 0 auto;
  padding: 1.25rem 1.25rem 3rem;
}

h1 { font-size: 1.25rem; margin: 0; }
h2 { font-size: 1.1rem; margin: 1.5rem 0 0.75rem; }

p, li { font-size: 0.98rem; }

a {
  color: var(--green);
  font-weight: 600;
}

.muted { color: var(--muted); font-size: 0.92rem; }
.when { color: var(--green); font-weight: 650; margin: 0.2rem 0 0.4rem; }

label {
  display: block;
  font-weight: 600;
  margin: 0.85rem 0 0.3rem;
}

input, textarea, select {
  width: 100%;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  font: inherit;
  background: var(--panel);
  color: var(--ink);
}

textarea { min-height: 6rem; }

select {
  font-size: 1.125rem;
  line-height: 1.35;
  min-height: 2.85rem;
  padding-right: 2.35rem;
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--panel);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23335c4d' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  background-size: 0.9rem;
}

button, .btn {
  appearance: none;
  border: 0;
  background: var(--green);
  color: var(--white);
  font: inherit;
  font-weight: 650;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

button.secondary, .btn.secondary {
  background: transparent;
  color: var(--green);
  border: 1px solid var(--green);
}

button.danger { background: var(--danger); }

.row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1rem 1.1rem;
  margin: 0.75rem 0;
}

.ok { background: var(--ok); }
.err { background: var(--err); }
.hidden { display: none; }
