@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--green:#194f3c;--green2:#277455;--cream:#f9f7ed;--mint:#e4efdc;--yellow:#f4e8a2;--text:#25392f;--muted:#68796f;--line:#dce4d8;--orange:#df8b46}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:'DM Sans',Arial,sans-serif;color:var(--text);line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em}h1,h2,.hero em{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h2{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.08}em{color:var(--green2);font-style:italic}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:84px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);gap:1rem}.brand{display:flex;align-items:center;gap:11px;color:var(--green);line-height:1.1}.brand-icon{font-size:2rem}.brand strong{display:block;font-size:1.05rem;letter-spacing:.08em}.brand small{display:block;font-size:.65rem;letter-spacing:.17em;margin-top:3px}.topbar nav{display:flex;align-items:center;gap:27px;font-weight:700;font-size:.88rem}.topbar nav a:hover{text-decoration:underline}.topbar nav .nav-cta{background:var(--green);color:#fff;padding:12px 18px;border-radius:8px}.hero{min-height:540px;background:var(--mint);position:relative;display:flex;overflow:hidden;align-items:center;justify-content:space-between;padding:76px max(5%,calc((100vw - 1180px)/2));isolation:isolate}.hero:before{content:'';position:absolute;bottom:-175px;right:-80px;width:740px;height:450px;background:#d3e4ca;border-radius:50%;z-index:-1}.hero-inner{max-width:630px;z-index:2}.pill{display:inline-block;background:#fff;border:1px solid #c7ddc5;border-radius:30px;color:var(--green);padding:7px 15px;font-size:.72rem;letter-spacing:.08em;font-weight:800;margin-bottom:28px}.eyebrow{font-size:.74rem;letter-spacing:.18em;font-weight:800;color:#2e7357;margin-bottom:16px}.eyebrow.green{color:var(--green2)}.hero h1{font-size:clamp(3.5rem,7.2vw,6.6rem);line-height:.99;margin-bottom:25px;color:var(--green)}.hero h1 em{color:#b96e3b}.hero-copy{max-width:505px;font-size:1.15rem;color:#496555;margin-bottom:31px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:9px;display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:13px 19px;font-weight:800;font-size:.88rem;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white}.primary:hover{background:#267454}.ghost{color:var(--green);border:1px solid #b4d0bc;background:rgba(255,255,255,.38)}.outline{background:white;border:1px solid #c8d6cb;color:var(--green)}.full{width:100%;margin-top:18px}.slogan{margin-top:42px;font-weight:800;color:var(--green);font-size:.83rem;letter-spacing:.18em}.slogan span{margin:0 10px;color:#b2794a}.hero-art{font-size:12rem;align-self:stretch;display:flex;justify-content:center;align-items:center;position:relative;width:36%;min-width:250px}.big-turkey{filter:drop-shadow(0 18px 2px rgba(50,82,53,.12));transform:rotate(-8deg)}.sun{background:#f4eaa8;width:350px;height:350px;border-radius:50%;position:absolute;z-index:-1}.walk{position:absolute;bottom:25px;color:var(--green);font-size:2rem}.autumn-leaf{position:absolute;font-size:5rem;color:#dfb76a;opacity:.7}.l1{right:8%;top:15px}.l2{right:42%;bottom:0}.stats-wrap{padding:0 max(5%,calc((100vw - 1180px)/2));transform:translateY(-40px);margin-bottom:-10px}.stats{background:white;border-radius:16px;box-shadow:0 14px 45px #204c3214;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e3e8df}.stat{padding:24px 32px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-icon{font-size:1.6rem}.stat-label,.mini-label{font-size:.69rem;letter-spacing:.16em;font-weight:800;color:#668170}.stat-label{margin:9px 0 6px}.stat-value{font-size:2.5rem;line-height:1.1;font-weight:800;margin:0;color:var(--green);letter-spacing:-.04em}.stat-foot,.muted{color:var(--muted)}.stat-foot{margin:5px 0 0;font-size:.83rem}.section{max-width:1180px;margin:0 auto;padding:70px 20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:28px}.section-heading h2{margin-bottom:10px}.section-heading p{color:var(--muted);margin-bottom:0}.dashboard-grid{display:grid;grid-template-columns:.98fr 1.02fr;gap:20px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 4px 16px #183d2a08}.panel-top{display:flex;align-items:center;gap:11px;margin-bottom:15px}.panel-icon{font-size:1.6rem}.panel h3{font-family:'DM Serif Display',Georgia,serif;font-size:2rem;font-weight:400;color:var(--green);line-height:1.15;margin-bottom:8px}.panel .muted{margin-top:0;font-size:.91rem}.progress{background:#e5f0df;position:relative;overflow:hidden}.progress-meta{display:flex;align-items:baseline;justify-content:space-between;margin-top:65px;gap:12px}.progress-meta strong{font-size:3rem;color:var(--green);letter-spacing:-.04em}.progress-meta span{color:#5b7161;font-size:.85rem}.track{margin-top:15px;height:16px;background:#c3d9c4;border-radius:30px;overflow:hidden}#progress-fill{height:100%;width:0%;background:var(--green2);border-radius:inherit;transition:width .45s}.tiny{font-size:.76rem;color:#718074;margin-top:20px}.pattern{font-size:3rem;opacity:.2;position:absolute;bottom:-30px;right:8px}.leader-list{list-style:none;padding:0;margin:22px 0 0}.leader-list li:not(.empty){display:flex;align-items:center;padding:11px 2px;border-bottom:1px solid #e9eee7;gap:12px}.medal{width:35px;height:35px;border-radius:50%;background:#edf2e9;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--green)}.lead-name{flex:1;font-size:.89rem;font-weight:700;word-break:break-word}.lead-steps{font-size:.93rem;color:var(--green);font-weight:800;font-variant-numeric:tabular-nums}.empty{color:var(--muted);font-size:.94rem;padding:15px 0}.chart-panel{margin-top:20px}.bar-chart{height:230px;display:flex;align-items:stretch;justify-content:space-between;gap:5px;padding-top:16px}.bar-item{flex:1;min-width:0;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:6px}.bar-track{height:175px;width:100%;display:flex;align-items:end;justify-content:center;border-bottom:1px solid #bdcfc0}.bar-fill{width:min(100%,38px);background:#377958;border-radius:6px 6px 0 0;min-height:0}.bar-item span{font-size:.73rem;color:#687b6d}.submit-section{background:var(--green);padding:85px max(5%,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.submit-copy{color:white}.submit-copy .eyebrow{color:var(--yellow)}.submit-copy h2{font-size:clamp(2.8rem,5.5vw,5rem);margin-bottom:25px}.submit-copy em{color:var(--yellow)}.submit-copy p{color:#d4e5d5;max-width:440px}.note-card{margin-top:40px;border:1px solid #56856c;background:#286047;padding:20px 22px;border-radius:12px;display:flex;flex-direction:column;gap:5px;max-width:455px}.note-card span{font-size:.9rem;color:#dce9dc}.form-card{background:white;border-radius:18px;padding:36px;box-shadow:0 18px 45px #00190b1f}.form-card h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:var(--green);font-size:2rem;margin-bottom:7px}.form-card form,.login-panel form{display:flex;flex-direction:column}.form-card label,.login-panel label,.goal-box label{font-weight:800;font-size:.88rem;margin-top:17px;margin-bottom:7px}.form-card input,.form-card textarea,.login-panel input,.goal-box input,.admin-actions select{border:1px solid #cddbd0;border-radius:8px;padding:12px;color:var(--text);background:#fafdf9;width:100%;outline-color:#4f916c}.form-card small{font-size:.73rem;color:var(--muted);margin-top:5px}.privacy{font-size:.75rem;color:var(--muted);margin:17px 0 0}.website-field{position:absolute;left:-10000px}.feedback{margin-top:10px;min-height:1.5rem;color:var(--green);font-weight:700}.feedback.error{color:#a24133}.rules{padding-top:90px;padding-bottom:110px}.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.rule{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.rule>span{color:#b9c7b8;font-weight:800}.rule-icon{font-size:1.9rem;margin:18px 0}.rule h3{font-size:1.06rem;color:var(--green);margin-bottom:7px}.rule p{font-size:.87rem;color:var(--muted)}footer{background:#103c2b;padding:28px max(5%,calc((100vw - 1180px)/2));color:#d6e9d8;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.8rem}footer strong{letter-spacing:.08em}footer p{margin:4px 0 0}footer a{text-decoration:underline}.admin-page{background:#f5f8f2;min-height:100vh}.admin-main{max-width:1080px;margin:0 auto;padding:55px 20px 100px}.admin-title{font-size:3.6rem;color:var(--green);margin-bottom:10px}.login-panel{max-width:460px;margin-top:35px}.login-panel h2{font-size:2rem}.admin-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:26px 0}.admin-actions label{font-weight:700;font-size:.82rem}.admin-actions select{display:block;min-width:200px}.goal-box{margin:16px 0 24px}.goal-box form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.goal-box form label{margin:0}.goal-box input{width:210px}.queue{display:flex;flex-direction:column;gap:12px}.entry{border:1px solid var(--line);border-radius:12px;padding:19px}.entry-top{display:flex;justify-content:space-between;gap:15px}.entry h4{margin:0;color:var(--green);font-size:1.08rem}.entry p{margin:8px 0;color:var(--muted);font-size:.85rem}.entry-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.btn.small{padding:8px 14px;font-size:.79rem}.reject{background:#f7ebe5;color:#833d31}.replace{background:#fff3d6;color:#6b4e1d}.entry .status{background:var(--mint);border-radius:15px;padding:5px 10px;font-size:.74rem;font-weight:800}.review-note{width:100%;max-width:440px;border:1px solid var(--line);padding:9px 12px;border-radius:8px}.admin-page .panel h3{font-size:1.55rem}[hidden]{display:none!important}@media(max-width:850px){.hero{padding:65px 5%}.hero-art{font-size:8rem;min-width:150px}.sun{width:230px;height:230px}.submit-section{gap:25px;padding:65px 5%}.rule-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topbar{height:auto;min-height:76px;padding:10px 5%;align-items:start}.topbar nav{font-size:.74rem;gap:10px;flex-wrap:wrap;justify-content:flex-end}.topbar nav .nav-cta{padding:9px}.brand-icon{font-size:1.5rem}.brand strong{font-size:.85rem}.brand small{font-size:.53rem}.hero{padding-top:58px;padding-bottom:90px;min-height:0}.hero h1{font-size:3.9rem}.hero-art{display:none}.stats{grid-template-columns:1fr 1fr}.stat{padding:20px}.stat:nth-child(2){border:0}.stat:last-child{grid-column:span 2;border-top:1px solid var(--line)}.stat-value{font-size:1.9rem}.section{padding:55px 5%}.section-heading{align-items:start;flex-direction:column}.dashboard-grid,.submit-section{grid-template-columns:1fr}.submit-section{padding:64px 5%}.form-card{padding:24px}.rule-grid{grid-template-columns:1fr 1fr;gap:10px}.rule{padding:17px}.panel{padding:23px}.progress-meta{margin-top:32px}.progress-meta strong{font-size:2.2rem}footer{flex-wrap:wrap}.bar-item span{font-size:.58rem}}


