:root{--bg:#061522;--panel:#0a2032;--panel2:#0d2940;--panel3:#102f49;--line:#183b55;--text:#f5f9fc;--muted:#91a7b9;--blue:#0d8cff;--blue2:#0873d5;--green:#11b861;--red:#ef5b5b;--white:#fff}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:linear-gradient(180deg,#061522,#071a2a 48%,#061522);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.appShell{max-width:720px;margin:auto;min-height:100vh;background:rgba(5,20,33,.72);padding-bottom:78px}.topbar{min-height:70px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #102c42;background:#071b2d}.brand{display:flex;align-items:center;gap:10px}.brand img{width:42px;height:42px;border-radius:10px}.brand strong{font-size:20px}.brand small{display:block;letter-spacing:.22em;font-size:8px;color:#a7bbca}.iconBtn,.backBtn{border:0;background:transparent;color:#fff;font:inherit;font-size:24px;min-width:44px;min-height:44px}.dayTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 12px;background:#081c2e;border-bottom:1px solid #102c42;overflow:hidden}.dayTabs button{border:0;border-radius:8px;background:#0c273d;color:#d6e2ea;min-height:38px;padding:7px 4px;font-weight:700;font-size:12px}.dayTabs button.active{background:var(--blue);color:#fff}.dayTabs button:disabled{opacity:.48}main{padding:14px}.hero{position:relative;overflow:hidden;min-height:190px;border:1px solid #12354e;border-radius:18px;background:radial-gradient(circle at 88% 20%,#154d78 0,#0b2941 26%,#081d2e 60%);padding:22px;display:flex;align-items:center;justify-content:space-between}.hero h1{font-size:29px;line-height:1.05;margin:7px 0 18px}.heroMark{font-size:72px;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.07);transform:rotate(-8deg);padding-right:10px}.heroStats{display:grid;gap:7px;color:#d8e6ef;font-size:14px}.eyebrow{color:#83a0b5;font-size:10px;font-weight:900;letter-spacing:.13em}.sectionHead{display:flex;align-items:end;justify-content:space-between;margin:20px 2px 8px}.sectionHead h2,#historyView h2{margin:2px 0;font-size:22px}.progressText{color:#a8bbc9;font-size:13px}.progress{height:5px;background:#102d43;border-radius:10px;overflow:hidden;margin-bottom:12px}.progress span{display:block;height:100%;width:0;background:var(--blue);transition:.2s}.exerciseList{display:grid;gap:9px}.exerciseItem{width:100%;display:grid;grid-template-columns:28px 58px 1fr 22px;gap:10px;align-items:center;border:1px solid #173a54;border-radius:14px;background:linear-gradient(180deg,#0c273c,#0a2133);color:#fff;padding:9px 10px;text-align:left;min-height:78px}.exerciseItem.current{border-color:#238ee4}.exerciseItem.done{border-color:#176c4a}.exerciseNum{font-size:17px;font-weight:900;text-align:center}.exerciseItem img{width:58px;height:58px;object-fit:cover;object-position:top;border-radius:9px;background:#fff}.exerciseCopy{min-width:0}.exerciseCopy b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exerciseCopy small{display:block;color:#a8bdcc;margin-top:3px}.chevron{font-size:24px;color:#9eb3c2}.wideSecondary,.tabs button,.actions button,.blueBtn{border:1px solid #183c56;border-radius:11px;background:#0c2940;color:#fff;min-height:48px;padding:10px 14px;font:inherit;font-weight:800}.wideSecondary{width:100%;margin-top:14px}.backBtn{display:flex;align-items:center;gap:7px;padding:0;margin:0 0 10px}.backBtn span{font-size:14px;font-weight:700}.exerciseTitle{display:grid;grid-template-columns:74px 1fr;gap:13px;align-items:center;margin:4px 0 15px}.exerciseTitle img{width:74px;height:74px;object-fit:cover;object-position:top;border-radius:12px;background:#fff}.exerciseTitle h2{font-size:23px;margin:3px 0}.exerciseTitle p{margin:0;color:#a7bdcc;font-size:13px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.tabs button.active{background:var(--blue);border-color:var(--blue)}.previousCard{border:1px solid #143a55;background:#09243a;border-radius:14px;padding:14px;margin-bottom:15px}.previousCard p{margin:6px 0 0;font-weight:700;color:#e8f2f8}.setHeader,.setRow{display:grid;grid-template-columns:34px 1fr .75fr 52px;gap:8px;align-items:center}.setHeader{color:#8fa8ba;text-transform:uppercase;font-size:10px;font-weight:900;padding:0 3px;margin:8px 0}.setRow{margin:8px 0}.setRow>b{text-align:center}.setRow input[type=number],textarea{width:100%;min-height:48px;border:1px solid #183c56;border-radius:10px;background:#0d2b42;color:#fff;padding:10px;font:inherit;outline:none}.setRow input:focus,textarea:focus{border-color:var(--blue)}.setRow input[type=checkbox]{appearance:none;width:28px;height:28px;border:2px solid #496579;border-radius:7px;margin:auto;display:grid;place-content:center}.setRow input[type=checkbox]:checked{background:var(--green);border-color:var(--green)}.setRow input[type=checkbox]:checked:after{content:'✓';font-weight:900;color:#fff}.note{display:block;margin-top:17px;font-weight:800}.note textarea{display:block;margin-top:7px;resize:vertical}.actions{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:16px}.success{background:var(--green)!important;border-color:var(--green)!important}.actions button:disabled{opacity:.35}#status{min-height:22px;color:#55dc94;font-weight:800}.pdfHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.pdfHead p,.pdfFallback{color:#8fa7b8;font-size:12px;margin:3px 0}.blueBtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--blue);border-color:var(--blue);white-space:nowrap}iframe{width:100%;height:650px;border:1px solid #173b55;border-radius:12px;background:#fff}.historyList{display:grid;gap:10px;margin-top:16px}.historyEntry{background:#0b263b;border:1px solid #163b55;border-radius:13px;padding:14px;display:flex;justify-content:space-between;gap:10px}.historyEntry b{display:block}.historyEntry span{color:#91a9ba;font-size:13px}.bottomNav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(720px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#061827;border-top:1px solid #17374e;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.bottomNav button{border:0;background:transparent;color:#7891a4;min-height:54px;font-size:10px;font-weight:800}.bottomNav button span{display:block;font-size:22px;line-height:22px;margin-bottom:3px}.bottomNav button.active{color:#16a0ff}.bottomNav button:disabled{opacity:.4}@media(max-width:480px){main{padding:12px}.hero{min-height:174px;padding:18px}.hero h1{font-size:26px}.heroMark{font-size:56px}.dayTabs{gap:4px;padding:8px}.dayTabs button{font-size:11px}.exerciseItem{grid-template-columns:24px 54px 1fr 18px;padding:8px}.exerciseItem img{width:54px;height:54px}.exerciseTitle{grid-template-columns:64px 1fr}.exerciseTitle img{width:64px;height:64px}.exerciseTitle h2{font-size:20px}.setHeader,.setRow{grid-template-columns:30px 1fr .7fr 46px}iframe{height:540px}}@media(display-mode:standalone){.topbar{padding-top:calc(12px + env(safe-area-inset-top))}}
.exerciseActions{margin:0 0 16px}.pdfDirect{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:12px;background:var(--blue);color:#fff;text-decoration:none;font-weight:900;border:1px solid var(--blue)}
.menuBackdrop{position:fixed;z-index:39;inset:0;background:rgba(0,0,0,.58)}.appMenu{position:fixed;z-index:40;top:0;right:0;width:min(88%,360px);height:100%;overflow:auto;background:#071b2d;border-left:1px solid #183b55;padding:calc(10px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom));box-shadow:-16px 0 36px rgba(0,0,0,.35)}.menuHead{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #17374e;margin-bottom:10px}.appMenu>button:not(.iconBtn){display:flex;align-items:center;gap:12px;width:100%;min-height:50px;border:0;border-radius:10px;background:transparent;color:#eaf4fa;text-align:left;padding:9px 12px;font:inherit;font-weight:750}.appMenu>button span{flex:1}.appMenu>button small{color:#7590a3;font-size:10px}.appMenu>button.selected,.appMenu>button:active:not(:disabled){background:#0d3554;color:#29a8ff}.appMenu>button:disabled{opacity:.4}.menuLabel{color:#7792a6;font-size:10px;font-weight:900;letter-spacing:.12em;margin:18px 12px 6px}.menuOpen{overflow:hidden}
.pdfModal{position:fixed;z-index:60;inset:0;background:#061522;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.pdfModal[hidden]{display:none}.pdfModalBar{min-height:62px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;background:#071b2d;border-bottom:1px solid #183b55}.pdfModalBar b{display:block}.pdfModalBar small{color:var(--muted)}.pdfModalBar button{width:46px;height:46px;border:0;border-radius:12px;background:#102f49;color:#fff;font-size:30px}.pdfModal iframe{flex:1;width:100%;height:auto;border:0;border-radius:0;background:#fff}.timerCard{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0b263b;border:1px solid #163b55;border-radius:14px;padding:12px 14px;margin:12px 0}.timerCard strong{display:block;font-size:26px;letter-spacing:.04em}.timerCard button{min-height:42px;border:1px solid #24506d;border-radius:10px;background:#0d3554;color:#fff;font-weight:800;padding:0 14px}.statGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}.statCard{background:#0b263b;border:1px solid #163b55;border-radius:14px;padding:14px}.statCard span{display:block;color:var(--muted);font-size:12px}.statCard b{display:block;font-size:25px;margin-top:3px}.selectLabel{display:block;font-weight:800;margin:18px 0 10px}.selectLabel select,.settingsCard select{width:100%;min-height:48px;margin-top:7px;border:1px solid #183c56;border-radius:10px;background:#0d2b42;color:#fff;padding:10px;font:inherit}.progressList{display:grid;gap:9px}.progressRow{background:#0b263b;border:1px solid #163b55;border-radius:13px;padding:12px}.progressRow div{display:flex;justify-content:space-between;gap:10px}.progressRow small{color:var(--muted)}.settingsCard{background:#0b263b;border:1px solid #163b55;border-radius:14px;padding:15px;margin:12px 0}.settingsCard p{color:var(--muted);font-size:13px}.dangerBtn{width:100%;min-height:48px;margin-top:9px;border:1px solid #8b3434;border-radius:11px;background:#4b2027;color:#fff;font-weight:800}.historyEntry{display:block}.historyEntry summary{list-style:none;display:flex;justify-content:space-between;gap:10px;cursor:pointer}.historyEntry summary::-webkit-details-marker{display:none}.historyDetail{border-top:1px solid #173b55;margin-top:10px;padding-top:8px;display:grid;gap:7px}.historyExercise{font-size:12px;color:#c8d7e1}.historyExercise b{display:inline}.toast{position:fixed;z-index:80;left:50%;bottom:90px;transform:translateX(-50%);width:min(calc(100% - 30px),500px);background:#123b2c;border:1px solid #1e7b54;color:#fff;border-radius:12px;padding:12px;text-align:center;font-weight:800}.toast[hidden]{display:none}

.timerActions{display:flex;align-items:center;gap:12px}.pdfModal iframe{display:block;width:100%;flex:1;min-height:70vh;border:0;background:#fff}.pdfModal{display:flex;flex-direction:column}.pdfModal[hidden]{display:none!important}

.sheetScroller{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;background:#111;display:flex;justify-content:center;align-items:flex-start}.sheetScroller img{display:block;width:100%;height:auto;max-width:900px;background:#fff}@media(max-width:700px){.pdfModalBar{position:sticky;top:0;z-index:3}.sheetScroller img{max-width:none;width:100%}}

.completedExercise{border-left:3px solid #22c55e;padding-left:10px}.completedExercise>span{display:block;color:#22c55e;font-size:12px;font-weight:800;margin:3px 0 6px}
/* v0.6 – Schema beheren + vaste oefeningenbibliotheek */
.manageIntro,.libraryHead p{color:var(--muted);font-size:13px;line-height:1.55}.manageDayTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.manageDayTabs button{min-height:46px;border:1px solid #1b4562;border-radius:11px;background:#0b263b;color:#b7c9d5;font-weight:850}.manageDayTabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.manageHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:20px 0 10px}.manageHead h3,.libraryHead h3{margin:3px 0 0;font-size:20px}.manageCount{color:#8fa8ba;font-size:12px;font-weight:800;white-space:nowrap}.schemaExerciseList,.libraryList{display:grid;gap:9px}.schemaManageItem,.libraryItem{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:11px;align-items:center;background:#0b263b;border:1px solid #163b55;border-radius:13px;padding:9px}.schemaManageItem img,.libraryItem img{width:50px;height:50px;object-fit:cover;object-position:top;border-radius:9px;background:#fff}.manageCopy{min-width:0}.manageCopy b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manageCopy small{display:block;color:#8fa8ba;font-size:11px;margin-top:3px;line-height:1.3}.manageActions{display:flex;gap:5px;align-items:center}.manageActions button,.libraryItem>button{min-width:36px;height:36px;border:1px solid #24506d;border-radius:9px;background:#0d3554;color:#fff;font-weight:900;padding:0 10px}.manageActions .removeExercise{border-color:#713a42;background:#45232a;color:#ffb3b9}.manageActions button:disabled{opacity:.28}.libraryItem.added{opacity:.55}.libraryItem.added>button{background:#123b2c;border-color:#1e7b54;color:#83e7b2}.libraryHead{border-top:1px solid #17374e;margin-top:24px;padding-top:22px;margin-bottom:10px}.manageReset{margin-top:18px}.emptySchema{border:1px dashed #31536a;border-radius:13px;padding:18px;text-align:center;color:#8fa8ba;font-size:13px}.libraryBadge{display:inline-block;color:#57bfff;font-size:10px;font-weight:900;letter-spacing:.04em;margin-top:4px}@media(max-width:430px){.schemaManageItem,.libraryItem{grid-template-columns:46px minmax(0,1fr) auto;padding:8px;gap:8px}.schemaManageItem img,.libraryItem img{width:46px;height:46px}.manageActions{display:grid;grid-template-columns:repeat(2,34px)}.manageActions .removeExercise{grid-column:1/3;width:73px}.manageActions button{padding:0}.libraryItem>button{min-width:68px;font-size:11px}.manageHead{align-items:flex-start;flex-direction:column;gap:3px}}

/* v0.6.4: ingebouwd logo, onafhankelijk van image-cache of bestandspad */
.brand .brandMark{width:44px;height:44px;flex:0 0 44px;display:block;overflow:visible}
.menuHead .brand .brandMark{width:44px;height:44px}

/* v0.6.5 FOUC */
#homeView,#exerciseView,#historyView,#statsView,#schemaView,#settingsView{animation:none!important}[hidden]{display:none!important}


/* v0.6.9 — zelfstandige lichaamsgewichttracker */
.bodyWeightIntro{color:#a9c8dc;max-width:720px}.bodyWeightGoalCard{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:16px;border:1px solid #174866;border-radius:14px;background:#0b3047;margin:18px 0}
.bodyWeightGoalCard label{font-size:12px;font-weight:800;color:#a9c8dc}.bodyWeightGoalCard input{display:block;width:100%;margin-top:7px}.bodyWeightGoalCard button{min-height:48px}
.bodyWeightStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 22px}.bodyWeightStat{padding:14px;border:1px solid #174866;border-radius:12px;background:#08283d}.bodyWeightStat span{display:block;color:#91b5ca;font-size:11px;font-weight:800;text-transform:uppercase}.bodyWeightStat b{display:block;margin-top:5px;font-size:20px}
.bodyWeightHistory{display:grid;gap:8px}.bodyWeightRow{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 14px;border:1px solid #123f5b;border-radius:11px;background:#08263a}.bodyWeightRow span{color:#a9c8dc}.bodyWeightRow b{font-size:16px}
@media(max-width:620px){.bodyWeightGoalCard{grid-template-columns:1fr 1fr}.bodyWeightGoalCard button{grid-column:1/-1}.bodyWeightStats{grid-template-columns:1fr 1fr}}

/* v0.7.0 — korte branded app-intro na de native PWA launch */
.appSplash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#031725;opacity:1;visibility:visible;transition:opacity .28s ease,visibility .28s ease}
.appSplash.isLeaving{opacity:0;visibility:hidden;pointer-events:none}
.splashInner{display:flex;flex-direction:column;align-items:center;transform:translateY(-3vh)}
.splashMark{width:108px;height:74px;filter:drop-shadow(0 10px 28px rgba(14,148,255,.22))}
.splashBrand{margin-top:14px;text-align:center}.splashBrand strong{display:block;font-size:29px;line-height:1;color:#fff;letter-spacing:.2px}.splashBrand small{display:block;margin-top:7px;color:#75c9ff;font-size:10px;font-weight:900;letter-spacing:3.2px}
.splashLoader{width:82px;height:3px;margin-top:28px;border-radius:99px;overflow:hidden;background:#0c3650}.splashLoader span{display:block;width:35%;height:100%;border-radius:99px;background:#1597f5;animation:hgSplashLoad .8s ease-in-out infinite alternate}
@keyframes hgSplashLoad{from{transform:translateX(0)}to{transform:translateX(185%)}}
@media(prefers-reduced-motion:reduce){.appSplash{transition:none}.splashLoader span{animation:none;width:100%}}

.dayEditorCard,.addDayCard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0 18px}
.dayEditorCard label{display:block;font-weight:700}.dayDescriptionRow,.addDayRow{display:flex;gap:8px;margin-top:8px}
.dayDescriptionRow input,.addDayRow select{flex:1;min-width:0;background:var(--field);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px}
.dayDescriptionRow button,.addDayRow button{white-space:nowrap}.dayEditorCard .dangerBtn{margin-top:12px;width:100%}
.addDayCard small{display:block;margin-top:8px;color:var(--muted);line-height:1.45}
.manageDayTabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.manageDayTabs button{flex:0 0 auto}
@media(max-width:560px){.dayDescriptionRow,.addDayRow{flex-direction:column}.dayDescriptionRow button,.addDayRow button{width:100%}}
\n/* v0.7.5 – polished schema manager */
.dayEditorCard,.addDayCard{background:linear-gradient(180deg,rgba(15,52,76,.96),rgba(10,42,63,.96));border:1px solid #1f5879;border-radius:16px;padding:16px;margin:14px 0 20px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.dayEditorCard label{display:block;font-weight:800;color:#fff}.dayDescriptionRow,.addDayRow{display:flex;gap:10px;margin-top:10px;align-items:stretch}
.dayDescriptionRow input,.addDayRow select{flex:1;min-width:0;height:46px;background:#08283d;border:1px solid #245b7c;border-radius:11px;color:#fff;padding:0 13px;font:inherit;outline:none;transition:border-color .18s,box-shadow .18s}
.dayDescriptionRow input:focus,.addDayRow select:focus{border-color:#1595ff;box-shadow:0 0 0 3px rgba(21,149,255,.15)}
.dayDescriptionRow button,.addDayRow button{height:46px;border:0;border-radius:11px;background:#1595ff;color:#fff;font-weight:800;padding:0 18px;cursor:pointer;box-shadow:0 6px 16px rgba(21,149,255,.18)}
.dayDescriptionRow button:hover,.addDayRow button:hover{background:#2aa0ff}
.dayEditorCard .dangerBtn{margin-top:13px;width:100%;min-height:44px;background:rgba(173,52,60,.18);border:1px solid #a33c47;border-radius:11px;color:#ffb9be;font-weight:800;box-shadow:none}
.dayEditorCard .dangerBtn:hover{background:rgba(173,52,60,.28);color:#fff}
.addDayCard .eyebrow{display:block;margin-bottom:3px}.addDayCard small{display:block;margin-top:10px;color:#a9d6f4;line-height:1.5}
.manageDayTabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.manageDayTabs::-webkit-scrollbar{display:none}.manageDayTabs button{flex:0 0 auto;min-height:42px;padding:0 13px;border:1px solid #1c5273;border-radius:10px;background:#0d3149;color:#d9efff;font-weight:800;cursor:pointer}.manageDayTabs button.active{background:#1595ff;border-color:#1595ff;color:#fff;box-shadow:0 5px 14px rgba(21,149,255,.2)}
#dayTabs button{cursor:pointer;position:relative;z-index:1}
@media(max-width:560px){.dayDescriptionRow,.addDayRow{flex-direction:column}.dayDescriptionRow button,.addDayRow button{width:100%}.dayEditorCard,.addDayCard{padding:14px}}

.progressAdvice{margin:12px 0;background:linear-gradient(135deg,rgba(21,148,255,.12),rgba(21,148,255,.04));border:1px solid rgba(21,148,255,.35);border-radius:14px;padding:14px 16px}
.progressAdvice p{margin:6px 0 0;color:var(--text);line-height:1.5}.chartCard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0 18px}
.chartHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chartHead h3{margin:4px 0 8px}.chartHead>span{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase}
#progressChart{display:block;width:100%;height:260px}.exercisePrCards{margin-top:12px}
