:root{--green:#72a52b;--dark:#25391f;--gold:#e79b1f;--paper:#f4f4e9;--muted:#73806d}*{box-sizing:border-box}body{color:#293326;background:#f7f8f3;margin:0;font:15px/1.5 Arial,sans-serif}aside{background:var(--paper);border-right:1px solid #e2e5d9;flex-direction:column;width:240px;padding:30px 23px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:1px;align-items:center;gap:12px;font-size:19px;font-weight:800;display:flex}.brand img{width:55px}.brand small{letter-spacing:2px;color:var(--muted);font-size:10px;display:block}.navlabel{letter-spacing:2px;color:#909584;margin-top:50px;font-size:10px}nav button{text-align:left;color:#64705b;background:0 0;border:0;border-radius:8px;width:100%;margin:3px 0;padding:13px 16px}nav button.active{color:#436a20;background:#e4eccf;font-weight:700}.asidebottom{margin-top:auto;font-size:12px}.asidebottom p{color:var(--muted)}main{margin-left:240px}header{height:78px;color:var(--muted);background:#fff;border-bottom:1px solid #e9ecdf;justify-content:space-between;align-items:center;padding:0 40px;font-size:12px;display:flex}select,input{color:#293326;font:inherit;background:#fff;border:1px solid #dce1d3;border-radius:7px;padding:11px}header select{margin-left:10px;font-size:12px}.testbar{color:#8c671d;letter-spacing:.6px;background:#fff9ed;border:1px solid #e8d6ac;border-radius:7px;margin:22px 40px 0;padding:9px 16px;font-size:11px}.testbar>span:last-child{float:right}.dot{background:var(--gold);border-radius:100%;width:6px;height:6px;margin-right:8px;display:inline-block}#content{padding:32px 40px}h1{letter-spacing:-1px;margin:0;font-size:32px;font-weight:600}h2{letter-spacing:-.4px;margin:0 0 8px;font-size:20px}h3{margin:0;font-size:16px}p{margin:6px 0 18px}.muted{color:var(--muted)}.eyebrow{letter-spacing:2px;color:#668846;margin-bottom:9px;font-size:10px;font-weight:700}.heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.hero{background:var(--dark);color:#fff;border-radius:14px;justify-content:space-between;gap:30px;margin-bottom:24px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.hero p{color:#c8d5bc;max-width:500px}.hero h2{font-size:27px}.hero .eyebrow{color:#b3d284}.hero img{object-fit:contain;background:#f4f4e9;border-radius:50%;width:120px;height:112px;padding:15px}.grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;display:grid}.stat,.card{background:#fff;border:1px solid #e3e7dc;border-radius:12px;padding:22px}.stat strong{margin-top:8px;font-size:27px;font-weight:600;display:block}.stat small{color:var(--muted);font-size:11px}.card p{font-size:13px}.cardtop{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.pill{color:#597a37;background:#eef4e5;border-radius:20px;padding:5px 9px;font-size:10px;display:inline-block}.pill.warn{color:#94671c;background:#fff2d9}.pill.red{color:#9e4433;background:#fcece7}.amount{font-size:28px;font-weight:600}.line{border-top:1px solid #eff0e9;justify-content:space-between;gap:14px;padding:12px 0;font-size:12px;display:flex}.progress{background:#eef0e7;border-radius:5px;height:5px;margin:15px 0}.progress i{background:var(--green);border-radius:5px;height:100%;display:block}button,.btn{font:inherit;cursor:pointer;color:#3a512c;background:#fff;border:1px solid #dce2d2;border-radius:7px;padding:10px 16px;font-size:12px;text-decoration:none;display:inline-block}button:hover,.btn:hover{filter:brightness(.97)}button.primary,.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.45;cursor:not-allowed}.card>button{width:100%;margin-top:12px}.split{grid-template-columns:1.8fr 1fr;gap:20px;display:grid}.section{margin-top:24px}.panel{background:#fff;border:1px solid #e3e7dc;border-radius:12px;padding:24px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);letter-spacing:.8px;border-bottom:1px solid #e8ebdf;padding:12px 8px;font-size:10px}td{border-bottom:1px solid #eff0e9;padding:13px 8px}td button{padding:6px 9px}.tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.tabs .active{background:var(--dark);color:#fff}.notice{border-left:3px solid var(--gold);background:#fff9ed;margin:16px 0;padding:12px 16px;font-size:12px}.avatar{color:#638344;background:#ecf0e4;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-right:8px;font-weight:700;display:inline-flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.step{grid-template-columns:35px 1fr;gap:10px;margin:20px 0;display:grid}.step b{color:#618535;text-align:center;background:#eef4e5;border-radius:50%;width:30px;height:30px;line-height:30px}.step p{color:var(--muted);margin:4px 0;font-size:12px}footer{color:#8e9687;padding:20px 40px;font-size:11px}dialog{border:1px solid #e0e5d6;border-radius:14px;width:calc(100% - 32px);max-width:580px;max-height:90vh;padding:28px;overflow:auto}dialog::backdrop{background:#21301d80}form label{margin:15px 0 4px;font-size:12px;display:block}.formgrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.close{float:right}.formactions{gap:10px;margin-top:22px;display:flex}#toast{background:var(--dark);color:#fff;border-radius:8px;max-width:400px;padding:14px 22px;font-size:13px;display:none;position:fixed;bottom:24px;right:24px}.meter{border-radius:6px;height:20px;margin:24px 0;display:flex;overflow:hidden}.meter span{background:var(--green)}.meter span:nth-child(2){background:var(--gold)}.meter span:nth-child(3){background:#596a50}a{color:#5e852e}.empty{text-align:center;color:var(--muted);padding:30px}@media (max-width:1100px){.grid,.stats{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}@media (max-width:760px){aside{width:auto;padding:15px;position:static}.brand img{width:35px}.navlabel,.asidebottom{display:none}nav{margin-top:10px;display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}main{margin:0}header{flex-wrap:wrap;gap:10px;height:auto;padding:10px 18px}#content{padding:24px 18px}.testbar{margin:16px 18px 0}.grid{grid-template-columns:1fr}.heading{align-items:flex-start}.hero{padding:24px}.hero img{display:none}.stats{gap:8px}.stat{padding:15px}.formgrid{grid-template-columns:1fr}h1{font-size:27px}footer{padding:18px}}textarea{width:100%;font:inherit;border:1px solid #dce1d3;border-radius:8px;padding:12px}form input,form select{width:100%}.rulebox{background:#f5f7ed;border-radius:10px;padding:18px;font-size:13px}.inlineForm{margin-top:20px}.statusmsg{color:#3e6422;background:#eaf1de;border-radius:8px;margin-bottom:16px;padding:12px 18px}.error{color:#943c25;background:#fff0e9}.invitebox{overflow-wrap:anywhere;background:#fff9ed;border:1px solid #e8d6ac;border-radius:10px;margin:20px 0;padding:20px}.card.selected{border-color:#72a52b}.fullinput{width:100%}input[type=checkbox]{width:auto}button{margin:2px}a.primary{color:#fff;background:#72a52b}summary{cursor:pointer;font-weight:700}.publicSite{background:#f7f8f3;min-height:100vh}.publicHeader{background:0 0;border:0;max-width:1240px;height:auto;margin:auto;padding:22px 42px}.publicHeader .brand{color:#293326;text-decoration:none}.publicHeader .brand img{object-fit:contain;height:56px}.publicHeader nav{align-items:center;gap:24px;display:flex}.publicHeader nav a{text-decoration:none}.publicBanner{text-align:center;color:#536f30;letter-spacing:1px;background:#eaf0dc;padding:10px 18px;font-size:11px}.publicHero{grid-template-columns:1.3fr 1fr;align-items:center;gap:65px;max-width:1240px;margin:auto;padding:78px 42px 66px;display:grid}.publicHero h1{letter-spacing:-2px;font-size:56px;font-weight:600;line-height:1.07}.publicHero p{color:#73806d;max-width:520px;margin:24px 0;font-size:18px}.publicHero .loginNote{margin-top:18px;font-size:11px}.publicHero .btn{padding:14px 22px;font-size:14px}.publicVisual{background:#e9eddb;border-radius:28px;grid-template-columns:100px 1fr;align-items:center;gap:20px;padding:28px;display:grid}.publicVisual>img{width:100%;height:auto}.previewGroup{background:#fff;border-radius:16px;padding:24px;box-shadow:0 18px 35px #25391f0c}.previewGroup h2{font-size:22px}.publicSection{max-width:1240px;margin:auto;padding:45px 42px}.publicSection>h2{font-size:30px}.publicSteps{grid-template-columns:repeat(4,1fr);gap:30px;margin-top:35px;display:grid}.publicSteps article{border-top:1px solid #cdd6be;padding-top:18px}.publicSteps article>span{color:#72a52b;font-size:25px}.publicSteps h3{margin:14px 0 10px}.publicSteps p{color:#73806d;font-size:13px}.publicSafety{grid-template-columns:1fr 1.1fr;align-items:center;gap:70px;display:grid}.publicSafety h2{font-size:34px;line-height:1.15}.publicSafety>div>p{color:#73806d;margin:20px 0}.publicSafety .panel h3{margin-top:18px}.publicSafety .panel p{font-size:13px}.publicCta{color:#fff;text-align:center;background:#25391f;margin-top:30px;padding:54px 24px}.publicCta h2{font-size:30px}.publicCta p{color:#c8d5bc}.publicFooter{justify-content:space-between;gap:18px;max-width:1240px;margin:auto;display:flex}.privacyContent{max-width:840px;margin:25px auto;padding:30px 24px 60px}.privacyContent h2{margin-top:30px}.privacyContent p{color:#65715f;font-size:14px}.privacyContent h1{margin-bottom:30px;font-size:40px}@media (max-width:900px){.publicHero{gap:24px}.publicHero h1{font-size:42px}.publicVisual{grid-template-columns:1fr}.publicVisual>img{justify-self:center;width:80px}.publicSteps{grid-template-columns:1fr 1fr}.publicSafety{gap:25px}}@media (max-width:620px){.publicHeader{padding:16px 18px}.publicHeader nav{flex-wrap:wrap;gap:12px}.publicHeader nav>a:first-child{display:none}.publicHero{grid-template-columns:1fr;gap:30px;padding:42px 20px}.publicHero h1{font-size:39px}.publicHero p{font-size:16px}.publicVisual{grid-template-columns:70px 1fr;gap:16px;padding:20px}.publicVisual>img{width:70px}.previewGroup{padding:18px}.publicSection{padding:32px 20px}.publicSafety{grid-template-columns:1fr}.publicFooter{flex-direction:column;padding:22px}.publicSteps{gap:20px}}.psgAdmin{min-height:100vh}.psgAdmin aside{background:#f2f4e9}.psgAdmin header{flex-wrap:wrap;gap:16px;height:auto;min-height:78px;padding-top:15px;padding-bottom:15px}.adminStats{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.adminStats .panel{padding:20px}.adminStats span{color:var(--muted);font-size:12px;display:block}.adminStats strong{color:var(--dark);margin-top:8px;font-size:36px;display:block}.adminHero{margin-top:24px}.adminFilters{flex-wrap:wrap;align-items:end;gap:18px;margin:20px 0;display:flex}.adminFilters label{flex:1;margin:0}.adminFilters input,.adminFilters select{width:100%}.adminTable{overflow-x:auto}.adminTable table{min-width:620px}.adminGroupSummary{flex-wrap:wrap;gap:22px;display:flex}.psgAdmin textarea{width:100%;min-height:100px;font:inherit;resize:vertical;border:1px solid #dce1d3;border-radius:7px;padding:12px}.adminNote{border-top:1px solid #e2e5d9;padding:18px 0}.adminNote p{white-space:pre-wrap;margin-top:10px}.adminNote small{color:var(--muted);margin-top:5px;display:block}.adminEvent{border-bottom:1px solid #eee;padding:14px 0}.adminEvent small{color:var(--muted);display:block}.adminDenied{text-align:center;max-width:620px;margin:100px auto;padding:30px}@media (max-width:1100px){.adminStats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}.psgAdmin .split{grid-template-columns:1fr}.psgAdmin #content{padding:24px 18px}.psgAdmin header{padding:18px}.psgAdmin .heading{align-items:start;gap:16px}.adminStats strong{font-size:28px}}.goalSchedule{background:#f8faf3;border:1px solid #dce4cf;border-radius:10px;margin:20px 0;padding:20px}.goalMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.goalMetrics small{color:var(--muted);font-size:11px;display:block}.goalMetrics b{color:var(--dark);font-size:22px}.scheduleTable{max-height:320px;margin-top:15px;overflow-x:auto}.scheduleTable table{min-width:380px}.goalSchedule summary{cursor:pointer;padding:10px 0;font-weight:700}@media (max-width:700px){.goalMetrics{grid-template-columns:1fr}.goalMetrics b{font-size:20px}}aside{overflow-y:auto}.brand{flex-shrink:0}.asidebottom{padding-top:22px}