/* Turkey Trot participant registration */
.registration-box{background:#f0f6e9;border:1px solid #d8e6d0;border-radius:16px;padding:22px;margin:0 0 25px}
.registration-box h3{font-size:1.45rem;margin:0 0 10px;color:var(--green)}
.registration-box p{margin:0 0 15px}
.registration-box form{display:flex;flex-direction:column;gap:8px}
.registration-box label{font-weight:700;font-size:.84rem}
.registration-box .btn{align-self:flex-start;margin-top:6px}
.form-card select{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:white;color:var(--text);font:inherit}
.code-result{margin-top:16px;border-radius:12px;padding:15px;background:white;border:1px solid #b4d2bf}
.code-result p{font-size:.85rem}
.code-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.code-line code{overflow-wrap:anywhere;font-size:.95rem;font-weight:700;flex:1;min-width:120px}
.code-line .btn{white-space:nowrap}
@media(max-width:650px){.registration-box{padding:16px}.code-line .btn{width:100%}}

.milestone-section{padding:2rem 5%;background:#f9f7ed}.milestone-inner{max-width:1160px;margin:auto}.milestone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.milestone-item,.milestone-highlight{background:#fff;border:1px solid #dce4d8;border-radius:16px;padding:16px}.milestone-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.milestone-item.achieved,.milestone-highlight.milestone-unlocked{background:#fff1ba;border-color:#d9be62}.milestone-highlight{display:flex;gap:16px;align-items:center;margin:20px 0}.milestone-highlight-icon{font-size:2.5rem}.milestone-highlight p{margin:4px 0 0}.milestone-copy{display:flex;flex-direction:column}.milestone-copy small,.milestone-state{font-size:12px;color:#68796f}@media(max-width:850px){.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.milestone-grid{grid-template-columns:1fr}}


/* 2026 Turkey Trot dashboard refresh: friendly, readable and responsive */
:root{--cream:#fbfaf4;--mint:#e9f2e5;--yellow:#fff0ae;--green:#194f3c;--green2:#257a56}
body{background:linear-gradient(180deg,#fbfaf4 0%,#f6f8f0 100%)}
.topbar{position:relative;z-index:5;box-shadow:0 2px 16px rgba(22,69,44,.045)}
.topbar .nav-cta,.btn.primary{box-shadow:0 5px 0 rgba(7,48,29,.13)}
.hero{background:radial-gradient(circle at 78% 38%,#f6e7a3 0 11%,transparent 11.4%),linear-gradient(135deg,#ebf4e4 4%,#dae9d3 62%,#d2e6ca 100%)}
.hero:before{background:rgba(106,157,107,.12);transform:rotate(-13deg)}
.hero .pill{background:#fffdf2;border-color:#e6d9a0;box-shadow:0 4px 16px rgba(36,77,49,.06)}
.hero h1{text-shadow:0 2px 0 rgba(255,255,255,.35)}
.hero-art .big-turkey{filter:drop-shadow(0 20px 16px rgba(25,79,60,.18))}
.stats-wrap{position:relative;z-index:3;transform:translateY(-34px);margin-bottom:0}
.stats-caption{display:flex;gap:9px;align-items:center;background:#194f3c;color:#f9f5df;font-size:.7rem;font-weight:800;letter-spacing:.14em;width:max-content;max-width:100%;border-radius:12px 12px 0 0;padding:10px 18px;margin-left:18px}
.stats-caption-note{font-weight:500;font-size:.69rem;letter-spacing:0;color:#d9e7d9}
.live-dot{width:8px;height:8px;border-radius:50%;background:#e6d77e;box-shadow:0 0 0 4px rgba(235,220,127,.16)}
.stats{border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(31,82,50,.13);border:1px solid #d7e3d5}
.stat{min-height:174px;padding:27px 32px;position:relative;isolation:isolate}
.stat:not(:last-child):after{content:'';position:absolute;right:0;top:30px;bottom:30px;width:1px;background:#e5eae1}
.stat:nth-child(2){background:#f8fbf4}
.stat:nth-child(3){background:#fff9e3}
.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:#e7f0e2;font-size:1.5rem}
.stat:nth-child(3) .stat-icon{background:#f4e9b5}
.stat-value{font-size:clamp(2rem,3.5vw,3.15rem);letter-spacing:-.055em}
.stat-label{margin-top:11px}
.stat-foot{font-weight:600}
.milestone-section{padding-top:44px;padding-bottom:62px;background:transparent}
.milestone-inner>h2{font-size:clamp(2.1rem,4vw,3.25rem);margin:0 0 12px;color:#194f3c}
.milestone-inner>.muted{max-width:780px}
.milestone-highlight{border:1px solid #cbdcc5;background:linear-gradient(120deg,#e2efdf,#f1f8ec);border-radius:23px;box-shadow:0 8px 25px rgba(32,75,43,.06);padding:26px;min-height:106px}
.milestone-highlight.milestone-unlocked{background:linear-gradient(115deg,#fff1b7,#fff9df);border-color:#ddc46a}
.milestone-highlight-icon{font-size:3.2rem}
.milestone-highlight strong{font-size:clamp(1.15rem,2.3vw,1.6rem);color:#194f3c}
.milestone-highlight p{color:#4c6655}
.milestone-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.milestone-item{flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:156px;gap:10px;padding:18px 14px;border-radius:17px;box-shadow:0 4px 12px rgba(32,75,43,.035);position:relative;overflow:hidden}
.milestone-item:before{content:'';position:absolute;height:5px;left:0;right:0;top:0;background:#d3e1cf}
.milestone-item.achieved:before{background:#cba749}
.milestone-item.achieved{background:linear-gradient(155deg,#fff1bb,#fffaf0)}
.milestone-emoji{font-size:1.8rem}
.milestone-copy{gap:5px}
.milestone-copy strong{font-size:1.03rem;color:#194f3c;line-height:1.2}
.milestone-copy small{font-size:.74rem;font-weight:700}
.milestone-state{max-width:none;margin-left:0;text-align:left;font-weight:800;font-size:.7rem;color:#64816c}
.milestone-item.achieved .milestone-state{color:#785c1c}
#leaderboard{padding-top:64px}
#leaderboard .section-heading h2{color:#194f3c}
.dashboard-grid{gap:22px}
.panel{border-radius:23px;border-color:#dbe6d8;box-shadow:0 10px 30px rgba(28,77,44,.06)}
.progress{background:linear-gradient(145deg,#e4f1df 0%,#f3f7e9 100%);border-color:#c9dfc5}
.progress:before{content:'✦';position:absolute;right:22px;top:40px;font-size:7rem;opacity:.065;color:#194f3c;pointer-events:none}
.progress-meta{margin-top:48px}
.progress-meta strong{font-size:clamp(2.8rem,5vw,4.2rem)}
.track{height:23px;background:#c9dec9;box-shadow:inset 0 2px 5px rgba(15,57,31,.1);padding:4px}
#progress-fill{background:linear-gradient(90deg,#2c8057,#6bb481);height:100%;border-radius:20px}
.progress-remaining{margin-top:24px;background:rgba(255,255,255,.65);border:1px solid #d4e4d2;padding:14px;border-radius:14px;display:flex;align-items:center;gap:12px;font-weight:800;color:#225c40}
.progress-remaining-icon{font-size:1.35rem}
.leader{background:linear-gradient(160deg,#fff,#fffdf4)}
.leaderboard-sparkle{font-family:'DM Sans',Arial,sans-serif;font-size:1.2rem;color:#c6a43f}
.leader-list li:not(.empty){border:1px solid #e6ece2;background:#f8faf6;border-radius:13px;padding:12px 13px;margin-bottom:8px;transition:transform .15s,box-shadow .15s}
.leader-list li:not(.empty):hover{transform:translateX(3px);box-shadow:0 4px 14px rgba(24,66,39,.07)}
.leader-list li:first-child:not(.empty){background:#fff7d8;border-color:#e8d88b}
.leader-list li:nth-child(2):not(.empty){background:#f3f6f5}
.leader-list li:nth-child(3):not(.empty){background:#fbf1e5}
.medal{background:#e2ede1;flex-shrink:0}
.lead-name{font-size:.96rem}
.lead-steps{font-size:1.02rem}
.chart-panel{background:linear-gradient(180deg,#fff,#fcfefb)}
.bar-chart{height:250px;gap:9px}
.bar-track{height:190px;border-bottom:2px solid #d6e3d3}
.bar-fill{background:linear-gradient(180deg,#91c397 0%,#2b7954 100%);border-radius:8px 8px 0 0;transition:height .4s ease}
.bar-item:nth-child(3n) .bar-fill{background:linear-gradient(180deg,#e7d980 0%,#8ea565 100%)}
.chart-legend{display:flex;align-items:center;gap:8px;margin-top:8px;color:#5f7465;font-size:.78rem;font-weight:700}
.legend-dot{width:10px;height:10px;background:#36815b;border-radius:50%}
.legend-dates{margin-left:auto;font-size:.7rem;letter-spacing:.09em;color:#879788}
.submit-section{background:linear-gradient(145deg,#194f3c 0%,#103b2a 100%)}
.form-card{border:1px solid #e1e9de}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:3px solid rgba(75,151,99,.25);outline-offset:1px}
@media(max-width:1000px){.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-caption-note{display:none}.progress-meta{flex-direction:column;gap:3px}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:480px){.milestone-grid{grid-template-columns:1fr 1fr}.milestone-item{min-height:143px;padding:14px}.stat{padding:18px 14px;min-height:160px}.stats-caption{margin-left:10px;padding:9px 12px;font-size:.62rem}.stat-value{font-size:1.8rem}.stat-foot{font-size:.72rem}.milestone-highlight{padding:16px}.milestone-highlight-icon{font-size:2.1rem}.chart-legend{flex-wrap:wrap}.legend-dates{margin-left:0}.progress-remaining{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.btn,.bar-fill,.leader-list li{transition:none!important}}


/* Weekly participation recognition card */
.spotlight-card{position:relative;overflow:hidden;margin-top:22px;border-radius:23px;border:1px solid #dfd192;background:linear-gradient(120deg,#fff8de 0%,#fffdf5 60%,#edf5e8 100%);padding:28px 32px;box-shadow:0 10px 28px rgba(38,76,43,.08)}
.spotlight-decor{position:absolute;right:30px;top:-30px;font-size:11rem;color:#e6dcaa;opacity:.27;pointer-events:none}
.spotlight-badge{display:inline-block;background:#194f3c;color:#f8f0c2;border-radius:24px;padding:8px 13px;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.spotlight-content{display:flex;gap:22px;align-items:center;position:relative;margin:18px 0}
.spotlight-medal{display:grid;place-items:center;width:94px;height:94px;flex-shrink:0;background:#f5e5ad;border:3px solid #fff;border-radius:25px;box-shadow:0 8px 20px rgba(55,91,40,.12);font-size:3rem;transform:rotate(-5deg)}
.spotlight-copy h3{font-family:'DM Serif Display',Georgia,serif;color:#194f3c;font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);margin:0}
.spotlight-week{font-size:.8rem;font-weight:800;color:#647c5b;margin:4px 0 10px;letter-spacing:.04em}
.spotlight-name{display:block;font-size:clamp(1.15rem,2.4vw,1.6rem);color:#194f3c}
.spotlight-copy p:last-child{font-size:.86rem;color:#5f735e;margin:9px 0 0}
.spotlight-footer{border-top:1px solid #e6ddc2;padding-top:15px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;font-weight:700;color:#567153}
#spotlight-days{color:#194f3c}
@media(max-width:600px){.spotlight-card{padding:22px}.spotlight-content{align-items:flex-start;gap:14px}.spotlight-medal{width:62px;height:62px;border-radius:17px;font-size:2rem}.spotlight-copy h3{font-size:1.7rem}}


/* Launch experience: sign-up near the top, countdown, useful empty states */
html{scroll-padding-top:24px}
.join-section{padding:52px 5% 56px;background:linear-gradient(135deg,#f3f7e9,#faf8ed)}
.join-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.join-intro h2{font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.06;color:var(--green);margin:0 0 18px}
.join-intro>p{font-size:1.05rem;color:#536d5a;max-width:470px}
.join-benefits{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.join-benefits span{border:1px solid #d4e5cc;border-radius:30px;background:#fff;padding:8px 12px;font-size:.82rem;font-weight:700;color:#285e42}
.join-existing{font-size:.88rem;font-weight:800;color:var(--green2);text-decoration:underline;text-underline-offset:4px}
.join-form.form-card{max-width:560px;padding:20px;background:#fff;box-shadow:0 12px 35px rgba(25,79,60,.1);width:100%}
.join-form .registration-box{margin:0;padding:22px;background:linear-gradient(140deg,#f2f7ed,#fafcf7)}
.join-form .registration-box h3{font-size:clamp(1.5rem,2.7vw,2rem)}
.join-form .registration-box p{font-size:.88rem}
.countdown-card{display:flex;align-items:center;gap:11px;width:fit-content;max-width:100%;padding:12px 17px;border-radius:14px;margin-top:23px;background:rgba(255,252,224,.85);border:1px solid #e1d494;color:#31583d;font-weight:800;font-size:.86rem;box-shadow:0 5px 16px rgba(41,81,36,.06)}
.countdown-symbol{font-size:1.25rem}
.leaderboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;min-height:220px;padding:22px!important;background:linear-gradient(135deg,#f4f8ed,#fffbed)!important;border:1px dashed #c8d9bc!important;border-radius:16px}
.leaderboard-empty .empty-icon{font-size:2.2rem}
.leaderboard-empty strong{font-size:1.05rem;color:#235a3d}
.leaderboard-empty span:not(.empty-icon){max-width:300px;font-size:.83rem}
.empty-link{display:inline-flex;align-items:center;background:var(--green);color:#fff;border-radius:9px;padding:9px 16px;margin-top:7px;font-weight:800;font-size:.8rem}
.chart-container{position:relative}
.chart-empty{position:absolute;inset:10px 0 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:linear-gradient(135deg,rgba(245,250,242,.96),rgba(255,250,224,.96));border:1px dashed #d2dfc9;border-radius:17px;padding:20px;color:var(--green)}
.chart-empty strong{font-size:1.05rem}
.chart-empty span{max-width:390px;color:#637a68;font-size:.86rem}
.chart-empty a{font-size:.8rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.chart-has-data{position:relative}
@media(max-width:800px){.join-inner{grid-template-columns:1fr;gap:24px}.join-section{padding:40px 5%}.join-intro>p{max-width:650px}.join-form.form-card{max-width:none}}
@media(max-width:550px){.countdown-card{font-size:.76rem}.join-form.form-card{padding:12px}.join-form .registration-box{padding:15px}.join-benefits{gap:7px}.join-benefits span{font-size:.72rem}.leaderboard-empty{min-height:200px}}


/* Registration spacing refinements */
.join-section{padding-top:76px;padding-bottom:82px}
.join-inner{gap:clamp(32px,5vw,72px);align-items:start}
.join-intro{padding-top:20px}
.join-intro .eyebrow{margin-bottom:21px}
.join-intro h2{margin-bottom:24px;line-height:1.13}
.join-intro>p{line-height:1.75;margin:0 0 23px}
.join-benefits{list-style:none;padding:0;margin:0 0 29px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.join-benefits li{display:inline-flex;align-items:center;white-space:normal;line-height:1.4;padding:11px 15px;border:1px solid #d4e5cc;border-radius:30px;background:#fff;font-size:.83rem;font-weight:700;color:#285e42}
.join-existing{display:inline-block;margin-top:2px;line-height:1.65}
.join-form.form-card{padding:24px}
.join-form .registration-box{padding:28px}
.join-form .registration-box h3{line-height:1.22;margin:0 0 14px}
.join-form .registration-box p{margin:0 0 24px;line-height:1.65}
.join-form #registration-form{display:flex;flex-direction:column;gap:0}
.join-form .register-field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.join-form .register-field label{display:block;margin:0!important;line-height:1.45;font-size:.88rem}
.join-form .register-field input{display:block;min-height:49px;width:100%;margin:0}
.join-form #register-btn{align-self:stretch;min-height:49px;margin-top:5px}
.join-form #register-message{margin-top:14px;line-height:1.5}
.join-section+.milestone-section{padding-top:73px}
@media(max-width:800px){.join-section{padding-top:47px;padding-bottom:55px}.join-inner{gap:26px}.join-intro{padding-top:0}.join-section+.milestone-section{padding-top:48px}}
@media(max-width:550px){.join-form.form-card{padding:12px}.join-form .registration-box{padding:20px}.join-benefits{gap:9px;margin-bottom:22px}.join-benefits li{font-size:.76rem;padding:9px 12px}.join-intro h2{margin-bottom:17px}.join-form .register-field{margin-bottom:19px}.join-section+.milestone-section{padding-top:42px}}


/* Side-by-side registration and daily step entry */
.join-section{padding-top:58px;padding-bottom:76px}
.join-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.join-intro{grid-column:1/-1;padding:0 0 4px;max-width:850px}
.join-intro h2{margin-bottom:14px}
.join-intro>p{max-width:710px;margin-bottom:16px}
.join-benefits{margin-bottom:14px}
.join-existing{display:inline-block;margin-top:0}
.join-form.form-card,.daily-steps-card.form-card{max-width:none;width:100%;padding:24px;border:1px solid #d9e7d5;border-radius:20px;box-shadow:0 10px 28px rgba(25,79,60,.075)}
.join-form .registration-box{padding:24px;height:100%;background:#f1f7ed;border:0;margin:0}
.daily-steps-card{scroll-margin-top:24px}
.daily-steps-card.form-card{background:#fffdf5}
.daily-steps-card h3{font-size:clamp(1.5rem,2.7vw,2rem);line-height:1.24;margin:10px 0 9px}
.daily-steps-card .form-label{font-size:.74rem;letter-spacing:.12em;color:#337552;font-weight:800}
.daily-steps-card .muted{line-height:1.6}
.daily-steps-card form label{margin-top:15px}
.daily-steps-card form .full{margin-top:20px}
.daily-steps-card .privacy{line-height:1.6}
@media(max-width:850px){.join-inner{grid-template-columns:1fr;gap:18px}.join-intro{grid-column:1}.join-section{padding-top:40px;padding-bottom:54px}.join-form.form-card,.daily-steps-card.form-card{padding:16px}}
@media(max-width:550px){.join-form.form-card,.daily-steps-card.form-card{padding:12px}.join-form .registration-box{padding:16px}.join-intro h2{font-size:2.45rem}.join-existing{font-size:.84rem}}


/* Correct uneven-height registration layout: fill formerly empty left column */
@media(min-width:851px){
  .join-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(22px,3vw,38px);row-gap:20px;align-items:start}
  .join-inner>.join-intro{grid-column:1;grid-row:1;max-width:none;padding:0;margin:0}
  .join-inner>.join-form{grid-column:1;grid-row:2}
  .join-inner>.daily-steps-card{grid-column:2;grid-row:1/span 2}
  .join-intro h2{font-size:clamp(2.35rem,4vw,3.3rem);margin-bottom:14px}
  .join-intro>p{font-size:1rem;line-height:1.6;margin-bottom:15px}
  .join-benefits{gap:8px;margin-bottom:13px}
  .join-benefits li{padding:8px 11px;font-size:.77rem}
  .join-form.form-card,.daily-steps-card.form-card{margin:0;min-width:0}
}
@media(max-width:850px){
  .join-inner{display:flex;flex-direction:column;gap:16px;align-items:stretch}
  .join-inner>.join-intro,.join-inner>.join-form,.join-inner>.daily-steps-card{width:100%;grid-column:auto;grid-row:auto;margin:0}
  .join-intro{padding:0}
  .join-form.form-card,.daily-steps-card.form-card{max-width:100%}
}


/* Final launch layout: compact flow and matching participation cards */
.join-section{padding-top:48px;padding-bottom:54px}
.join-inner{row-gap:16px}
.join-inner>.join-intro{max-width:760px}
.join-intro .eyebrow{margin-bottom:11px}
.join-intro h2{margin-bottom:10px}
.join-intro>p{line-height:1.55;margin-bottom:12px}
.join-benefits{margin-bottom:10px}
.join-form.form-card,.daily-steps-card.form-card{border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(25,79,60,.065);border:1px solid #dbe6d5}
.join-form .registration-box{background:#fff;border:0;padding:12px}
.join-form .registration-box h3,.daily-steps-card.form-card h3{font-size:clamp(1.55rem,2.7vw,2rem);line-height:1.2;margin:10px 0}
.join-form .registration-box p,.daily-steps-card>.muted{font-size:.87rem;line-height:1.55;color:#68796f;margin-bottom:14px}
.form-step-tag{display:inline-flex;align-items:center;background:#e8f2e4;border:1px solid #d5e5d0;border-radius:20px;padding:6px 12px;font-size:.7rem;font-weight:800;letter-spacing:.1em;color:#21583b}
.daily-steps-card.form-card{background:#fff}
.daily-steps-card .form-step-tag{background:#fff4cf;border-color:#eee0a4}
.stats-wrap{padding-top:18px;transform:none;margin-bottom:0}
.stats-caption{margin-left:0}
.stats{border-radius:0 20px 20px 20px}
.progress-section{padding-top:46px;padding-bottom:20px}
.progress-section .panel.progress{min-height:0;padding:26px 30px}
.progress-section .panel.progress h3{margin-bottom:5px}
.progress-section .progress-meta{margin-top:22px}
.progress-section .progress-remaining{margin-top:17px}
.progress-section .pattern{opacity:.07}
.milestone-section{padding-top:42px;padding-bottom:35px}
.leaderboard-section{padding-top:38px;padding-bottom:60px}
.leaderboard-section>.panel.leader{max-width:none}
.leaderboard-section .leader-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;margin-top:16px}
.leaderboard-section .leader-list li.empty{grid-column:1/-1}
.leaderboard-section .leader-list li:not(.empty){margin-bottom:0}
.leaderboard-section .spotlight-card{margin-top:18px}
.leaderboard-section .chart-panel{margin-top:18px}
.rules{padding-top:45px;padding-bottom:68px}
@media(max-width:850px){
  .join-section{padding-top:32px;padding-bottom:38px}
  .stats-wrap{padding-top:12px}
  .progress-section{padding-top:34px;padding-bottom:16px}
  .milestone-section{padding-top:32px;padding-bottom:28px}
  .leaderboard-section{padding-top:28px;padding-bottom:40px}
}
@media(max-width:650px){
  .leaderboard-section .leader-list{grid-template-columns:1fr}
  .join-form.form-card,.daily-steps-card.form-card{padding:15px}
  .join-form .registration-box{padding:8px}
  .progress-section .panel.progress{padding:22px}
  .stats-wrap{padding-top:9px}
  .rules{padding-top:30px;padding-bottom:46px}
}


/* Private participant progress and organizer PIN recovery */
.my-progress-card{grid-column:1/-1;padding:24px 28px;background:linear-gradient(120deg,#f0f7ea,#fff9e9);border:1px solid #d9e4cf;border-radius:20px;box-shadow:0 8px 22px rgba(25,79,60,.055);margin-top:3px;scroll-margin-top:24px}
.my-progress-card h3{font-family:'DM Serif Display',Georgia,serif;color:#194f3c;font-weight:400;font-size:clamp(1.7rem,3vw,2.1rem);margin:12px 0 8px}
.my-progress-card>.muted{max-width:750px;font-size:.9rem}
.my-progress-card form{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.progress-login-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}
.progress-login-fields>div{display:flex;flex-direction:column;gap:8px}
.progress-login-fields label,.pin-reset-panel label{font-size:.88rem;font-weight:800;color:#234c38}
.progress-login-fields input,.progress-login-fields select,.pin-reset-panel input,.pin-reset-panel select{width:100%;min-height:47px;border:1px solid #cddbd0;border-radius:9px;padding:10px 12px;background:#fff;color:#25392f;font:inherit}
.my-progress-card #progress-button{margin-top:2px}
.my-progress-results{margin-top:15px;background:#fff;border:1px solid #dae6d4;border-radius:15px;padding:17px}
.my-progress-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.my-progress-summary #progress-person{font-weight:800;color:#194f3c;font-size:1.15rem}
.my-progress-summary #progress-total{font-weight:800;color:#287650;font-size:1.4rem}
.my-progress-summary #progress-count{font-size:.8rem;color:#657969}
.my-progress-results #progress-pending{font-size:.84rem;color:#596d5b;margin:10px 0}
.my-progress-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.my-progress-day{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:9px;background:#f6f9f3;font-size:.85rem}
.my-progress-day strong{color:#24583e}
.pin-help{font-size:.8rem;color:#667669;margin:15px 0 0;line-height:1.5}
.pin-reset-panel{margin:16px 0 24px;max-width:none}
.pin-reset-panel h3{font-size:1.5rem;margin:0 0 9px;color:#194f3c}
.pin-reset-panel>p{max-width:760px}
.pin-reset-panel form{max-width:520px;display:flex;flex-direction:column;gap:9px}
.pin-reset-panel label{margin-top:8px}
.pin-reset-panel button{margin-top:9px;align-self:flex-start}
@media(max-width:650px){.my-progress-card{padding:19px}.progress-login-fields,.my-progress-history{grid-template-columns:1fr}.my-progress-card #progress-button{width:100%}.my-progress-summary{flex-direction:column;align-items:flex-start;gap:4px}}


/* Flexible activity reporting */
.tracker-choices{display:flex;flex-direction:column;gap:8px;margin:13px 0 17px;padding:16px;background:#f2f7ed;border:1px solid #dbe8d4;border-radius:13px}
.tracker-choices label{margin:5px 0 0!important;font-size:.86rem;font-weight:800;color:#24543a}
.tracker-choices select{width:100%;min-height:46px;padding:9px 12px;background:#fff;border:1px solid #d1dfcf;border-radius:9px;color:#223d2f;font:inherit}
#weekly-period-fields{margin:15px 0}
#weekly-period-fields small{display:block;margin-top:7px;line-height:1.5}
#daily-date-fields{margin:13px 0}
.conversion-preview{padding:11px 13px;background:#fff4d7;border:1px solid #efe2b4;border-radius:10px;margin:10px 0 14px!important;font-size:.83rem;font-weight:700;color:#46633d}
.period-chart-totals{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.period-total{display:flex;flex-direction:column;gap:4px;padding:11px 14px;background:#edf6e9;border:1px solid #d5e4cc;border-radius:10px;flex:1 1 165px;font-size:.79rem;color:#42624a}
.period-total strong{font-size:1.05rem;color:#194f3c}
.my-progress-history:empty,.period-chart-totals:empty{display:none}
[hidden]{display:none!important}
@media(max-width:600px){.tracker-choices{padding:13px}.period-total{flex-basis:100%}}


/* Weekly daily breakdown */
.breakdown-toggle{display:flex!important;gap:10px;align-items:center;margin-top:14px!important;font-size:.85rem;color:#2c5d3d;line-height:1.4}
.breakdown-toggle input{width:18px!important;height:18px;flex:none;accent-color:#194f3c}
.daily-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;padding:14px;background:#f4f8ed;border:1px solid #d6e4ce;border-radius:12px}
.breakdown-row label{display:flex;flex-direction:column;gap:6px;font-size:.81rem!important;margin:0!important;font-weight:700;color:#2c573e}
.breakdown-row input{min-height:43px;width:100%;padding:9px 11px;background:#fff;border:1px solid #d0ddca;border-radius:8px;font:inherit}
@media(max-width:550px){.daily-breakdown{grid-template-columns:1fr}}


/* Log Your Activity — compact, consistent, readable form */
.daily-steps-card.form-card{padding:26px;background:#fff;border:1px solid #d7e4d4}
.daily-steps-card h3{margin:10px 0 8px}
.daily-steps-card>.muted{margin-bottom:20px;line-height:1.55}
.daily-steps-card #step-form{display:flex;flex-direction:column;gap:0;min-width:0}
.daily-steps-card .tracker-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:13px;row-gap:13px;margin:0 0 15px;padding:18px;background:#f2f7ee;border:1px solid #d7e6d3;border-radius:14px}
.daily-steps-card .tracker-intro{grid-column:1/-1;display:flex;flex-direction:column;gap:4px}
.daily-steps-card .tracker-intro strong{font-size:.95rem;color:#194f3c}
.daily-steps-card .tracker-intro span{font-size:.82rem;color:#617765;line-height:1.45}
.daily-steps-card .tracker-choice-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.daily-steps-card .tracker-choice-field label{margin:0!important;font-size:.81rem;line-height:1.35}
.daily-steps-card .tracker-choices select,.daily-steps-card select,.daily-steps-card input,.daily-steps-card textarea{display:block;width:100%;min-width:0;min-height:47px;border-radius:10px;border:1px solid #cbdacb;background:#fff;color:#25392f;padding:11px 12px;font:inherit;outline-offset:2px}
.daily-steps-card .tracker-choices select:focus-visible,.daily-steps-card select:focus-visible,.daily-steps-card input:focus-visible,.daily-steps-card textarea:focus-visible{outline:2px solid #277455}
.daily-steps-card .tracker-hint{grid-column:1/-1;font-size:.76rem;color:#55765e;line-height:1.5;margin:0}
.daily-steps-card .tracker-person,.daily-steps-card .tracker-activity,.daily-steps-card .tracker-note{display:flex;flex-direction:column;padding:18px 0 17px;gap:0;min-width:0;border-top:1px solid #e4ece1}
.daily-steps-card .tracker-subheading{display:flex;align-items:center;gap:9px;margin:0 0 6px;color:#194f3c;font-size:.92rem}
.daily-steps-card .tracker-subheading span{display:grid;place-items:center;flex:none;background:#e6f0e2;width:27px;height:27px;border-radius:9px;font-size:.7rem;font-weight:800}
.daily-steps-card #step-form label:not(.breakdown-toggle){display:block;margin:13px 0 7px;line-height:1.4}
.daily-steps-card #step-form small{display:block;line-height:1.5;margin-top:6px}
.daily-steps-card #daily-date-fields,.daily-steps-card #weekly-period-fields,.daily-steps-card #single-amount-fields{min-width:0}
.daily-steps-card #weekly-period-fields{margin:0}
.daily-steps-card #daily-date-fields{margin:0}
.daily-steps-card #single-amount-fields{margin:0}
.daily-steps-card .breakdown-toggle{display:flex!important;align-items:center;gap:10px;padding:12px 13px;margin:13px 0 0!important;background:#f3f8f0;border:1px solid #d6e4d0;border-radius:10px;font-weight:700}
.daily-steps-card .breakdown-toggle input{width:18px;min-height:18px;height:18px;flex:none;margin:0;accent-color:#194f3c}
.daily-steps-card .daily-breakdown{margin-top:12px}
.daily-steps-card .conversion-preview{margin:16px 0 0!important}
.daily-steps-card .tracker-note{padding-bottom:8px}
.daily-steps-card #note{min-height:70px;resize:vertical}
.daily-steps-card #send{min-height:50px;margin-top:16px}
.daily-steps-card .privacy{margin-top:12px;line-height:1.55}
@media(max-width:1080px){.daily-steps-card .tracker-choices{grid-template-columns:1fr}.daily-steps-card .tracker-intro,.daily-steps-card .tracker-hint{grid-column:1}}
@media(max-width:650px){.daily-steps-card.form-card{padding:17px}.daily-steps-card .tracker-choices{padding:14px}.daily-steps-card .tracker-person,.daily-steps-card .tracker-activity,.daily-steps-card .tracker-note{padding-top:15px;padding-bottom:15px}.daily-steps-card #step-form label:not(.breakdown-toggle){margin-top:11px}}


/* Compact personal stats moved above registration and activity forms */
.join-inner>.my-progress-card{grid-column:1/-1;grid-row:2;margin:0;padding:0;border-radius:16px;background:#f3f8ee;border:1px solid #d9e6d5;overflow:hidden}
@media(min-width:851px){
 .join-inner>.join-form{grid-column:1;grid-row:3}
 .join-inner>.daily-steps-card{grid-column:2;grid-row:3}
 .join-inner{grid-template-rows:auto auto auto;row-gap:17px}
}
.progress-disclosure{display:block}
.progress-summary{display:flex;align-items:center;gap:13px;cursor:pointer;padding:17px 20px;list-style:none}
.progress-summary::-webkit-details-marker{display:none}
.progress-summary-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:11px;background:#e0edda;font-size:1.25rem}
.progress-summary>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.progress-summary strong{font-size:1.02rem;color:#194f3c}
.progress-summary small{font-size:.78rem;color:#617864;line-height:1.4}
.progress-toggle-label{font-size:.75rem;font-weight:800;color:#277455;white-space:nowrap}
.progress-disclosure[open] .progress-toggle-label{font-size:0}
.progress-disclosure[open] .progress-toggle-label:after{content:'Close ▴';font-size:.75rem}
.progress-disclosure-content{padding:5px 22px 22px;border-top:1px solid #dce8d8;background:#fbfdf9}
.progress-disclosure-content h3{margin:15px 0 8px;font-size:1.6rem}
.progress-disclosure-content>.muted{margin:0 0 15px}
.progress-disclosure-content .progress-login-fields{margin:0 0 3px}
@media(max-width:850px){.join-inner>.my-progress-card{grid-column:auto;grid-row:auto}.progress-summary{padding:15px}.progress-toggle-label{display:none}}

/* Keep form group labels, controls, and helper copy spaced properly */
.daily-steps-card #step-form .tracker-person,
.daily-steps-card #step-form .tracker-activity,
.daily-steps-card #step-form .tracker-note{display:flex;flex-direction:column;gap:15px}
.daily-steps-card #step-form .tracker-subheading{margin:0 0 2px;font-size:1rem;line-height:1.45}
.daily-steps-card #step-form .tracker-field{display:flex;flex-direction:column;gap:7px;width:100%;min-width:0;margin:0}
.daily-steps-card #step-form .tracker-field>label{display:block;margin:0!important;font-size:.86rem;font-weight:800;line-height:1.45}
.daily-steps-card #step-form .tracker-field>select,
.daily-steps-card #step-form .tracker-field>input,
.daily-steps-card #step-form .tracker-field>textarea{width:100%;min-width:0;min-height:48px;margin:0;font-size:1rem;line-height:1.4}
.daily-steps-card #step-form .tracker-field>small{display:block;margin:0;font-size:.75rem;font-weight:400;line-height:1.5;color:#607666}
.daily-steps-card #step-form .tracker-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:14px}
.daily-steps-card #step-form .tracker-choice-field>label{margin:0!important}
.daily-steps-card #step-form .tracker-choices .tracker-intro{gap:2px}
.daily-steps-card #step-form .tracker-choices .tracker-hint{margin:0}
.daily-steps-card #step-form .tracker-activity #weekly-period-fields{margin:0}
.daily-steps-card #step-form .tracker-activity #daily-date-fields{margin:0}
.daily-steps-card #step-form .tracker-activity #single-amount-fields{margin:0}
.daily-steps-card #step-form .tracker-activity .conversion-preview{margin:0!important}
.daily-steps-card #step-form>.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.daily-steps-card #step-form>.website-field input{tab-size:0}
.daily-steps-card #step-form #send{margin:17px 0 0;min-height:50px}
.daily-steps-card #step-form #form-message{margin-top:9px}
.daily-steps-card .privacy{display:block;margin:15px 0 0;line-height:1.55}
@media(max-width:500px){.daily-steps-card #step-form .tracker-choices{grid-template-columns:1fr}.daily-steps-card #step-form .tracker-choices .tracker-intro,.daily-steps-card #step-form .tracker-choices .tracker-hint{grid-column:1}}


/* Fill the unused space below registration with personal stats */
@media(min-width:851px){
 .join-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:clamp(22px,3vw,38px);row-gap:18px;align-items:start}
 .join-inner>.join-intro{grid-column:1/-1;grid-row:1;max-width:840px}
 .join-inner>.join-form{grid-column:1;grid-row:2}
 .join-inner>.my-progress-card{grid-column:1;grid-row:3;min-width:0;align-self:start}
 .join-inner>.daily-steps-card{grid-column:2;grid-row:2/span 2;min-width:0}
 .join-inner>.my-progress-card .progress-login-fields{grid-template-columns:1fr;gap:12px}
}
@media(max-width:850px){
 .join-inner{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .join-inner>.join-intro,.join-inner>.join-form,.join-inner>.my-progress-card,.join-inner>.daily-steps-card{grid-row:auto;grid-column:auto;width:100%;max-width:none;margin:0}
}


/* Snapshot sits directly below hero, before join forms */
.hero + .stats-wrap{padding-top:0;position:relative;z-index:3;transform:translateY(-24px);margin-bottom:-18px}
.hero + .stats-wrap .stats-caption{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:4px;width:fit-content;max-width:100%;margin:0 0 10px;padding:8px 14px;border-radius:10px 10px 0 0;line-height:1.35}
.hero + .stats-wrap .stats-caption-note{display:inline-block;margin-left:6px;opacity:.85}
.hero + .stats-wrap .stats{overflow:hidden}
.hero + .stats-wrap + .join-section{padding-top:36px}
@media(max-width:650px){.hero + .stats-wrap{transform:translateY(-15px);margin-bottom:-10px}.hero + .stats-wrap .stats-caption{font-size:.68rem;padding:8px 10px}.hero + .stats-wrap .stats-caption-note{margin-left:0}.hero + .stats-wrap + .join-section{padding-top:26px}}


/* Hall of Fame and Walker of the Week — two equal columns */
.leaderboard-section .honors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.leaderboard-section .honors-grid>.panel.leader,
.leaderboard-section .honors-grid>.spotlight-card{margin:0;width:100%;min-width:0;height:100%}
.leaderboard-section .honors-grid>.panel.leader{display:flex;flex-direction:column}
.leaderboard-section .honors-grid .leader-list{display:flex;flex-direction:column;margin-top:16px;gap:0}
.leaderboard-section .honors-grid .leader-list li:not(.empty){width:100%;margin-bottom:0}
.leaderboard-section .honors-grid .leader-list li.empty{width:100%;min-height:185px}
.leaderboard-section .honors-grid .panel.leader .tiny{margin-top:auto;padding-top:15px;line-height:1.55}
.leaderboard-section .honors-grid .spotlight-card{display:flex;flex-direction:column;justify-content:flex-start}
.leaderboard-section .honors-grid .spotlight-content{flex-wrap:wrap;align-items:flex-start}
.leaderboard-section .honors-grid .spotlight-footer{margin-top:auto}
.leaderboard-section>.chart-panel{margin-top:20px}
@media(max-width:800px){
 .leaderboard-section .honors-grid{grid-template-columns:1fr;gap:16px}
 .leaderboard-section .honors-grid>.panel.leader,
 .leaderboard-section .honors-grid>.spotlight-card{height:auto}
}


/* Turkey Trot organizer hub */
.admin-main{max-width:1180px;padding:48px 22px 95px}
.admin-title{font-size:clamp(2.4rem,5vw,3.4rem)}
.organizer-nav{display:flex;gap:8px;flex-wrap:wrap;padding:13px;background:#e7f0df;border:1px solid #cfdcc9;border-radius:14px;margin:26px 0}
.organizer-nav a{padding:10px 13px;border-radius:8px;font-size:.82rem;font-weight:800;color:#21583d;background:#fff}
.organizer-nav a:hover,.organizer-nav a:focus-visible{background:#194f3c;color:#fff}
.admin-dashboard-group{margin:24px 0 32px;padding:23px;background:#fff;border:1px solid #dae4d7;border-radius:19px;scroll-margin-top:24px}
.admin-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:20px}
.admin-section-heading .eyebrow{margin:0 0 8px}
.admin-section-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0;color:#194f3c}
.admin-section-heading p{margin:9px 0 0}
.admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.admin-kpis>div{background:#eef5e9;border:1px solid #dae7d4;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.admin-kpis span{font-size:.75rem;font-weight:700;color:#56725b}
.admin-kpis strong{font-size:clamp(1.25rem,2vw,2rem);font-weight:800;color:#194f3c}
.admin-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.admin-tool-card{border:1px solid #dce6d8;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;background:#fbfdf9;min-width:0}
.admin-tool-card>span{font-size:1.8rem}
.admin-tool-card h3{font-family:'DM Serif Display',Georgia,serif;font-size:1.5rem;line-height:1.2;color:#194f3c;font-weight:400;margin:0}
.admin-tool-card p{font-size:.83rem;line-height:1.5;color:#617565;margin:0 0 6px}
.admin-tool-card label{font-size:.79rem;font-weight:800;color:#28583b}
.admin-tool-card select,.admin-dashboard-group #participant-search{min-height:43px;border:1px solid #cbdcc9;border-radius:9px;background:#fff;padding:9px 11px;width:100%;min-width:0}
.admin-tool-card button{margin-top:auto;align-self:stretch;padding:11px 12px}
.admin-participant-list{display:flex;flex-direction:column;gap:9px;margin-top:16px;max-height:520px;overflow-y:auto}
.admin-participant-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #e1e9df;background:#f7faf4;border-radius:10px;padding:12px 15px}
.admin-participant-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.admin-participant-row strong{color:#194f3c;overflow-wrap:anywhere}
.admin-participant-row span{font-size:.76rem;color:#667b68}
.admin-person-right{align-items:flex-end}
.admin-person-right .btn{padding:7px 11px;font-size:.75rem}
.admin-dashboard-group .panel{box-shadow:none}
.admin-dashboard-group .goal-box,.admin-dashboard-group .pin-reset-panel{max-width:none}
.admin-dashboard-group .finalize-box{background:#fff9e6;border-color:#ecdcac;margin-top:24px}
.admin-dashboard-group .finalize-box h3{font-size:1.5rem}
.admin-dashboard-group #admin-review .admin-actions{margin:0}
@media(max-width:950px){.admin-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.admin-main{padding:30px 12px 70px}.admin-dashboard-group{padding:16px;margin:17px 0}.admin-tool-grid,.admin-kpis{grid-template-columns:1fr 1fr}.admin-participant-row{align-items:flex-start;flex-direction:column}.admin-person-right{align-items:flex-start}.organizer-nav{padding:8px;gap:6px}.organizer-nav a{font-size:.75rem;padding:8px}.admin-section-heading{align-items:flex-start}.admin-section-heading .btn{width:100%}}
@media(max-width:420px){.admin-tool-grid,.admin-kpis{grid-template-columns:1fr}}


/* Automatically earned participant certificates */
.admin-certificate-roster{display:flex;flex-direction:column;gap:10px;margin-top:16px;max-height:680px;overflow:auto}
.admin-certificate-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:#f5f9f0;border:1px solid #dae6d6;border-radius:12px}
.admin-certificate-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.admin-certificate-copy strong{color:#194f3c;font-size:.97rem}
.admin-certificate-copy span{font-size:.82rem;color:#516956}
.admin-certificate-copy .certificate-provisional{font-size:.72rem;font-weight:700;color:#966c28}
.admin-certificate-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.admin-certificate-actions .btn{white-space:normal;text-align:center}
#admin-certificates>label{display:block;font-weight:800;font-size:.82rem;margin-bottom:8px}
#admin-certificates #certificate-search{max-width:540px}
@media(max-width:720px){.admin-certificate-row{flex-direction:column;align-items:stretch}.admin-certificate-actions{justify-content:stretch}.admin-certificate-actions .btn{flex:1 1 145px}}


/* Destructive organizer actions are isolated from normal approvals */
.admin-participant-row .admin-person-right{gap:8px}
.admin-participant-row .admin-person-right .btn.reject{background:#fff1eb;border:1px solid #e3b7a9;color:#873e32}
.admin-participant-row .admin-person-right .btn.reject:hover,.entry-actions .btn.reject:hover{background:#f7ded5}
.entry-actions .btn.reject{border:1px solid #e3b7a9}
.admin-participant-row .admin-person-right .btn{max-width:100%}
@media(max-width:650px){.admin-participant-row .admin-person-right{width:100%;align-items:stretch}.admin-participant-row .admin-person-right .btn{width:100%}}


/* Voluntary Turkey Trot Trail Talk photo-sharing */
.moments-section{padding-top:48px}
.moments-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:start}
.moments-intro{background:#e7f0df;border:1px solid #c9ddc5;border-radius:16px;padding:30px;min-width:0}
.moments-emoji{display:block;font-size:2rem;margin-bottom:14px}
.moments-intro h3,.moments-form h3{font-family:'DM Serif Display',Georgia,serif;font-size:2rem;line-height:1.13;font-weight:400;color:#194f3c;margin:0 0 14px}
.moments-intro p{font-size:.93rem;line-height:1.65;color:#4f6956}
.moments-form{display:flex;flex-direction:column;gap:9px}
.moments-form label{font-size:.84rem;font-weight:800;color:#27583b;margin-top:7px}
.moments-form input:not([type=checkbox]),.moments-form select,.moments-form textarea{width:100%;min-width:0;padding:11px 13px;border:1px solid #cbdaca;border-radius:8px;background:#fafdF9;font:inherit}
.moments-form input[type=file]{font-size:.83rem;line-height:1.5}
.moments-form .tiny{margin:0 0 8px;line-height:1.5}
.moments-form .moment-consent{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:13px;border-radius:10px;background:#eff6e9;font-size:.78rem;line-height:1.55;cursor:pointer}
.moments-form .moment-consent input{margin-top:3px;width:19px;height:19px;flex:none;accent-color:#194f3c}
.moments-form .btn{margin-top:12px}
.admin-moment-list{display:flex;flex-direction:column;gap:14px}
.admin-moment-card{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;padding:15px;border:1px solid #dce7d8;background:#fafcf8;border-radius:14px}
.admin-moment-photo{width:145px;height:135px;object-fit:cover;border-radius:9px;background:#e4eee0}
.admin-moment-details{display:flex;flex-direction:column;gap:6px;min-width:0}
.admin-moment-details strong{font-size:1rem;color:#194f3c}
.admin-moment-details span,.admin-moment-details small{font-size:.78rem;color:#657a68}
.admin-moment-details p{margin:0;font-size:.85rem;overflow-wrap:anywhere}
.admin-moment-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.admin-moment-actions .btn{font-size:.77rem;padding:10px 12px}
@media(max-width:800px){.moments-layout{grid-template-columns:1fr}.moments-intro{padding:22px}}
@media(max-width:520px){.admin-moment-card{grid-template-columns:1fr}.admin-moment-photo{width:100%;height:200px}.admin-moment-actions .btn{flex:1 1 145px}}


/* Shared organizer dashboard: center switcher */
.center-switch-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:20px;align-items:center;background:#e9f2df;border:2px solid #c7dbc0;border-radius:16px;margin:23px 0 24px;padding:22px}
.center-switch-card .eyebrow{margin:0 0 7px}
.center-switch-card h2{font-size:clamp(1.6rem,2.6vw,2.3rem);color:#194f3c;margin:0 0 8px}
.center-switch-card p{font-size:.87rem;color:#55715d;margin:0;max-width:600px}
.center-switch-controls{display:flex;flex-direction:column;gap:7px}
.center-switch-controls label{font-size:.78rem;font-weight:800;color:#295942}
.center-switch-controls select{width:100%;min-height:49px;background:#fff;border:1px solid #9fbea7;border-radius:9px;font:inherit;font-size:.96rem;font-weight:700;color:#194f3c;padding:11px 12px}
.center-switch-controls strong{font-size:.79rem;color:#265b3d}
.center-switch-controls .feedback{margin:0;font-size:.77rem}
@media(max-width:720px){.center-switch-card{grid-template-columns:1fr;padding:17px}}


/* Live two-center hero step counter — Cassadaga green styling */
.hero-versus{margin-top:27px;max-width:570px;border:1px solid rgba(40,91,63,.26);background:rgba(255,255,250,.94);border-radius:17px;padding:16px 18px;box-shadow:0 12px 25px rgba(20,68,38,.12)}
.versus-topline{display:flex;align-items:center;gap:8px;color:#1b563d;font-size:.7rem;font-weight:800;letter-spacing:.09em}
.versus-live-dot{width:8px;height:8px;border-radius:50%;background:#3c9465;box-shadow:0 0 0 3px #d5edd8;flex:none}
.versus-details{margin-left:auto;color:#486b53;font-size:.68rem;letter-spacing:0;white-space:nowrap}
.versus-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:10px;align-items:center;margin-top:14px}
.versus-team{min-width:0;display:flex;flex-direction:column;gap:2px}
.versus-team-name{font-size:.82rem;font-weight:800;color:#285e42}
.versus-steps{font-size:clamp(1.4rem,3.25vw,2.05rem);font-weight:800;letter-spacing:-.045em;line-height:1.2;color:#194f3c;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.versus-team small{font-size:.68rem;color:#597262}
.versus-divider{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#e1edda;color:#1c5b40;font-size:.8rem;font-weight:900}
.versus-note{margin:12px 0 0;color:#52735e;font-size:.72rem;line-height:1.5}
@media(max-width:650px){.hero-versus{margin-top:23px;padding:14px}.versus-scoreboard{gap:5px;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}.versus-divider{width:32px;height:32px}.versus-steps{font-size:clamp(1.3rem,6vw,1.9rem)}.versus-team-name{font-size:.76rem}.versus-details{font-size:.65rem}}


/* Two-center organizer hub — cheerful, distinct from public site styling. */
.admin-page{
  background:radial-gradient(circle at 10% 4%,rgba(255,213,139,.45),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(179,216,196,.46),transparent 32%),
    linear-gradient(180deg,#fffaf1 0%,#f4f5ec 46%,#fff9f3 100%);
  color:#283b34;
}
.admin-page .topbar{background:linear-gradient(90deg,#174b39 0%,#277359 55%,#b75a2d 100%);border:0;box-shadow:0 6px 22px rgba(28,72,48,.12)}
.admin-page .topbar .brand,.admin-page .topbar nav a{color:#fff}
.admin-page .topbar .brand small{color:#fcebc9}
.admin-page .topbar nav a{border:1px solid rgba(255,255,255,.4);padding:9px 13px;border-radius:10px}
.admin-page .topbar nav a:hover{background:rgba(255,255,255,.17)}
.admin-page .admin-title{color:#194f3c}
.admin-page .admin-main>.eyebrow{color:#a44f28}
.admin-page .admin-main>.muted{color:#5a685b}
.admin-page .center-switch-card{
  border:1px solid #e6c89f;
  background:linear-gradient(110deg,#fff0d5 0%,#fff9ec 45%,#e9f2e4 100%);
  box-shadow:0 10px 26px rgba(103,79,32,.09);
}
.admin-page .center-switch-card h2{color:#194f3c}
.admin-page .center-switch-card .eyebrow{color:#9d4a21}
.admin-page #center-indicator{display:inline-flex;align-items:center;background:#e3f2e5;color:#195238;border-radius:999px;padding:7px 11px;font-size:.79rem}
.admin-page .organizer-nav{background:#fff7e8;border-color:#e7d3b6;box-shadow:0 4px 14px rgba(109,76,37,.06)}
.admin-page .organizer-nav a{background:#fff;border:1px solid #f1e4d4;color:#295941}
.admin-page .organizer-nav a:nth-child(2),.admin-page .organizer-nav a:nth-child(5){background:#fff0dd;color:#995021;border-color:#f2d8b6}
.admin-page .organizer-nav a:nth-child(3),.admin-page .organizer-nav a:nth-child(6){background:#e9f2e5;color:#2c674a;border-color:#d3e2cf}
.admin-page .organizer-nav a:hover,.admin-page .organizer-nav a:focus-visible{background:#245d46;color:#fff;border-color:#245d46}
.admin-page .admin-dashboard-group{background:#fffdf9;border-color:#e9ddce;box-shadow:0 11px 30px rgba(92,63,26,.065);border-top:5px solid #2c7a58}
.admin-page #admin-printing,.admin-page #admin-review{border-top-color:#e49b4c}
.admin-page #admin-moments,.admin-page #admin-settings{border-top-color:#9475ab}
.admin-page #admin-certificates{border-top-color:#d2a947}
.admin-page #admin-participants{border-top-color:#519da1}
.admin-page .admin-section-heading h2{color:#234f40}
.admin-page .admin-section-heading .eyebrow{color:#aa572e}
.admin-page .admin-kpis>div{background:#eaf3e8;border-color:#d5e4d0}
.admin-page .admin-kpis>div:nth-child(5n+2){background:#fff0db;border-color:#f1d7ad}
.admin-page .admin-kpis>div:nth-child(5n+3){background:#f2eafa;border-color:#e2d4ee}
.admin-page .admin-kpis>div:nth-child(5n+4){background:#e3f2f3;border-color:#c8e1e4}
.admin-page .admin-kpis>div:nth-child(5n+5){background:#fff5ce;border-color:#ecdda3}
.admin-page .admin-kpis strong{color:#224e3c;font-variant-numeric:tabular-nums}
.admin-page .admin-kpis span{color:#50675a}
.admin-page .admin-tool-card{background:#f4f9f2;border-color:#d9e7d4;box-shadow:0 3px 10px rgba(42,74,43,.035)}
.admin-page .admin-tool-card:nth-child(6n+2){background:#fff1e4;border-color:#efd9c3}
.admin-page .admin-tool-card:nth-child(6n+3){background:#f2eefa;border-color:#e4d9ef}
.admin-page .admin-tool-card:nth-child(6n+4){background:#e9f6f6;border-color:#cce5e5}
.admin-page .admin-tool-card:nth-child(6n+5){background:#fff4da;border-color:#f1dfb6}
.admin-page .admin-tool-card:nth-child(6n+6){background:#fcece9;border-color:#edd6d2}
.admin-page .admin-tool-card h3{color:#245941}
.admin-page .admin-tool-card p{color:#536559}
.admin-page .btn.primary{background:#225f46;color:#fff}
.admin-page .btn.primary:hover{background:#174b37}
.admin-page .btn.outline{border-color:#a4c5b0;color:#20563c;background:#fff}
.admin-page .btn.outline:hover{background:#eaf5e9}
.admin-page input:focus-visible,.admin-page select:focus-visible,.admin-page textarea:focus-visible,.admin-page button:focus-visible,.admin-page a:focus-visible{outline:3px solid #c77b33;outline-offset:3px}
.admin-page .login-panel{border:1px solid #e8d4bb;background:#fffcf5;box-shadow:0 12px 32px rgba(79,62,28,.09)}
@media (prefers-reduced-motion:no-preference){
  .admin-page .admin-tool-card,.admin-page .admin-kpis>div{transition:transform .15s ease,box-shadow .15s ease}
  .admin-page .admin-tool-card:hover,.admin-page .admin-kpis>div:hover{transform:translateY(-2px);box-shadow:0 9px 23px rgba(52,80,55,.09)}
}
