:root{
  --green:#0f5132;
  --green2:#35c27a;
  --dark:#060807;
  --muted:#6b7280;
  --line:#e6ebe8;
  --soft:#f7faf8;
  --white:#fff;
  --shadow:0 24px 60px rgba(0,0,0,.09);
  --radius:24px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--dark)}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,92%);margin:auto}
.nav{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);background:rgba(255,255,255,.88);border-bottom:1px solid rgba(0,0,0,.06)}
.navin{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.adminNavInner{width:100%;padding:0 32px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.08em}
.brand img{width:42px;height:42px;border-radius:12px}
.links{display:flex;align-items:center;gap:22px;font-size:14px;color:#17201b}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:750;border:1px solid var(--line);transition:.2s;background:#fff;cursor:pointer;font:inherit}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}
.btn.green{background:var(--green);color:#fff;border-color:var(--green)}
.hero{padding:84px 0 62px;background:radial-gradient(circle at 75% 5%,rgba(53,194,122,.2),transparent 34%),linear-gradient(180deg,#fff,#f8fbf9)}
.grid{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center}
.eyebrow{color:var(--green);font-weight:850;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.h1{font-size:clamp(46px,7vw,84px);line-height:.95;margin:16px 0 18px;letter-spacing:-.04em}
.lead{font-size:20px;line-height:1.65;color:#37423b;max-width:680px}
.heroCard{background:#fff;border:1px solid var(--line);border-radius:32px;padding:28px;box-shadow:var(--shadow)}
.heroLogo{width:100%;border-radius:24px;background:#fff}
.section{padding:76px 0}
.center{text-align:center}
.section h2{font-size:clamp(32px,4vw,54px);letter-spacing:-.03em;margin:0 0 14px}
.section p.sub{font-size:18px;line-height:1.65;color:var(--muted);max-width:760px;margin:0 auto 32px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.card h3{margin:12px 0 8px;font-size:22px;letter-spacing:-.02em}
.card p{color:var(--muted);line-height:1.6}
.icon{width:48px;height:48px;border-radius:14px;background:#e9f8ef;display:grid;place-items:center;color:var(--green);font-weight:900}
.dark{background:var(--dark);color:#fff}
.dark p,.dark .sub{color:#cdd7d0}
.stacked{display:grid;gap:34px;padding-bottom:76px}
.filters,.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.filter,.tab,.textButton{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer}
.filter.active{background:var(--green);border-color:var(--green);color:#fff}
.tab.active{background:var(--dark);border-color:var(--dark);color:#fff}
.feedLoadMore{justify-self:center;min-width:220px;margin:4px auto 0}
.eventGroup{display:grid;gap:16px}
.groupHead{text-align:left}
.groupHead h2{margin:4px 0 0;font-size:32px;letter-spacing:-.03em}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.event{border-radius:var(--radius);padding:24px;background:linear-gradient(145deg,#f8fbf9,#fff);border:1px solid var(--line)}
.event p{color:var(--muted);line-height:1.55}
.eventImage{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;margin-bottom:16px;background:var(--soft)}
.eventFacts{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.eventFacts span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#37423b;font-weight:800;font-size:13px}
.date{color:var(--green);font-weight:900}
.mediaCard{display:grid;grid-template-columns:minmax(220px,.75fr) 1.25fr;gap:22px;align-items:start;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.mediaCard img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;background:var(--soft)}
.mediaCard h3{font-size:28px;margin:6px 0}
.mediaCard p{color:var(--muted);line-height:1.6}
.podcastCard{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.podcastTop{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}
.podcastImage{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:var(--soft)}
.podcastMain h3{font-size:30px;margin:0 0 14px;letter-spacing:-.02em}
.podcastLinks{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.podcastDescription{margin:0;color:var(--muted);line-height:1.65;font-size:17px}
.form{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.authPage .section{min-height:calc(100vh - 76px);display:grid;align-items:center}
.authGrid{display:flex;justify-content:center;align-items:flex-start}
.authGrid .form{width:min(520px,100%)}
.authSignup{display:none}
body[data-auth-mode="signup"] .authSignup{display:block}
body[data-auth-mode="signup"] .authLogin{display:none}
.textButton{display:block;margin:14px auto 0;color:var(--green)}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:15px 16px;margin:9px 0 14px;font:inherit;background:#fbfdfc}
input,select{height:50px;line-height:1.2}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#17201b 50%),linear-gradient(135deg,#17201b 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 12px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
input[type="checkbox"]{width:auto;margin:0 8px 0 0}
input[type="file"]{display:none}
label{font-weight:750;font-size:14px}
.checkLabel{display:inline-flex;align-items:center;gap:8px;line-height:1;margin:0;white-space:nowrap}
.checkLabel input[type="checkbox"]{width:16px;height:16px;margin:0;flex:0 0 auto}
.footer{padding:34px 0;border-top:1px solid var(--line);color:var(--muted)}
.footerInner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footerLinks{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px}
.footerLinks a{color:#17201b;font-weight:800}
.footerCookieButton{border:0;background:transparent;color:#17201b;font:inherit;font-weight:800;padding:0;cursor:pointer}
.footerCookieButton:hover{text-decoration:underline}
.legalHero{background:#f7faf8;border-bottom:1px solid var(--line)}
.legalPage{max-width:900px}
.legalPage h2{font-size:30px;margin:0 0 12px;letter-spacing:-.02em}
.legalPage h3{font-size:21px;margin:28px 0 8px}
.legalPage p,.legalPage li{color:#37423b;line-height:1.65}
.legalPage ul{padding-left:22px}
.legalNote{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;margin:22px 0;color:#37423b}
.dash{background:#f7faf8;min-height:calc(100vh - 76px);padding:50px 0}
.adminWrap{width:100%;max-width:none;margin:0;padding:0 32px}
.adminHeader{max-width:760px}
.adminHeader.withAction{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;max-width:none}
.adminHeader.withAction > div{max-width:760px}
.adminHeader.withAction .btn{flex:0 0 auto}
.notice{padding:14px 16px;border-radius:16px;background:#e9f8ef;color:#0f5132;margin:14px 0;font-weight:700}
.cookieBanner{position:fixed;left:20px;right:20px;bottom:20px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:980px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:left}
.cookieBanner[hidden]{display:none}
.cookieBanner b{display:block;margin-bottom:4px}
.cookieBanner p{margin:0;color:var(--muted);line-height:1.45}
.cookieActions{display:flex;gap:10px;flex:0 0 auto}
.authConfigMissing{min-height:100vh;display:grid;place-content:center;gap:10px;padding:24px;text-align:center;background:#f3f6f4}
.authConfigMissing h1{margin:0;font-size:32px}
.authConfigMissing p{margin:0;color:var(--muted)}
.featureList{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.featureList div,.listItem{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.adminStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:24px 0}
.adminStat{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.035)}
.adminStat span{font-size:13px;color:var(--muted);font-weight:800}
.adminStat b{font-size:24px;color:var(--green)}
.adminLayout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
.adminSidebar{position:sticky;top:96px;display:grid;gap:8px}
.adminSidebar .tab{width:100%;display:flex;border-radius:14px;text-align:left;justify-content:flex-start}
.adminPanel{min-width:0}
.adminPanel .form{width:100%;max-width:none;margin:0;padding:32px}
.adminGrid{display:grid;grid-template-columns:minmax(560px,.95fr) minmax(420px,1.05fr);gap:22px;align-items:start}
.adminStack{display:grid;gap:18px}
.adminEditor{box-shadow:0 10px 30px rgba(0,0,0,.045)}
.editorHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.editorHead h2{margin:0}
.editorGrid{display:grid;gap:12px;align-items:end}
.eventEditor{padding:24px}
.eventEditorGrid{grid-template-columns:repeat(6,minmax(150px,1fr))}
.compactEditor{padding:24px}
.compactEditor input,.compactEditor select,.compactEditor textarea{margin:6px 0 0;padding:11px 12px}
.compactEditor input,.compactEditor select{height:44px}
.compactEditor textarea{min-height:74px;resize:vertical}
.podcastEditorGrid{grid-template-columns:repeat(6,minmax(150px,1fr))}
.causeEditorGrid{grid-template-columns:repeat(3,minmax(190px,1fr))}
.resourceEditorGrid{grid-template-columns:repeat(4,minmax(170px,1fr))}
.editorWide{grid-column:1 / -1}
.editorActions{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.editorActions{grid-column:1 / -1}
.uploadButton{display:flex;align-items:center;justify-content:center;width:100%;height:44px;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:850;cursor:pointer}
.uploadButton:hover{border-color:var(--green);color:var(--green)}
.editorImagePreview{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-top:10px;border:1px solid var(--line);background:var(--soft)}
.adminListThumb{width:120px;aspect-ratio:16/10;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:var(--soft);float:left;margin:0 14px 10px 0}
.eventEditor input,.eventEditor select,.eventEditor textarea{margin:6px 0 0;padding:11px 12px}
.eventEditor input,.eventEditor select{height:44px}
.eventEditor textarea{min-height:74px;resize:vertical}
.eventList{display:grid;gap:10px}
.eventListItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.tableList{display:grid;gap:12px}
.listItem h3{margin:0 0 8px}
.listItem p{margin:6px 0;color:var(--muted);line-height:1.45}
.miniActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.adminEventPeople{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.adminEventPeople div{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}
.adminEventPeople b{font-size:13px}
.adminEventPeople span{color:var(--muted);font-size:13px;line-height:1.35}
.memberItem{display:grid;gap:2px}
.resourceCard{display:grid;gap:10px;text-align:left}
.resourceMeta{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
.resourceMeta span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#37423b;font-size:13px;font-weight:800}
.resourceContact{display:grid;gap:6px;margin-top:8px;color:var(--muted);line-height:1.45}
.resourceContact a{color:var(--green);font-weight:850}
.danger{color:#9f1239}
@media(max-width:850px){
  .grid,.cards,.events,.featureList,.mediaCard,.podcastTop,.adminGrid,.adminStats,.adminLayout,.eventEditorGrid,.podcastEditorGrid,.resourceEditorGrid,.eventListItem,.adminEventPeople{grid-template-columns:1fr}
  .adminWrap,.adminNavInner{padding-left:18px;padding-right:18px}
  .editorWide{grid-column:auto}
  .editorActions{justify-content:flex-start}
  .authGrid{display:flex}
  .adminSidebar{position:static}
  .links{display:none}
  .h1{font-size:48px}
  .cookieBanner{display:grid}
  .cookieActions{width:100%;flex-wrap:wrap}
  .cookieActions .btn{flex:1 1 150px}
  .footerInner{display:grid}
}
