:root{color-scheme:light;--green:#69753d;--ink:#30474e;--bg:#fff8f1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 system-ui,sans-serif}header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 5%;background:white;border-bottom:1px solid #dfe4d4}header strong{flex:1}a{color:var(--green)}main{max-width:1280px;margin:auto;padding:24px}.intro{max-width:900px;padding:20px 0}h1{font-size:clamp(30px,4vw,48px);line-height:1.15}h2{font-size:26px}.eyebrow{letter-spacing:.12em;color:var(--green);font-weight:700}.workspace{display:grid;grid-template-columns:340px 1fr;gap:20px}aside,#dashboard{background:white;padding:20px;border:1px solid #dfe4d4;border-radius:20px}#dashboard{margin-top:24px}#map{height:600px;border-radius:20px;background:#e3e7da}label{display:block;margin:12px 0;font-weight:600}input,textarea,select{display:block;width:100%;font:inherit;color:inherit;padding:11px;border:1px solid #c5cdbb;border-radius:10px;background:white}textarea{min-height:110px}button{font:inherit;cursor:pointer;border:0;background:var(--green);color:white;padding:11px 16px;border-radius:12px;margin:4px 4px 4px 0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d18a53;outline-offset:3px}.row{display:flex;flex-wrap:wrap}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}dialog{width:min(760px,94vw);max-height:90vh;border:1px solid #c5cdbb;border-radius:24px;padding:28px;color:var(--ink)}dialog::backdrop{background:#25332799}.close{float:right;background:#edf0e5;color:var(--ink);font-size:24px}.card{border-bottom:1px solid #e7eadf;padding:14px 0}.card strong{display:block}fieldset{border:1px solid #dfe4d4;border-radius:12px;margin:18px 0}.feature{font-weight:400;font-size:16px;display:inline-block;margin:5px 12px 5px 0}.feature input{display:inline;width:auto;margin-right:7px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}footer{padding:30px;text-align:center}[role=alert]{color:#9b332e;white-space:pre-wrap}#message{white-space:pre-wrap}.status{font-weight:600;font-size:15px}pre{overflow:auto;max-height:300px;background:#f3f5ee;padding:14px;border-radius:12px;font-size:14px}.admin-grid{display:grid;grid-template-columns:350px 1fr;gap:20px}@media(max-width:760px){.workspace,.admin-grid,.columns{grid-template-columns:1fr}#map{height:420px}header{padding:15px}main{padding:16px}dialog{padding:20px}button{min-height:44px}}

/* Hidden fields must stay hidden despite layout rules. */
[hidden]{display:none!important}
.header-actions{display:flex;flex-wrap:wrap;gap:8px}
.secondary{background:#edf0e5;color:var(--green);border:1px solid #c5cdbb}
.text-button{background:transparent;color:var(--green);text-decoration:underline;padding:6px 0;font-size:15px}
.contribution-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}
.contribution-options article{background:white;border:1px solid #dfe4d4;border-radius:20px;padding:24px}
.contribution-options h2{font-size:23px;margin-top:0}
.intro{max-width:none}
#placeDialog{width:min(900px,96vw);padding:28px;overscroll-behavior:contain}
fieldset{padding:20px;margin:20px 0;background:#fdfefa}
legend{font-size:19px;font-weight:750;padding:0 8px}
.hint{font-size:14px;font-weight:400;color:#596b68}
.review-notice{background:#edf0e5;padding:14px;border-radius:12px}
.rate-row{padding:14px;border:1px solid #dfe4d4;border-radius:12px;margin-bottom:12px;background:white}
.rate-row .columns{gap:12px}
.schedule-day{border-bottom:1px solid #dfe4d4;padding:10px 0}
.schedule-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.schedule-head strong{min-width:90px}
.schedule-head select{width:auto}
.time-slot{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.time-slot label{font-size:14px}
.time-slot button{font-size:14px}
button[aria-pressed=true]{box-shadow:0 0 0 3px #c5cdbb;background:#30474e}
#authDialog{max-width:540px}
@media(max-width:760px){.contribution-options{grid-template-columns:1fr}.time-slot{grid-template-columns:1fr 1fr}.time-slot button{grid-column:1/-1}fieldset{padding:14px}#placeDialog{padding:18px}header strong{flex-basis:100%}}

:root{--green:#848D49;--ink:#4F5D39;--bg:#F8F4EE;--muted:#8A8F7A}body{background:var(--bg)}header{background:#F8F4EE;max-width:none;justify-content:space-between}.brand{font-weight:850;letter-spacing:.03em;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--green);color:#fffdf8;padding:13px 20px;border-radius:12px;font-weight:700;min-height:48px}.button.secondary{background:#DDE3C2;color:var(--ink)}h1,h2,h3{letter-spacing:-.03em}h1{margin:16px 0 24px}h2{line-height:1.25}.lead{font-size:21px;max-width:650px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding:55px 0 65px}.hero-card{background:#FFFCF7;padding:35px;border-radius:28px;border:1px solid #E7DFC9;box-shadow:0 18px 50px #4f5d3910}.illustration{font-size:clamp(35px,5vw,66px);padding:20px 0}.pill{display:inline-block;background:#DDE3C2;color:#4F5D39;padding:5px 12px;border-radius:50px;font-size:13px;font-weight:800;letter-spacing:.05em}.example{background:#FEEFD7;border-radius:16px;padding:20px}.example small{display:block;font-size:15px;margin-top:8px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.benefits article{background:#FFFCF7;border:1px solid #E7DFC9;border-radius:20px;padding:26px}.benefits article>span{font-size:32px}.beta-note{padding:32px;background:#E7DFC9;border-radius:24px;margin:35px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:25px 25px;list-style-position:inside}.steps li::marker{font-weight:800;color:#848D49}.closing{text-align:center;padding:35px 15px}.closing>a{margin:8px;display:inline-flex}.hint{color:#68715c;font-size:14px}.panel-intro{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.auth-card{width:min(540px,94vw)}.age-band{padding:16px;background:#FFFCF7;border:1px solid #E7DFC9;border-radius:14px;margin:12px 0}fieldset legend{font-weight:750}#placeDialog{width:min(980px,96vw)}#placeForm>fieldset{padding:20px}#managedPlaces .card{background:#FFFCF7;padding:15px;border-radius:14px;margin:10px 0}#message:empty{display:none}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:25px;padding:25px 0}.benefits,.steps{grid-template-columns:1fr}.hero-card{padding:24px}.beta-note{padding:24px}h1{font-size:36px}.header-actions{gap:5px}#placeForm>fieldset{padding:14px}.time-slot{grid-template-columns:1fr 1fr}.time-slot>.text-button{grid-column:1/-1}}
