:root{--salie:#8fa178;--groen:#b9d1bc;--lichtgroen:#e3ece6;--goud:#b89b4e;--gebroken-wit:#f7f6f2;--donker:#343434;--wit:#fff;--lijn:#d8d8d2}*{box-sizing:border-box}body{margin:0;background:var(--gebroken-wit);color:var(--donker);font-family:"Open Sans",Arial,sans-serif;font-size:16px;line-height:1.625}button,input,textarea{font:inherit;color:var(--donker)}.topbar{height:88px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--wit);border-bottom:1px solid var(--lijn);position:sticky;top:0;z-index:10}.brand{display:block;width:210px;line-height:0}.brand img{display:block;width:100%;height:58px;object-fit:contain;object-position:left center}.week-switcher{display:flex;align-items:center;gap:8px;position:relative}.icon-btn,.week-button{border:1px solid var(--donker);background:transparent;height:40px;cursor:pointer}.icon-btn{width:40px}.week-button{min-width:132px;font-weight:700;border-radius:999px;background:var(--goud);border-color:var(--goud)}.week-button span{margin-left:8px}#weekSelect{position:absolute;inset:0 48px;opacity:0;cursor:pointer}.profile-dot{width:40px;height:40px;display:grid;place-items:center;background:var(--salie);font-weight:700}main{max-width:1180px;margin:auto;padding:40px 28px 80px}.hero{display:grid;grid-template-columns:1fr 350px;gap:64px;align-items:center;padding:64px;background:var(--groen);margin-bottom:40px}.eyebrow{font-size:12px;line-height:16px;letter-spacing:.12em;font-weight:600;color:#806a2f;margin:0 0 16px}.hero h1,.section-heading h2{font-size:48px;line-height:54px;font-weight:300;margin:0 0 16px}.hero>div>p:last-child{max-width:620px;margin:0}.progress-card{background:var(--wit);padding:24px}.progress-card>div:first-child{display:flex;justify-content:space-between;font-size:13px;line-height:20px}.progress-track{height:8px;background:var(--lichtgroen);margin-top:16px;overflow:hidden}.progress-track span{display:block;height:100%;width:3%;background:var(--salie);transition:.4s}.progress-card small{display:block;margin-top:16px;font-style:italic;color:#666}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--lijn);margin-bottom:40px}.tab{border:0;background:transparent;padding:16px 24px;color:#686868;font-weight:700;cursor:pointer;border-bottom:3px solid transparent}.tab.active{color:var(--donker);border-color:var(--goud)}.panel{display:none}.panel.active{display:block;animation:enter .3s ease}@keyframes enter{from{opacity:0;transform:translateY(4px)}}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.section-heading h2{font-size:36px;line-height:42px}.section-heading>div>p:last-child{margin:8px 0 0}.saved{font-size:13px;line-height:20px;background:var(--lichtgroen);padding:8px 16px}.entry-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.card{background:var(--wit);border:1px solid var(--lijn);padding:24px}.card-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.card-title h3{font-size:18px;line-height:26px;font-weight:600;margin:0}.card-title p{margin:0;color:#666;font-size:13px;line-height:20px}.section-number{color:#806a2f;font-weight:700;font-size:12px;line-height:26px;letter-spacing:.12em;border-bottom:2px solid var(--goud);min-width:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid .wide{grid-column:1/-1}.field-grid label{font-size:13px;line-height:20px;font-weight:600}.field-grid label span{display:flex;align-items:center;border:1px solid var(--lijn);margin-top:8px;background:var(--gebroken-wit)}.field-grid input{width:100%;border:0;background:transparent;padding:14px 16px;outline:0}.field-grid label span:focus-within{border-color:var(--salie);box-shadow:inset 4px 0 0 var(--salie)}.field-grid b{font-size:12px;padding-right:16px;color:#686868}.hint{margin:16px 0 0;color:#666;font-size:13px;line-height:20px}.scale{padding:16px 0;border-top:1px solid var(--lijn)}.scale:first-of-type{border-top:0}.scale>div:first-child{display:flex;justify-content:space-between}.scale output{color:#806a2f;font-weight:700}.scale input{width:100%;accent-color:var(--salie);margin:16px 0 2px}.scale-labels{display:flex;justify-content:space-between;color:#686868;font-size:12px}.water-counter{display:grid;grid-template-columns:40px 50px 1fr 40px;align-items:center;background:var(--lichtgroen);padding:8px}.water-counter button{border:1px solid var(--salie);background:var(--wit);height:40px;font-size:20px;cursor:pointer}.water-counter strong{text-align:center;font-size:24px}.water-counter span{font-size:13px}.water-dots{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.water-dots i{width:18px;height:24px;background:var(--lichtgroen)}.water-dots i.full{background:var(--salie)}.primary{border:0;background:var(--goud);color:var(--donker);border-radius:999px;padding:14px 24px;font-size:15px;line-height:20px;font-weight:700;margin:24px 0 0 auto;display:flex;gap:24px;align-items:center;cursor:pointer}.primary:hover{filter:brightness(.96)}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:var(--lichtgroen);padding:24px;border-top:4px solid var(--salie)}.stat p{margin:0 0 16px;font-size:13px}.stat strong{font-size:28px;font-weight:300}.stat small{display:block;margin-top:8px}.chart-card{margin-bottom:24px}.chart{height:210px;display:flex;align-items:end;justify-content:space-around;border-bottom:1px solid var(--lijn);padding:20px 5px 0}.bar-wrap{height:100%;display:flex;align-items:center;flex-direction:column;justify-content:end;gap:8px}.bar{width:24px;background:var(--salie);min-height:3px}.bar-wrap small{font-size:12px}.comparison-card{background:var(--donker);color:var(--gebroken-wit);display:flex;justify-content:space-between;align-items:stretch}.comparison-card .eyebrow{color:var(--goud)}.comparison-card h3{font-size:24px;line-height:32px;font-weight:400;margin:0 0 8px}.comparison-card p:last-child{margin:0;color:#e4e4df}.gold-line{width:4px;background:var(--goud);margin-left:40px}.week-badge{padding:8px 16px;border-radius:999px;background:var(--goud);font-weight:700}.reflection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reflection-grid label>span{font-size:12px;letter-spacing:.12em;color:#806a2f;font-weight:600}.reflection-grid strong{display:block;font-size:18px;line-height:26px;font-weight:600;margin:8px 0 16px}.reflection-grid textarea{width:100%;min-height:120px;border:1px solid var(--lijn);background:var(--gebroken-wit);padding:16px;resize:vertical;outline:0}.reflection-grid textarea:focus{border-color:var(--salie);box-shadow:inset 4px 0 0 var(--salie)}footer{border-top:1px solid var(--lijn);padding:24px;text-align:center;font-size:13px;color:#686868;background:var(--wit)}footer span{color:var(--goud);margin:0 8px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,90px);background:var(--donker);color:var(--gebroken-wit);padding:12px 20px;border-left:4px solid var(--goud);opacity:0;transition:.3s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:820px){.topbar{padding:0 16px}.brand{width:155px}.hero{grid-template-columns:1fr;gap:24px;padding:40px}.entry-grid,.reflection-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.profile-dot{display:none}main{padding-inline:18px}.saved{display:none}}@media(max-width:520px){.topbar{height:74px}.brand{width:125px}.week-button{min-width:102px}.hero{padding:24px;margin-inline:-18px}.hero h1{font-size:36px;line-height:42px}.summary-grid,.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.tabs{overflow:auto}.tab{white-space:nowrap;padding-inline:14px}.section-heading h2{font-size:30px;line-height:38px}.card{padding:20px}}
.success-message{color:#496b50!important}
#coachLogin[hidden],#participantLogin[hidden]{display:none}
#sendMagicLink:disabled{opacity:.65;cursor:wait}
.detail-grid{grid-template-columns:1.25fr .75fr}.admin-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-profile-grid label{font-size:12px;font-weight:700;color:#666}.admin-profile-grid input{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--lijn);background:var(--gebroken-wit);outline:0}.admin-profile-grid input:focus{border-color:var(--salie);box-shadow:inset 3px 0 0 var(--salie)}.admin-profile-grid input[readonly]{color:#666}@media(max-width:820px){.detail-grid{grid-template-columns:1fr}}@media(max-width:520px){.admin-profile-grid{grid-template-columns:1fr}}
.modal-backdrop{position:fixed;inset:0;background:rgba(52,52,52,.58);display:grid;place-items:center;padding:24px;z-index:50}.modal-backdrop[hidden]{display:none}.modal-card{background:var(--wit);width:min(720px,100%);max-height:92vh;overflow:auto;padding:32px;border-top:6px solid var(--goud);box-shadow:0 24px 70px rgba(0,0,0,.22)}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between}.modal-heading h2{margin:0;font-size:32px;font-weight:300}.modal-heading .icon-btn{font-size:24px}.empty-state{padding:40px;text-align:center;background:var(--wit);border:1px solid var(--lijn)}.empty-state h3{margin:0 0 8px;font-weight:400}.empty-state p{margin:0;color:#686868}.table-error{color:#8a3535;padding:24px;background:#fff3f1;border-left:4px solid #b55}
.admin-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.admin-hero-actions .primary{margin:0}.admin-hero-actions .secondary{white-space:nowrap}@media(max-width:820px){.admin-hero-actions{justify-content:flex-start}}
.invite-result{background:var(--lichtgroen);padding:24px;margin-top:24px;border-left:4px solid var(--salie)}.invite-result h3{margin:0 0 8px;font-weight:400}.invite-result label{display:block;margin-top:16px;font-size:13px;font-weight:700}.invite-result input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--lijn);background:#fff}
