:root{color:#17211b;background:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:1px solid #c7c9bf;background:#fff;color:#17211b;border-radius:6px;padding:.6rem .8rem;cursor:pointer}button:hover{border-color:#70836f}button:disabled{opacity:.62;cursor:not-allowed}.primary{background:#1f6f58;border-color:#1f6f58;color:#fff}.large{padding:.8rem 1rem}.iconText,aside button,.status{display:inline-flex;gap:.45rem;align-items:center}.topbar{position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1.1rem,4vw,3.6rem);background:#f4f0e7eb;border-bottom:1px solid rgba(23,33,27,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbarBrandGroup{display:inline-flex;align-items:center;gap:.65rem}.brand{border:0;background:transparent;font-weight:500;font-size:1.28rem;letter-spacing:.42rem;padding-left:0}nav,.accountNav{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.sidebarToggle{display:none;padding:.5rem}.languageSelector{display:inline-flex;align-items:center;gap:.4rem;width:auto;color:#556457;font-size:.9rem}.languageSelector select{width:auto;min-width:96px;padding:.55rem .65rem}.landingPage{background:#f4f0e7;color:#1e241f}.hero{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(300px,.78fr);gap:clamp(2rem,5vw,5rem);align-items:stretch;padding:clamp(2.5rem,6vw,5.5rem) clamp(1rem,5vw,5rem);background:#f4f0e7}.karuHeroContent{display:grid;grid-template-rows:auto 1fr;gap:clamp(3rem,8vw,7rem);align-content:space-between;min-height:620px}.karuBrandLockup{display:grid;justify-items:start;gap:1rem}.karuWordmark{font-size:clamp(3.4rem,8vw,7rem);line-height:.9;letter-spacing:.28em;font-weight:400}.karuTagline{color:#3f473f;font-size:.78rem;font-weight:700;letter-spacing:.42em;text-transform:uppercase}.karuGlyph{position:relative;display:block;width:2px;height:70px;margin-top:.45rem;background:#1e241f}.karuGlyph:before,.karuGlyph:after{content:"";position:absolute;left:1px;top:8px;width:25px;height:48px;border-top:2px solid #1e241f;transform-origin:left top}.karuGlyph:before{transform:rotate(42deg)}.karuGlyph:after{transform:rotate(138deg);left:0}.karuHeroCopy{max-width:660px;display:grid;gap:1.2rem}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,7vw,6.7rem);font-weight:500;line-height:.98;margin:0;letter-spacing:0}.hero p{max-width:560px;font-size:1.05rem;color:#30382f}.karuHeroImage{margin:0;min-height:620px;overflow:hidden;border-radius:0 0 8px 8px;box-shadow:inset 0 -90px 120px #17211b2e}.karuHeroImage img{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center;filter:saturate(.72) contrast(.95)}.eyebrow,.badge{text-transform:uppercase;letter-spacing:0;font-size:.78rem;color:#556457;font-weight:700}.badge{display:inline-flex;align-items:center;border:1px solid #d6d8ce;border-radius:999px;padding:.18rem .5rem;background:#f7f5ef}.badge.ok,.pill{color:#1f6f58;border-color:#bdd8ca;background:#edf7f1}.badge.accent{color:#7a4d00;border-color:#e0c47f;background:#fff8df}.band,.page{padding:clamp(2rem,5vw,4rem) clamp(1rem,5vw,5rem)}.band{border-top:1px solid rgba(23,33,27,.1);background:#fffdf8}.landingPage .band{display:grid;gap:1rem;background:#f4f0e7}.landingPage .band h2{max-width:760px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4.2rem);font-weight:500;line-height:1.05}.landingPage .band>p,.landingPage .band>div>p{max-width:720px;color:#3f473f}.landingCtaBand{grid-template-columns:minmax(0,1fr) auto;align-items:end}.karuLanding{--karu-bg: #ece8e1;--karu-panel: #f5f2ec;--karu-text: #1d1d1b;--karu-muted: #6b685f;--karu-line: rgba(0, 0, 0, .12);--karu-olive: #5f6448;--karu-olive-dark: #494d35;--karu-white-soft: #f8f5ef;height:100vh;height:100svh;overflow:hidden;background:var(--karu-bg);color:var(--karu-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.karuLandingHero{position:relative;height:100vh;height:100svh;min-height:0;overflow:hidden;background-position:right center;background-size:cover;display:grid;grid-template-rows:auto minmax(0,1fr) auto;isolation:isolate}.karuLandingOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ece8e1,#ece8e1f5 35%,#ece8e1a6 52%,#ece8e114 72%),linear-gradient(180deg,#ece8e15c,#ece8e10f 56%,#1d1d1b1f);pointer-events:none}.karuLandingHeader,.karuLandingContent,.karuLandingStrip,.karuLandingMobileImage{position:relative;z-index:1}.karuLandingHeader{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(150px,1fr);align-items:center;gap:1.5rem;padding:clamp(.85rem,2vh,1.35rem) clamp(1.4rem,4vw,4rem)}.karuLandingBrand,.karuLandingNav button,.karuLoginButton,.karuPrimaryCta,.karuSecondaryCta{border-radius:2px;letter-spacing:.18em;text-transform:uppercase}.karuLandingBrand{display:inline-flex;align-items:center;gap:1rem;width:fit-content;padding:0;border:0;background:transparent;color:var(--karu-text)}.karuLandingBrand img{width:auto;height:clamp(34px,5vh,42px);object-fit:contain}.karuLandingBrand strong{display:block;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:500;letter-spacing:.34em;line-height:.95}.karuLandingBrand small{display:block;margin-top:.24rem;color:var(--karu-muted);font-size:.68rem;letter-spacing:.36em;white-space:nowrap}.karuLandingNav{display:inline-flex;gap:clamp(1rem,3vw,3.2rem);justify-content:center}.karuLandingNav button{padding:.35rem 0;border:0;background:transparent;color:var(--karu-text);font-size:.82rem}.karuLandingNav button:hover{color:var(--karu-olive)}.karuMobileMenuButton,.karuMobileMenu{display:none}.karuLoginButton{justify-self:end;display:inline-flex;align-items:center;gap:.7rem;height:clamp(38px,5.4vh,44px);padding:0 22px;border:1px solid rgba(0,0,0,.2);background:transparent;color:var(--karu-text);font-size:.82rem}.karuLoginButton:hover{background:#0000000a}.karuLandingContent{align-self:center;display:grid;gap:clamp(1.2rem,3.4vh,2.4rem);max-width:720px;min-height:0;padding:clamp(1rem,4vh,3.2rem) clamp(1.4rem,7vw,7rem)}.karuLandingCopy{display:grid;gap:clamp(.65rem,1.7vh,1rem)}.karuLandingEyebrow{margin:0;color:var(--karu-text);font-size:.78rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase}.karuLandingCopy h1{max-width:620px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,6vw,6.5rem);font-weight:500;line-height:.92;letter-spacing:-.04em}.karuLandingRule{width:3.2rem;height:1px;margin:clamp(.15rem,.8vh,.45rem) 0 clamp(.05rem,.45vh,.25rem);background:var(--karu-text)}.karuLandingCopy>p:not(.karuLandingEyebrow){max-width:430px;margin:0;color:var(--karu-muted);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.5}.karuLandingActions{display:flex;align-items:center;gap:clamp(.8rem,2vh,1.4rem);flex-wrap:wrap;padding-top:clamp(.15rem,1vh,.5rem)}.karuPrimaryCta{display:inline-flex;align-items:center;gap:.8rem;padding:clamp(.72rem,1.6vh,.95rem) 1.25rem;border:1px solid var(--karu-olive);background:var(--karu-olive);color:var(--karu-white-soft);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.karuPrimaryCta:hover{background:var(--karu-olive-dark);border-color:var(--karu-olive-dark);box-shadow:0 10px 28px #5f64482e}.karuSecondaryCta{display:inline-flex;align-items:center;gap:.75rem;border:0;background:transparent;color:var(--karu-text)}.karuSecondaryCta span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid var(--karu-line);border-radius:999px;font-size:.7rem}.karuLandingPillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px;align-self:end;border-top:1px solid transparent}.karuLandingPillars div{display:grid;justify-items:center;gap:clamp(.45rem,1.2vh,.75rem);padding:0 1.25rem;border-right:1px solid var(--karu-line);text-align:center}.karuLandingPillars div:first-child{padding-left:0}.karuLandingPillars div:last-child{border-right:0;padding-right:0}.karuLandingPillars svg{width:clamp(32px,4.8vh,42px);height:clamp(32px,4.8vh,42px);fill:none;stroke:var(--karu-text);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.karuLandingPillars span{color:var(--karu-text);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.karuLandingStrip{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1fr) auto;gap:clamp(1rem,4vw,4rem);align-items:center;padding:clamp(.7rem,1.9vh,1.15rem) clamp(1.2rem,7vw,7rem);border-top:1px solid rgba(0,0,0,.08);background:#ece8e1d1}.karuLandingStrip blockquote{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(.82rem,1.8vh,.96rem);line-height:1.45}.karuLandingStrip blockquote:before{content:"“";margin-right:.35rem;font-size:1.8rem}.karuLandingStrip div{display:grid;gap:.26rem;padding-left:clamp(1rem,3vw,3rem);border-left:1px solid var(--karu-line)}.karuLandingStrip span{font-size:clamp(.62rem,1.45vh,.72rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase}.karuFooterCredit{width:fit-content;margin-top:.18rem;color:var(--karu-muted);font-size:clamp(.6rem,1.35vh,.68rem);letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.karuFooterCredit:hover{color:var(--karu-text);text-decoration:underline;text-underline-offset:3px}.karuLandingStripSymbol{width:auto;height:clamp(36px,6vh,50px);object-fit:contain}.karuLandingMobileImage{display:none}.karuInfoModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#1d1d1b57;animation:karuModalFade .22s ease both}.karuInfoModal{width:min(960px,100%);max-height:90vh;overflow:auto;padding:clamp(1.2rem,3vw,2rem);border:1px solid rgba(0,0,0,.08);background:#f5f2ec;color:var(--karu-text);box-shadow:0 24px 70px #0000002e;animation:karuModalIn .22s ease both}.karuInfoModalHeader{display:flex;justify-content:space-between;gap:1rem;align-items:center}.karuInfoModalHeader button{border:1px solid var(--karu-line);background:transparent;color:var(--karu-text)}.karuInfoModal h2{margin:.8rem 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:500;line-height:1}.karuModalStack{display:grid;gap:1rem}.karuModalStack p{margin:0;color:#30332d}.karuModalGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.karuModalGrid article{border:1px solid var(--karu-line);padding:1rem;background:#ece8e180}.karuModalGrid h3{margin:0 0 .45rem;font-family:Georgia,Times New Roman,serif;font-weight:500}.karuTrainerGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem}.karuTrainerGrid article{display:grid;gap:.65rem;border:1px solid var(--karu-line);padding:.8rem;background:#ece8e180}.karuTrainerGrid article>div{min-height:150px;background-position:right center;background-size:cover;filter:saturate(.82)}.karuTrainerGrid span{color:var(--karu-muted);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.karuTrainerGrid h3{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.karuTrainerGrid button:disabled{border:1px solid var(--karu-line);background:transparent;color:var(--karu-muted);cursor:default}.karuFaqList details{border-radius:0;background:transparent}.karuFaqList summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}@keyframes karuModalFade{0%{opacity:0}to{opacity:1}}@keyframes karuModalIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.karuInfoModalBackdrop,.karuInfoModal,.karuPrimaryCta{animation:none;transition:none}}.trainerIntro{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,5rem);background:#ebe5d7;border-top:1px solid #d8d2c4;border-bottom:1px solid #d8d2c4}.trainerIntroInner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,430px);gap:clamp(1.5rem,5vw,4rem);align-items:center;max-width:1180px;margin:0 auto}.trainerIntroCopy{display:grid;gap:1rem;color:#17211b}.trainerIntroCopy h2{max-width:760px;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(2rem,4vw,4rem);line-height:1.05}.trainerIdentity{display:grid;gap:.15rem;padding-top:.35rem;border-top:1px solid rgba(23,33,27,.16)}.trainerIdentity strong{font-size:1.05rem}.trainerIdentity span{color:#59665c}.trainerIntro blockquote{margin:0;padding:.85rem 0 .85rem 1rem;border-left:2px solid #70836f;color:#334038;font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.trainerIntroCta{width:fit-content;background:transparent;border-color:#17211b}.trainerIntroCta:hover{background:#17211b;color:#fffdf8}.trainerIntroImage{padding:.55rem;border:1px solid rgba(23,33,27,.18);background:#fffdf87a;border-radius:8px}.trainerIntroImage img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:6px}.trainerIntroPreview{display:grid;grid-template-columns:84px 1fr;gap:.8rem;align-items:center;padding:.8rem;border:1px solid #dedbd0;border-radius:8px;background:#f7f5ef}.trainerIntroPreview img{width:84px;height:96px;object-fit:cover;border-radius:6px}.trainerIntroPreview div{display:grid;gap:.2rem}.trainerIntroPreview span{color:#59665c}.pageHeader,.row,.toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.between{justify-content:space-between}.pageHeader{justify-content:space-between;margin-bottom:1.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.translationGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:1rem}.pricingGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.stack{display:grid;gap:.75rem}.card{background:#fff;border:1px solid #dedbd0;border-radius:8px;padding:1rem;min-width:0}.tier{display:grid;gap:.85rem;align-content:start}.tier.highlighted{border-color:#1f6f58;box-shadow:0 0 0 2px #1f6f581a}.price{font-size:2rem;font-weight:800;margin:0}.price span{font-size:.95rem;font-weight:600;color:#59665c}.lead{max-width:760px;font-size:1.1rem;color:#445047}.feature{display:inline-flex;align-items:center;gap:.45rem;color:#667065}.feature.yes{color:#1f6f58}.detail{max-width:760px;background:#fff;border:1px solid #dedbd0;border-radius:8px;padding:1.2rem}.form{display:grid;gap:.8rem}.narrow{max-width:420px}input,select,textarea{width:100%;border:1px solid #c7c9bf;border-radius:6px;padding:.7rem .8rem;background:#fff}textarea{min-height:110px;resize:vertical}.empty,.notice,.error{border-radius:8px;padding:.9rem;background:#f1efe7;color:#4e584d}.error{background:#fff0ed;color:#9d2a1f}.notice{background:#edf7f1;color:#215d3f}.status.ok{color:#1f6f58}.pill{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #bdd8ca;border-radius:999px;padding:.45rem .7rem;width:fit-content}.locked{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;border:1px dashed #c7c9bf;border-radius:8px;padding:.9rem;color:#59665c;background:#fbfaf6}.accessDenied{min-height:55vh;display:grid;align-content:center;justify-items:start;max-width:760px}.footer{display:flex;gap:1rem;flex-wrap:wrap;padding:2rem clamp(1rem,5vw,5rem);background:#17211b}.footer a{color:#fff}.appShell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 70px)}.appSidebar{position:sticky;top:70px;align-self:start;height:calc(100vh - 70px);padding:1rem;border-right:1px solid #dedbd0;background:#fffdf8;display:flex;flex-direction:column;gap:1rem}.navGroup{display:grid;gap:.25rem}.navGroup>span{padding:0 .35rem;color:#7b837b;font-size:.72rem;font-weight:800;letter-spacing:.12em}.appSidebar button{justify-content:flex-start;width:100%;min-height:34px;padding:.42rem .55rem;border-color:transparent;background:transparent;text-align:left}.appSidebar button.active{background:#1f6f58;color:#fff;border-color:#1f6f58}.appContent{min-width:0}.notificationMenu{position:relative}.notificationMenu>button{display:inline-flex;align-items:center;gap:.35rem}.notificationPanel{position:absolute;top:calc(100% + .45rem);right:0;z-index:12;display:grid;gap:.5rem;width:min(340px,84vw);padding:.75rem;border:1px solid #dedbd0;border-radius:8px;background:#fffdf8;box-shadow:0 18px 42px #0000001f}.notificationPanel article{display:grid;gap:.2rem;padding:.65rem;border:1px solid #e1ddd2;border-radius:8px;background:#fff}.notificationPanel p{margin:0;color:#59665c}.sidebarBackdrop{display:none}.adminShell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 70px)}aside{padding:1rem;border-right:1px solid #dedbd0;background:#fffdf8;display:flex;flex-direction:column;gap:.5rem}aside button{justify-content:flex-start}.adminMain{min-width:0}.clientShell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 70px)}.clientNav{padding:1rem;border-right:1px solid #dedbd0;background:#fffdf8;display:flex;flex-direction:column;gap:.45rem}.clientNav button{text-align:left}.clientNav button.active,aside button.active{background:#1f6f58;color:#fff;border-color:#1f6f58}.clientMain{min-width:0}.clientTrainingGrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:1rem;align-items:start}.quickActions{display:flex;gap:.45rem;flex-wrap:wrap}.quickAdd{background:#edf7f1;border-color:#bdd8ca;color:#1f6f58}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.statCard{display:grid;gap:.4rem;padding:1rem;background:#fff;border:1px solid #dedbd0;border-radius:8px}.statCard span,.statCard small{color:#59665c}.statCard strong{font-size:1.5rem}.barChart{height:170px;display:flex;align-items:flex-end;gap:.35rem;padding:.75rem 0 0}.bar{flex:1;min-width:10px;border-radius:5px 5px 0 0;background:#1f6f58}.metricList{display:grid;grid-template-columns:minmax(120px,1fr) 1fr;gap:.45rem .8rem;margin:0}.metricList dt{color:#59665c}.metricList dd{margin:0;font-weight:700}.cardList{display:grid;gap:.75rem}.card.compact pre{max-height:170px;overflow:auto;font-size:.82rem;color:#59665c}.trainingPlanCard,.trainingWeek,.trainingSession{background:#fffdf8}.trainingPlanIntro{display:grid;gap:.9rem}.trainingWeeks,.trainingWeek{display:grid;gap:1rem}.trainingWeek h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.trainingSessionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.trainingSession{display:grid;gap:.65rem;border:1px solid #e1ddd2;border-radius:8px;padding:.9rem}.trainingSession h3{margin:0}.trainingSession ul{margin:0;padding-left:1.1rem;color:#334038}.trainingPlanEditor{min-width:min(920px,100%)}.trainingPlanEditorWeek{display:grid;gap:.75rem;background:#fbfaf6}.trainingNested{display:grid;gap:.6rem;padding:.8rem;border:1px solid #e1ddd2;border-radius:8px;background:#fffdf8}.trainerWorkspace{display:grid;gap:1rem;min-width:min(980px,100%)}.trainerClientTable strong{color:#173d2f}.trainerClientDetail{display:grid;gap:1rem;min-width:min(960px,86vw)}.trainerPanel{display:grid;gap:.75rem;padding:1rem;border:1px solid #dedbd0;border-radius:8px;background:#fffdf8}.trainerPanel h3,.trainerPanel p{margin:0}.trainerPanel progress{width:100%;height:12px;accent-color:#1f6f58}.learningBuilder{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.learningBuilder .form{align-content:start;padding:.9rem;border:1px solid #e1ddd2;border-radius:8px;background:#fff}.learningBuilder h3{margin:0}.lessonReader{display:grid;gap:1rem;min-width:min(680px,84vw)}.lessonReader blockquote{margin:0;padding:.85rem 1rem;border-left:3px solid #1f6f58;background:#edf7f1}.lessonMedia{display:block;width:100%;max-height:360px;object-fit:contain;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6}.metricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.metricGrid div{display:grid;gap:.2rem;padding:.75rem;border:1px solid #e1ddd2;border-radius:8px;background:#fff}.metricGrid span,.muted,.compactNote span,.logExercise span{color:#59665c}.inlineForm{grid-template-columns:minmax(220px,1fr) 160px auto;align-items:end}.trainerPlanWeeks{display:grid;gap:.9rem}.logExercise{display:grid;gap:.35rem;padding-top:.5rem;border-top:1px solid #e1ddd2}.logExercise ul{margin:0;padding-left:1.1rem}.compactNote{display:grid;gap:.25rem;padding:.75rem;border:1px solid #e1ddd2;border-radius:8px;background:#fff}.compactNote p{margin:0}.badge.warn{background:#fff5d8;color:#7a5200;border-color:#ecd28f}.mobileTrainingShell{display:grid;gap:1rem;max-width:760px}.mobileHero{display:grid;gap:.9rem;padding:1.15rem;border:1px solid #d9dfd4;border-radius:8px;background:linear-gradient(180deg,#fffdf8,#edf7f1)}.mobileHero span,.mobileProgress span,.loggerExercise span,.mobileDayCard span{color:#59665c}.mobileHero h2{margin:0;color:#173d2f;font-size:clamp(1.6rem,7vw,2.4rem);line-height:1.05}.mobileMeta{display:flex;gap:.5rem;flex-wrap:wrap}.mobileMeta span{border:1px solid #bdd8ca;border-radius:999px;padding:.35rem .6rem;background:#fff;color:#1f6f58;font-weight:700}.mobileProgress,.mobileWeek,.loggerExercise{display:grid;gap:.75rem;padding:1rem;border:1px solid #dedbd0;border-radius:8px;background:#fffdf8}.mobileProgress strong{display:block;font-size:1.35rem;color:#173d2f}.mobileProgress progress{width:100%;height:12px;accent-color:#1f6f58}.mobileWeek h3,.loggerExercise h3{margin:0}.mobileDayCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #e7e2d7;border-radius:8px;background:#fff}.mobileDayCard.stacked{grid-template-columns:1fr;align-items:stretch}.mobileDayCard .row{display:flex}.mobileDayCard div{display:grid;gap:.15rem}.exercisePreviewList{display:grid;gap:.55rem}.exercisePreview{display:grid;gap:.35rem;padding:.65rem;border:1px solid #edf0e7;border-radius:8px;background:#fbfaf6}.exercisePreview p{margin:0;color:#59665c}.exercisePreview a{width:fit-content;font-weight:800;color:#1f6f58}.liveLogger{display:grid;gap:.9rem}.setGrid{display:grid;grid-template-columns:70px repeat(4,minmax(78px,1fr)) minmax(90px,auto) auto;gap:.5rem;align-items:center}.setGrid input,.setGrid button{min-height:44px}.compactGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start}.goalGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.progressTrack{height:10px;border-radius:999px;background:#e8e5da;overflow:hidden}.progressTrack span{display:block;height:100%;background:#1f6f58}.checkRow{display:inline-flex;align-items:center;gap:.5rem}.checkRow input{width:auto}.tableWrap{overflow-x:auto;background:#fff;border:1px solid #dedbd0;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:.75rem;border-bottom:1px solid #e9e5da;text-align:left;vertical-align:top}th{font-size:.82rem;color:#556457}.actions{display:flex;gap:.4rem;flex-wrap:wrap}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#17211b5c;display:grid;place-items:center;padding:1rem}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fffdf8;border:1px solid #dedbd0;border-radius:8px;padding:1rem}.authModal{width:min(460px,100%)}.segmented{display:inline-flex;padding:.25rem;border:1px solid #d6d8ce;border-radius:8px;background:#fff;margin:1rem 0 1.4rem}.segmented button{border:0;background:transparent}.segmented button.active{background:#1f6f58;color:#fff}.toast{position:fixed;right:1rem;bottom:1rem;z-index:30;background:#17211b;color:#fff;border-radius:8px;padding:.85rem 1rem;box-shadow:0 10px 25px #0000002e}.fullPageLoader{min-height:100vh;display:grid;place-content:center;gap:.8rem;color:#59665c;background:#f7f5ef}.spinner{width:34px;height:34px;border:3px solid #d6d8ce;border-top-color:#1f6f58;border-radius:999px;animation:spin .8s linear infinite;justify-self:center}@keyframes spin{to{transform:rotate(360deg)}}pre{white-space:pre-wrap;word-break:break-word;margin:0}details{background:#fff;border:1px solid #dedbd0;border-radius:8px;padding:1rem}@media(max-width:1100px){.karuLandingCopy h1{font-size:clamp(3rem,5vw,4.5rem)}.karuLandingHeader{grid-template-columns:minmax(230px,1fr) auto minmax(130px,1fr)}.karuLandingNav{gap:clamp(.8rem,2vw,1.8rem)}}@media(max-width:800px){.topbar{padding:.75rem 1rem}.brand{font-size:1.05rem;letter-spacing:.28rem}.accountNav{gap:.35rem}.accountNav .languageSelector span{display:none}.sidebarToggle{display:inline-flex;align-items:center;justify-content:center}.appShell{display:block}.appSidebar{position:fixed;top:64px;left:0;z-index:9;width:min(280px,84vw);height:calc(100vh - 64px);transform:translate(-105%);transition:transform .18s ease;box-shadow:18px 0 42px #0000001f}.appSidebar.open{transform:translate(0)}.sidebarBackdrop{position:fixed;top:64px;right:0;bottom:0;left:0;z-index:8;display:block;border:0;border-radius:0;background:#17211b47}.clientTrainingGrid{grid-template-columns:1fr}.karuLanding{height:100svh}.karuLandingHero{height:100svh;min-height:0;padding-bottom:0;background-image:none!important}.karuLandingOverlay{background:linear-gradient(180deg,#ece8e1,#ece8e1eb 78%,#ece8e180)}.karuLandingHeader{grid-template-columns:1fr auto auto;align-items:center;padding:clamp(.55rem,1.8vh,.9rem) .85rem;gap:.7rem}.karuLandingBrand{gap:.75rem}.karuLandingBrand img{height:34px}.karuLandingBrand strong{font-size:1.45rem}.karuLandingBrand small,.karuLandingNav{display:none}.karuMobileMenuButton{display:grid;place-items:center;width:clamp(38px,5.6vh,44px);height:clamp(38px,5.6vh,44px);border:1px solid rgba(0,0,0,.18);background:transparent;padding:0}.karuMobileMenuButton img{width:auto;height:27px}.karuMobileMenu{position:absolute;top:calc(100% + .4rem);right:1rem;z-index:3;display:grid;min-width:220px;border:1px solid rgba(0,0,0,.08);background:#f5f2ec;box-shadow:0 18px 42px #0000001f}.karuMobileMenu button{padding:.95rem 1rem;border:0;border-bottom:1px solid rgba(0,0,0,.07);background:transparent;color:var(--karu-text);text-align:left;letter-spacing:.16em;text-transform:uppercase}.karuMobileMenu button:last-child{border-bottom:0}.karuLoginButton{height:clamp(38px,5.6vh,44px);padding:0 .8rem;font-size:.72rem}.karuLandingContent{align-self:stretch;align-content:center;padding:clamp(.55rem,1.7vh,1.1rem) 1rem;gap:clamp(.65rem,1.8vh,1.2rem)}.karuLandingCopy{gap:clamp(.45rem,1.1vh,.75rem)}.karuLandingEyebrow{font-size:clamp(.58rem,1.8vh,.72rem)}.karuLandingCopy h1{font-size:clamp(2.8rem,11vw,4rem);line-height:.95;letter-spacing:-.04em}.karuLandingCopy>p:not(.karuLandingEyebrow){font-size:clamp(.88rem,2.3vh,1rem);line-height:1.35}.karuLandingActions{align-items:stretch;flex-direction:row;gap:.55rem;max-width:320px}.karuPrimaryCta,.karuSecondaryCta{justify-content:center;min-height:38px;padding-top:.55rem;padding-bottom:.55rem;font-size:.68rem;letter-spacing:.13em}.karuSecondaryCta span{display:none}.karuLandingPillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:100%}.karuLandingPillars div{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;border-right:1px solid var(--karu-line);padding:0 .35rem}.karuLandingPillars div:last-child{border-right:0}.karuLandingPillars svg{width:clamp(24px,4.8vh,32px);height:clamp(24px,4.8vh,32px)}.karuLandingPillars span{font-size:clamp(.52rem,1.55vh,.65rem);letter-spacing:.12em}.karuLandingMobileImage{display:block;min-height:clamp(96px,20svh,190px);margin:0 1rem clamp(.45rem,1.2vh,.8rem);background-position:right center;background-size:cover;border:1px solid rgba(0,0,0,.08)}.karuLandingStrip{grid-template-columns:minmax(0,1fr) auto;gap:.7rem;padding:clamp(.45rem,1.2vh,.7rem) 1rem}.karuLandingStrip blockquote{display:none}.karuLandingStrip div{padding-left:0;border-left:0;gap:.1rem}.karuLandingStrip span{font-size:clamp(.5rem,1.45vh,.62rem);letter-spacing:.12em}.karuLandingStripSymbol{height:clamp(30px,5.5vh,38px)}.karuInfoModalBackdrop{align-items:end;padding:.75rem}.karuInfoModal{max-height:88vh}.hero{grid-template-columns:1fr;min-height:auto;padding-top:2rem}.karuHeroContent{min-height:auto;gap:3rem}.karuWordmark{font-size:clamp(3rem,17vw,4.8rem);letter-spacing:.22em}.karuTagline{letter-spacing:.28em}.karuHeroImage,.karuHeroImage img{min-height:360px}.landingCtaBand{grid-template-columns:1fr;align-items:start}.trainerIntroInner{grid-template-columns:1fr}.trainerIntroImage{order:-1}.adminShell,.clientShell{grid-template-columns:1fr}aside{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #dedbd0}.clientNav{position:sticky;top:62px;z-index:4;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #dedbd0}.clientNav button{white-space:nowrap}.topbar{align-items:flex-start;gap:1rem}.setGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.setGrid button{grid-column:1 / -1}.mobileDayCard{grid-template-columns:1fr}}
