
:root{--green:#244f42;--ink:#233830;--muted:#637069;--paper:#f5f4ee;--line:#dedfd6;--orange:#d9994c;--white:#fff;--soft:#e8ede4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}a:hover{color:#99622e}button{cursor:pointer}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(5vw,24px);border-bottom:1px solid var(--line);background:#fbfaf6}.brand{display:flex;align-items:center;gap:12px;color:var(--green);text-decoration:none;font-size:21px;font-weight:850;letter-spacing:.03em;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:.18em;margin-top:4px}.brand-icon{display:grid;place-items:center;width:43px;height:46px;border:2px solid var(--green);border-radius:20px 20px 10px 10px;font-size:34px}nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}nav a{text-decoration:none}nav form{margin:0}.nav-button{border:1px solid var(--line);padding:10px 17px;border-radius:5px}main{max-width:1310px;padding:40px 5vw 70px;margin:auto;min-height:76vh}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(32px,4vw,54px);font-weight:650;margin:12px 0 26px}h2{font-size:24px;font-weight:650}h3{font-size:18px}p{color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--green);margin:0 0 18px}.lead{font-size:17px;max-width:650px;line-height:1.75}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;padding:20px 0 55px}.hero h1{font-size:clamp(44px,5.8vw,76px);line-height:1.05;margin:15px 0 24px}.underlink{display:inline-block;font-size:13px;font-weight:700;margin-top:14px}.camp-art{position:relative;height:330px;background:#e8ecdf;border-radius:48% 48% 6px 6px;overflow:hidden}.camp-art:after{content:'';position:absolute;bottom:0;background:#6f866a;height:70px;width:100%;border-radius:50% 40% 0 0}.camp-art span{position:absolute;bottom:18px;left:26px;z-index:3;font-size:10px;font-weight:700;letter-spacing:.15em;color:white}.sun{position:absolute;width:66px;height:66px;background:#e7b464;border-radius:50%;right:26%;top:46px}.tent{position:absolute;bottom:54px;left:32%;width:150px;height:118px;background:#d7a052;clip-path:polygon(50% 0,100% 100%,0 100%);z-index:2}.tent:after{content:'';position:absolute;width:48px;height:80px;background:#354e3d;left:51px;bottom:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.tree{position:absolute;bottom:62px;background:#3c6450;clip-path:polygon(50% 0,80% 35%,65% 35%,95% 70%,70% 70%,100% 95%,55% 95%,55% 100%,45% 100%,45% 95%,0 95%,30% 70%,5% 70%,35% 35%,20% 35%);width:90px;height:195px}.tree1{left:8%}.tree2{right:5%;height:150px;width:80px;background:#8a9c76}.radio-wave{position:absolute;border:1px solid #7d947d;border-radius:50%;top:30px;left:35%;width:85px;height:85px}.wave2{width:125px;height:125px;top:10px;left:30%}.section-heading,.split{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading{margin-bottom:22px}.section-heading h2{margin:0}.muted{color:var(--muted);font-size:12px}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}.card{background:#fdfdfa;border:1px solid var(--line);border-radius:9px;padding:28px;margin-bottom:24px}.event-card{max-width:760px;border-top:3px solid var(--green)}.card-top{display:flex;justify-content:space-between;align-items:center}.year{font-size:15px;font-weight:700;letter-spacing:.08em}.badge{display:inline-block;background:#e6eedf;color:#325b3b;border-radius:20px;padding:4px 11px;font-size:11px;white-space:nowrap;font-weight:650}.badge.neutral{background:#eeece4;color:#706b58}.date{font-size:15px}.deadlines{margin:25px 0}.deadlines div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.deadlines dt{color:var(--muted)}dd{margin:0;font-weight:600}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);border:1px solid var(--green);padding:12px 21px;color:white;border-radius:5px;text-decoration:none;font-size:13px;font-weight:650;line-height:1.5}.button:hover{background:#163b30;color:white}.secondary{background:transparent;color:var(--green)}.event-card .button{width:100%}.page-heading{margin:10px 0 30px}.page-heading h1{font-size:40px}.two-column{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:26px;align-items:start}.two-column.equal{grid-template-columns:1fr 1fr}.dark-card{background:var(--green);color:#fff;border-color:var(--green)}.dark-card p,.dark-card dt{color:#d7e4d6}.dark-card .eyebrow{color:#efc283}.dark-card .deadlines div{border-color:#ffffff30}.back{display:inline-block;margin-bottom:22px;font-size:12px;text-decoration:none}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin:20px 0 28px}.field.wide{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:650;margin-bottom:6px}.field label span{color:#887341}.field input,.field textarea,.field select{border:1px solid #c9cec4;border-radius:4px;padding:10px 12px;background:white;color:var(--ink);width:100%;min-width:0}.field input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}.field small{color:var(--muted)}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled input,fieldset:disabled textarea{background:#eeefe8;color:#555}.notice{padding:17px 20px;border:1px solid #e3d9b8;background:#f7f1df;border-radius:5px;margin-bottom:24px;font-size:13px}.notice.success{background:#e6eee2;border-color:#c9dbc1}.notice.error,.field-error{color:#9e342e}.notice.error{background:#fff0ed;border-color:#e5bab4}.field-error{font-size:12px}.errorlist{list-style:none;padding:0;margin:5px 0}.text-button{border:0;background:none;color:var(--green);font-size:13px;padding:0}.small-button{padding:8px 12px;background:white;border:1px solid #c8cec3;border-radius:4px;font-size:12px;color:var(--green)}.danger{color:#963a30}.form-card{max-width:920px}.message-card{max-width:770px;margin:45px auto;padding:45px}.message-card .underlink{margin-left:18px}.toolbar{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin:20px 0 30px;font-size:12px}.toolbar form{display:flex;align-items:center;gap:12px}.toolbar label{font-weight:700}.toolbar select{padding:9px;border:1px solid var(--line);border-radius:4px;background:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}.stat{border:1px solid var(--line);border-radius:7px;padding:20px;background:#fdfdfa}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:38px;font-weight:600;letter-spacing:-.05em;margin-top:8px}.stat small{font-size:15px}.compact{background:#eaece3;border-color:#d8ddce}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#477545;margin-right:7px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-size:11px;font-weight:650;color:var(--muted);padding:12px;background:#f1f3eb;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}td .group-link{font-weight:650;text-decoration:none}.actions{display:flex;gap:20px;font-size:12px}.empty{padding:40px 20px;color:var(--muted)}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audit-list details{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-list summary{cursor:pointer}.audit-list summary span{color:var(--muted);margin-right:18px}.audit-list td{overflow-wrap:anywhere;max-width:400px}.costs{max-width:700px}.costs div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.costs .total{font-size:22px;color:var(--green);font-weight:700}.number{font-size:25px;font-weight:700;color:var(--green)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:26px 5vw;font-size:11px;color:var(--muted)}@media(max-width:900px){.hero{gap:25px}.camp-art{height:280px}.two-column,.two-column.equal{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.section-heading,.split{align-items:flex-start;flex-direction:column}nav{gap:12px}.header{padding:18px 5vw}.actions{flex-wrap:wrap}}@media(max-width:600px){.header{align-items:flex-start;gap:16px}.brand{font-size:16px}.brand-icon{width:34px;height:38px}nav{flex-wrap:wrap;justify-content:flex-end;font-size:11px;max-width:170px;gap:10px}.nav-button{padding:5px 7px}.hero{grid-template-columns:1fr;padding-top:0;gap:20px}.camp-art{height:200px;border-radius:8px}.tree{height:140px}.hero h1{font-size:48px}.hero .lead{font-size:15px}.card{padding:20px}.fields{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr;gap:0}.page-heading h1{font-size:32px}.toolbar form{flex-wrap:wrap}.stat{padding:14px}.stat strong{font-size:30px}.message-card{padding:25px;margin:10px auto}.message-card .underlink{display:block;margin-left:0}.deadlines div{flex-direction:column;gap:2px}footer{flex-wrap:wrap}.costs div{font-size:13px}.camp-art .sun{top:20px}.table-card{padding:18px}.audit-list summary span{display:block}main{padding-top:28px}}@media print{.header,footer,.button,.back,.toolbar{display:none}body{background:white}main{padding:0;max-width:none}.card{break-inside:avoid;padding:12px}.table-scroll{overflow:visible}}


.button.danger { background: #9f2d20; color: #fff; }

.invitation { max-width: 900px; margin: 0 auto; }
.invitation-editor .field { grid-column: 1 / -1; }
.invitation-map img { display: block; width: 100%; max-width: 500px; height: auto; margin: 0 auto; }
.invitation-url { overflow-wrap: anywhere; font-size: .9rem; }
.invitation-section { line-height: 1.7; }
@media print {
  @page { size: A4; margin: 16mm; }
  body { background: white; color: #111; font-size: 10pt; }
  .header, footer, .invitation-actions, .invitation .button { display: none !important; }
  main, .invitation { max-width: none; width: auto; margin: 0; padding: 0; }
  .invitation .card { box-shadow: none; border: 0; padding: 0; margin: 0 0 6mm; }
  .invitation .page-heading { margin: 0 0 6mm; }
  .invitation h1 { font-size: 26pt; }
  .invitation h2 { font-size: 15pt; break-after: avoid; }
  .invitation-section { break-inside: avoid; line-height: 1.45; }
  .invitation-map { break-before: page; break-inside: avoid; }
  .invitation-map img { max-height: 205mm; width: auto; max-width: 100%; }
  .invitation a { color: inherit; }
}

.prices-sidebar { padding: 20px; }
.event-prices-compact { font-size: 12px; line-height: 1.45; }
.event-prices-compact h3 { margin: 0 0 8px; }
.event-prices-compact p { margin: 8px 0; }
.event-prices-compact th, .event-prices-compact td { padding: 7px 5px; font-size: 11px; }
.event-prices-compact thead th { white-space: normal; }
.event-prices-compact tbody th { background: transparent; border-bottom: 1px solid var(--line); }
.event-prices-compact details { margin-top: 8px; }
.event-prices-compact summary { cursor: pointer; }

.archive-contact { overflow-wrap: anywhere; margin-bottom: 12px; max-width: 400px; }

.evaluation-response { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
.evaluation-response summary { cursor: pointer; }
.evaluation-response dd { margin: 0 0 16px; white-space: normal; overflow-wrap: anywhere; }

.archive-contact-edit { border: 1px solid var(--border, #d9ddd4); border-radius: 8px; margin: 1rem 0; padding: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.archive-counts { table-layout: fixed; width: 100%; }
.archive-counts th:first-child { width: 44%; white-space: normal; }
.archive-counts input { width: 100%; min-width: 0; padding: 8px 4px; }
.archive-counts td, .archive-counts th { padding: 10px 5px; }
