:root { color-scheme: light; font-family: Inter, system-ui, sans-serif; background: #f3f5f2; color: #172017; }
* { box-sizing: border-box; }
body { margin: 0; }
.shell { width: min(100% - 2rem, 720px); margin: 4rem auto; }
.eyebrow { color: #36713e; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1 { font-size: clamp(2rem, 7vw, 3.5rem); margin: .1rem 0; }
.muted { color: #516051; }
.card { margin-top: 2rem; padding: 1.5rem; background: #fff; border: 1px solid #d7ded4; border-radius: 16px; box-shadow: 0 10px 30px #24401b12; }
form { display: grid; gap: 1rem; }
details { margin-top: 1.5rem; }
details form { margin-top: 1rem; }
summary { cursor: pointer; color: #245f32; font-weight: 650; }
label { display: grid; gap: .4rem; font-weight: 600; }
input { width: 100%; border: 1px solid #aebbac; border-radius: 8px; padding: .7rem; font: inherit; }
.toggle { display: flex; align-items: center; gap: .5rem; font-size: .9rem; font-weight: 500; }
.toggle input { width: auto; }
button { border: 0; border-radius: 8px; padding: .75rem 1rem; background: #1c6534; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
button.secondary { background: #e7eee6; color: #1c6534; }
.row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); align-items: end; }
.list { padding-left: 1.2rem; }
.list li { margin: .7rem 0; }
.hidden { display: none; }
.message { min-height: 1.5rem; margin: 1rem 0; color: #1c6534; }
.message.error { color: #af2222; }
