@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202c25;--green:#19271f;--sage:#70806e;--paper:#f5f3ed;--copper:#ad754d;--muted:#7c837a;--line:#e2e3d9;--white:#fff;--soft:#eeefe7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c7966d;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.shell{display:flex;min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:var(--green);color:#f2efe5;padding:43px 28px;display:flex;flex-direction:column;z-index:10}.brand{font-family:Manrope,sans-serif;font-size:32px;line-height:.99;letter-spacing:-1.4px;font-weight:800}.brand span{display:block}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2.3px;margin-top:18px;color:#b5bcae}.sidebar-label{font-size:9px;letter-spacing:2px;color:#95a18e;margin:55px 10px 18px}nav{display:grid;gap:8px}nav a{padding:15px 14px;border-radius:7px;color:#b8c2b2;display:flex;align-items:center;gap:15px;font-size:13px}nav a span{font-size:19px;width:20px}nav a:hover{background:#ffffff0a}nav a.active{background:#3b4735;color:#f3f2e9;box-shadow:inset 3px 0 #c59a70}.sidebar-bottom{margin-top:auto;padding-top:40px}.edition{font-size:8px;letter-spacing:1.7px;color:#9ca893}.sidebar-bottom p{font:22px/1.4 Georgia,serif}.sidebar-bottom em{color:#c19a75;font-weight:400}.ebook{display:flex;justify-content:space-between;border:1px solid #52604b;border-radius:5px;padding:13px;font-size:12px;margin:25px 0 20px}.sidebar-bottom small{font-size:10px;line-height:1.8;color:#9ca893}.mainwrap{margin-left:238px;flex:1;min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);padding:0 45px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.6px}.topbar>div{display:flex;align-items:center;gap:25px}.save-status{font-size:10px;letter-spacing:0;color:#6b795d}.iconbtn{border:0;background:transparent;color:#64715f;font-size:11px;letter-spacing:0;padding:10px}.iconbtn span{margin-left:8px;font-size:15px}main{max-width:1370px;margin:auto;padding:39px 45px 50px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--copper);font-weight:700;text-transform:uppercase}h1{font:800 clamp(28px,3vw,40px)/1.16 Manrope,sans-serif;letter-spacing:-1.7px;margin:12px 0}h2{font:700 19px/1.4 Manrope,sans-serif;letter-spacing:-.5px;margin:0 0 8px}h3{font:700 14px/1.4 Manrope,sans-serif;margin:0 0 5px}p{line-height:1.7}.muted{color:var(--muted);line-height:1.7}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.intro p{margin:0}.date-chip{border:1px solid #d8ddcf;border-radius:5px;padding:12px 14px;color:#69775e;font-size:11px;white-space:nowrap}.hero{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:25px}.feature{position:relative;overflow:hidden;background:#e9ece1;min-height:245px;border-color:#e1e5d8;padding:29px}.feature h2{font:700 29px/1.25 Manrope;letter-spacing:-1px;max-width:330px;margin:15px 0 10px}.feature p{max-width:320px;font-size:12px;color:#77816d}.feature .eyebrow{color:#70815f}.mountain{position:absolute;right:-10px;bottom:18px;width:250px;height:150px;opacity:.5;pointer-events:none}.feature>*:not(svg){position:relative;z-index:1}.pill{display:inline-flex;gap:7px;align-items:center;background:#fff9;border:1px solid #d6deca;border-radius:30px;color:#627254;padding:7px 12px;font-size:10px;margin-top:10px}.progress-card{display:flex;align-items:center;gap:24px}.ring{width:134px;height:134px;flex:none;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring strong{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:800 29px Manrope;letter-spacing:-1px}.ring small{font:10px 'DM Sans';letter-spacing:0;color:var(--muted);margin-top:4px}.progress-card p{font-size:11px;margin:7px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:20px 0 32px}.stat{padding:20px 23px;display:flex;align-items:center;gap:17px}.stat-icon{background:var(--soft);color:#6e7e5e;width:40px;height:40px;display:grid;place-content:center;border-radius:9px;font-size:21px}.stat strong{display:block;font:800 23px Manrope}.stat small{font-size:10px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-title p{font-size:11px;margin:0}.daystrip{display:grid;grid-template-columns:repeat(28,1fr);gap:5px;margin:15px 0 26px}.day{border:1px solid var(--line);background:white;border-radius:5px;padding:12px 0;color:#7f867a;font-size:10px;position:relative}.day.selected{background:var(--green);color:white;border-color:var(--green)}.day.completed:after{content:'';width:4px;height:4px;background:#9bad87;border-radius:50%;position:absolute;bottom:4px;left:calc(50% - 2px)}.todaygrid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.habits{display:grid;gap:11px}.habit{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.habit.done{background:#f2f5ed;border-color:#d9e2cf}.habit input{accent-color:#647957;width:21px;height:21px;flex:none}.habit small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.habit b{font-size:12px;font-weight:600}.habit-symbol{margin-left:auto;color:#9ca88f;font-size:19px}.energy{padding:25px}.energy p{font-size:11px}.energy-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.energy-buttons button{border:1px solid var(--line);border-radius:5px;background:white;padding:10px;color:#7c8674}.energy-buttons button.on{background:#e3ead8;border-color:#a4b38e;color:#425338}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}textarea{width:100%;resize:vertical;min-height:85px;border:1px solid var(--line);border-radius:5px;background:#fbfcf8;padding:12px;color:var(--ink);margin-top:12px;font-size:12px}.note{margin-top:20px;padding:20px 25px;border-left:3px solid #b99167;background:#eeece2;border-radius:0 7px 7px 0;font-size:11px;line-height:1.7;color:#7c7e6c}.note strong{display:block;color:#6e755f;font-size:10px;letter-spacing:1px;margin-bottom:4px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--green);border:1px solid var(--green);color:white;padding:12px 17px;border-radius:6px;font-size:12px}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.danger{background:#fff;color:#8c4737;border-color:#cfada0}.segmented{display:flex;background:#eaece3;padding:4px;border-radius:6px;gap:4px;flex-wrap:wrap}.segmented button{background:transparent;border:0;padding:10px 17px;border-radius:4px;color:#77816d;font-size:11px}.segmented button.on{background:white;color:#34462c;box-shadow:0 1px 3px #0001}.input{border:1px solid var(--line);border-radius:5px;background:white;padding:10px;color:var(--ink);max-width:100%;min-height:40px}label .input{display:block;margin-top:8px}.small{font-size:11px}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th{background:#f1f3ec;text-align:left;color:#77816d;font-size:10px;font-weight:500;padding:15px}.data-table td{padding:14px;border-bottom:1px solid var(--line);font-size:12px}.data-table input{width:90px;padding:10px 8px;border:1px solid #dce1d3;border-radius:5px;background:#fcfdf9;color:var(--ink)}.change{color:#708260;font-size:11px}.chart{width:100%;height:190px;margin-top:18px}.chart circle{fill:#667d54}.chart polyline{stroke:#667d54;fill:none;stroke-width:2.5}.chart text{fill:#7f8975;font-size:10px}.chart line{stroke:#e6e9df}.empty{padding:30px;text-align:center;color:#8b9383;font-size:12px;background:#f8f9f4;border-radius:6px}.charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.exercise{background:white;border:1px solid var(--line);border-radius:8px;padding:21px;margin-bottom:14px}.exercise-header{display:flex;justify-content:space-between;margin-bottom:17px;gap:10px}.exercise-header small{color:var(--muted);font-size:10px}.sets{display:flex;gap:12px;flex-wrap:wrap}.set{padding:12px;background:#f6f7f2;border-radius:6px;display:flex;align-items:center;gap:7px}.set>span{font-size:9px;margin-right:3px;color:var(--muted)}.set input{width:66px;border:1px solid #dce0d3;padding:9px;border-radius:4px;background:white}.set label{font-size:9px;color:var(--muted)}.set label span{display:block;margin-bottom:3px}.train-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.sticky{align-self:start;position:sticky;top:20px}.big{font:800 38px Manrope;margin:12px 0}.menu-list{display:grid;gap:10px}.menu-day{border:1px solid var(--line);border-radius:8px;padding:18px;background:white;display:grid;grid-template-columns:70px 1fr 1fr 1fr;gap:15px;align-items:start}.menu-day strong{font-size:12px}.menu-day small{display:block;font-size:9px;color:var(--muted);margin-bottom:6px}.recipe-btn{border:0;background:none;text-align:left;padding:0;font-size:11px;line-height:1.5;color:#526b40;text-decoration:underline;text-decoration-color:#ccd4c0;text-underline-offset:3px}.groceries{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.grocery{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.grocery input{accent-color:#687c54;width:18px;height:18px}.grocery span{flex:1}.grocery.checked span{text-decoration:line-through;color:#9ca591}.grocery b{font-weight:500;color:#657955;font-size:11px}.disclaimer{font-size:10px;line-height:1.8;color:var(--muted);margin-top:18px}footer{margin:0 45px;padding:24px 0;border-top:1px solid var(--line);font-weight:700;font-size:10px;letter-spacing:1px;display:flex;gap:24px;color:#5f6c57}footer span{font-weight:400;letter-spacing:0;color:#8a9281}footer small{margin-left:auto;font-weight:400;letter-spacing:0;color:#9a9f91}dialog{border:1px solid var(--line);border-radius:12px;padding:35px;max-width:580px;width:calc(100% - 30px);color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#12201888;backdrop-filter:blur(3px)}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:27px;color:#7b8571}.dialog-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.dialog-section p{font-size:12px;color:var(--muted)}.recipe-ingredients{background:var(--soft);padding:18px;border-radius:7px;font-size:12px;line-height:1.9}.recipe-steps{padding-left:20px;font-size:13px;line-height:1.8}.recipe-steps li{padding-bottom:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;box-shadow:0 8px 40px #0003;padding:14px 24px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s}#toast.show{opacity:1}.onboard{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff9;padding:15px 20px;border:1px solid #dce2d0;border-radius:8px;margin-bottom:22px}.onboard p{font-size:11px;margin:0;flex:1}.onboard input{font-size:12px}.noscript{padding:30px}
@media(min-width:1500px){main{padding-top:48px}.hero{grid-template-columns:1.7fr 1fr}.feature h2{max-width:400px}}
@media(max-width:1180px){.sidebar{width:200px;padding:35px 22px}.mainwrap{margin-left:200px}main{padding:30px 25px}.topbar{padding:0 25px}.progress-card{gap:12px;padding:17px}.ring{width:105px;height:105px}.ring strong{font-size:24px}.feature h2{font-size:25px}.mountain{width:170px;opacity:.35}.daystrip{grid-template-columns:repeat(14,1fr)}.menu-day{grid-template-columns:45px 1fr 1fr 1fr}footer{margin:0 25px}}
@media(max-width:850px){.hero,.todaygrid,.train-layout{grid-template-columns:1fr}.progress-card{justify-content:space-around}.feature{min-height:230px}.mountain{width:260px;opacity:.45}.charts{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:15px;gap:9px}.stat-icon{display:none}.sticky{position:static}.topbar>span{display:none}.topbar{justify-content:flex-end}.groceries{grid-template-columns:1fr}}
@media(max-width:620px){.sidebar{height:66px;width:100%;bottom:0;top:auto;padding:0;background:#19271f;display:block}.brand,.sidebar-label,.sidebar-bottom{display:none}nav{display:flex;gap:0;height:100%;justify-content:space-around}nav a{flex:1;flex-direction:column;gap:4px;justify-content:center;padding:7px 0;font-size:9px;border-radius:0}nav a span{font-size:20px;text-align:center}nav a.active{box-shadow:inset 0 2px #c59a70;background:#ffffff0a}.mainwrap{margin-left:0;padding-bottom:66px}.topbar{height:58px;padding:0 18px;justify-content:space-between}.topbar:before{content:'OERKRACHT';font:800 13px Manrope;letter-spacing:-.5px}.topbar>div{gap:5px}.save-status{font-size:8px}.iconbtn{font-size:0}.iconbtn span{font-size:20px}main{padding:27px 18px 32px}.intro{align-items:flex-start}.intro h1{font-size:30px}.intro p{font-size:11px;max-width:245px}.date-chip{font-size:9px;padding:8px;margin-top:22px}.eyebrow{font-size:8px}.feature{padding:24px}.feature h2{max-width:260px}.feature p{max-width:240px}.card{padding:20px}.stats{margin:15px 0 27px}.stat{padding:14px 11px}.stat strong{font-size:20px}.stat small{font-size:8px}.section-title h2{font-size:17px}.section-title p{font-size:9px}.daystrip{gap:4px}.day{padding:10px 0}.habit{padding:14px 10px}.habit b{font-size:11px}.habit small{font-size:9px}.habit-symbol{display:none}.menu-day{grid-template-columns:40px 1fr;gap:10px}.menu-day>div:first-child{grid-row:span 3}.menu-day>div:not(:first-child){grid-column:2}.menu-day small{display:inline;margin-right:7px}.segmented button{padding:9px 12px}.toolbar{gap:8px}.set{gap:5px;padding:9px}.set input{width:60px}.exercise{padding:17px}.exercise-header h3{font-size:12px}.sets{gap:8px}footer{margin:0 18px;gap:10px;font-size:8px}footer small{display:none}#toast{bottom:82px;width:calc(100% - 40px);text-align:center}.onboard{padding:14px}.onboard p{min-width:100%}dialog{padding:30px 22px}}
@media print{.sidebar,.topbar,.toolbar,footer,.btn,.segmented,.disclaimer{display:none!important}.mainwrap{margin:0}body{background:white}main{padding:0}.card{break-inside:avoid}.groceries{display:grid;grid-template-columns:1fr 1fr}.menu-day{break-inside:avoid}}
.login-page{min-height:100vh;max-width:1100px;display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;gap:0;padding:8vh 30px}.login-brand{padding:65px 45px;background:var(--green);color:var(--paper);border-radius:14px 0 0 14px;display:flex;flex-direction:column}.login-brand h1{font-size:72px;line-height:.95;letter-spacing:-4px;margin:45px 0}.login-brand p{font:30px/1.5 Georgia,serif}.login-brand em{color:#c39b72}.login-line{font-size:9px;letter-spacing:2px;margin-top:auto;padding-top:45px;color:#9fae93}.login-card{padding:65px 45px;background:white;border:1px solid var(--line);border-radius:0 14px 14px 0}.login-card h2{font-size:30px;line-height:1.25;margin:24px 0}.login-card p{font-size:13px;color:var(--muted)}.login-card .btn{margin:20px 0 0;width:100%;padding:17px}.login-card .disclaimer{font-size:10px}.sync-notice{margin-bottom:22px;background:#fff7e9;border:1px solid #dfc499;border-radius:8px;padding:16px 20px;font-size:12px;line-height:1.6}.sync-notice button,.sync-notice a{margin:10px 8px 0 0}.sync-notice strong{display:block}.save-status.problem{color:#a25430}.account-email{overflow-wrap:anywhere;font-size:12px;color:#6d775e}.sync-actions{display:flex;gap:10px;flex-wrap:wrap}.sync-status-note{font-size:11px;color:var(--muted);padding-top:8px}
@media(max-width:620px){.login-page{display:block;padding:20px}.login-brand{padding:32px;border-radius:12px 12px 0 0}.login-brand h1{font-size:47px;margin:22px 0}.login-brand p{display:none}.login-line{padding-top:15px}.login-card{padding:32px 25px;border-radius:0 0 12px 12px}.login-card h2{font-size:25px}.save-status{max-width:140px;letter-spacing:0}.sync-notice{padding:14px}}
