/* JPons · Naturaleza. Official artwork and existing editorial nature assets. */
:root{--green:#396236;--deep:#24482e;--light:#8cc587;--lime:#e0efd2;--cream:#f3f5ec;--ink:#233d2b;--muted:#5c7060;--line:#dce5d5;--sand:#e9e1cc;--radius:26px}
body{background:radial-gradient(ellipse at 100% 0,#dce9d2 0,transparent 55%),var(--cream)}
.layout{position:relative}.main{position:relative;isolation:isolate}.main::before{content:"";position:absolute;inset:0 0 auto auto;width:440px;height:650px;background:url('/assets/botanica.webp') right top/100% auto no-repeat;opacity:.11;z-index:-1;pointer-events:none;transform:rotate(180deg)}
.main::after{content:"";position:absolute;bottom:0;right:0;width:340px;height:400px;background:url('/assets/botanica.webp') right bottom/cover no-repeat;opacity:.12;z-index:-1;pointer-events:none}
.brand{gap:13px;letter-spacing:-.7px}.brand-emblem{display:flex;align-items:center;justify-content:center;width:62px;height:70px;flex-shrink:0;border-radius:50% 50% 44% 44%;background:#f8faef;padding:7px}.brand .brand-emblem img{width:100%;height:100%;object-fit:contain}.brand small{font-size:9px;line-height:1.6;letter-spacing:1.5px;max-width:128px}.brand>div{font-size:24px}
.sidebar{background:linear-gradient(165deg,#396236,#24482e 60%,#294d2d);border:0;box-shadow:8px 0 40px #21482a0a;padding-top:24px;isolation:isolate;overflow:hidden}.sidebar::after{content:"";position:absolute;left:-18px;right:-5px;bottom:190px;height:310px;background:url('/assets/botanica.webp') bottom/cover no-repeat;opacity:.28;pointer-events:none;z-index:-1}.sidebar .brand{color:#f6f8eb;margin-left:0;margin-right:0;margin-bottom:40px}.sidebar .brand small{color:#dfecd5}.nav{gap:10px}.nav a{color:#e2ebdc;padding:15px 17px;border-radius:12px 25px 25px 12px;font-weight:500}.nav a.active{background:#e8f2df;color:#24482e;box-shadow:0 5px 20px #112f2319;font-weight:700}.nav a:hover{background:#ffffff16;color:white}.nav a.active:hover{background:#f3f9e9;color:#24482e}.sidebar .user-line{border-color:#74946c66;color:white}.sidebar .user-line small{color:#d1e1c8}.sidebar .avatar{background:#d1e2ba;color:#24482e;border-radius:45% 55% 43% 57%}.sidebar-footer .demo-pill{background:#ffffff10;border:1px solid #d4e4c42e;color:#e4ecd9;border-radius:14px}.sidebar-footer>.btn{border-color:#d4e4c44a;color:#e5eedb;background:#ffffff09;border-radius:12px 22px 22px 12px}.sidebar-footer>.btn:hover{background:#ffffff20}.sidebar-footer .user-line{margin-top:18px}
.topbar{border-bottom-color:#cad9bf8a}.connection{background:#e5eeda;padding:8px 12px;border-radius:24px;color:#48633f}.top-actions .avatar{background:#dde9cd;border:3px solid #f8fbf1;border-radius:45% 55% 42% 58%}.icon-btn{background:#fcfff5;border-color:#d0dfc3}.page-title{position:relative;min-height:87px;align-items:center}.page-title h1{font-size:38px;font-weight:620;letter-spacing:-1.4px}.eyebrow{letter-spacing:1.8px}.subtitle{line-height:1.6}.btn{border-radius:13px 25px 25px 13px;box-shadow:0 4px 10px #3962360a}.btn.secondary{background:#e3edda;color:#284c2d}.btn.ghost{background:#ffffff8c;border-color:#d3e0c9;box-shadow:none}.btn.small{border-radius:10px 20px 20px 10px}.btn.danger{background:#faeee7}.btn:focus-visible{outline-color:#518331}.tag{border-radius:7px 15px 15px 7px;background:#e3eed9;letter-spacing:.3px}.avatar{border-radius:43% 57% 49% 51%;background:#e1e9d1}
.nature-hero{display:block;min-height:270px;padding:36px 40px;border-radius:30px 90px 30px 30px;background:linear-gradient(115deg,#396236,#24482e);isolation:isolate;box-shadow:0 15px 35px #31583518;overflow:hidden;margin-bottom:30px}.hero-copy{position:relative;z-index:2;width:53%;padding:2px 20px 0 0}.nature-hero h2{font-size:33px;font-weight:570;line-height:1.14;letter-spacing:-.9px;max-width:430px}.nature-hero p{max-width:410px;color:#e3ecd9}.nature-hero .eyebrow{color:#d6e9b8;font-size:10px;letter-spacing:2px}.nature-hero>.btn{position:relative;z-index:2;margin-top:24px;background:#e4f0cf;color:#234129;font-weight:750;box-shadow:0 5px 20px #0a1b1530}.nature-hero::after{content:"";position:absolute;bottom:-10px;left:-75px;width:265px;height:250px;background:url('/assets/botanica.webp') bottom/contain no-repeat;opacity:.25;z-index:-1;pointer-events:none}.hero-scene{position:absolute;right:0;top:0;bottom:0;width:47%;border-radius:47% 0 0 28% /90% 0 0 25%;overflow:hidden;background:#a4b57f}.hero-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#294c2830,transparent 40%,#24482e10);pointer-events:none}.forest-photo{width:100%;height:100%;object-fit:cover;object-position:50% 57%;display:block}.scene-seal{position:absolute;right:23px;bottom:20px;z-index:1;display:flex;align-items:center;justify-content:center;background:#f8faefed;border:1px solid #ffffff8f;border-radius:50%;width:75px;height:75px;padding:10px;box-shadow:0 3px 20px #1d38272b}.scene-seal img{height:100%;width:100%;object-fit:contain}
.stats{gap:19px}.stat{border:0;background:#e1ebd6;border-radius:26px 12px 26px 12px;padding:22px 23px;box-shadow:0 5px 20px #35573607}.stat:nth-child(2){background:#edf0de;border-radius:12px 26px 12px 26px}.stat:nth-child(3){background:#d5e5cb}.stat strong{font-size:31px;color:#315735;font-weight:600}.stat span{color:#455c48}.stat>.icon{width:34px;height:34px;padding:7px;border-radius:50%;background:#ffffff70;box-sizing:content-box;color:#396236}.card{border:1px solid #dce6d5;background:#ffffffed;border-radius:27px;box-shadow:0 9px 30px #34503504}.card-head h2{font-weight:620}.grid>.card:nth-child(2){background:#eff3e5}.section-label{margin-top:34px}.section-label h2::before{content:"";display:inline-block;width:10px;height:18px;background:#8cc587;border-radius:80% 0 80% 0;margin-right:10px;vertical-align:-1px;transform:rotate(-18deg)}.row{border-color:#e1e8da}.row-main .avatar{background:#e4edda}.cards>.workout-card{border:1px solid #cedec4;border-radius:28px 65px 28px 28px;background:linear-gradient(135deg,#fbfff7,#edf4e5);position:relative;isolation:isolate;overflow:hidden;padding:25px}.workout-card::before{content:"";position:absolute;top:-60px;right:-70px;width:230px;height:220px;background:url('/assets/botanica.webp') center/cover no-repeat;opacity:.27;z-index:-1;pointer-events:none;transform:rotate(-20deg)}.workout-card:nth-child(2n){border-radius:28px 28px 65px 28px;background:linear-gradient(135deg,#fcfcf3,#eaf0dd)}.workout-card .card-head>.muted{background:#e1ebd3;border:1px solid #d4e0c7;padding:10px;border-radius:45% 55% 49% 51%;display:flex}.workout-card h3{max-width:90%;margin-top:17px;line-height:1.2;font-size:22px}.workout-card footer{border-color:#d6e3cd}.workout-card footer>.icon{background:#396236;color:white;border-radius:50%;padding:9px;width:35px;height:35px}.client-head{position:relative}.client-head .avatar{background:#d7e8c9;width:66px;height:70px}.client-card .client-head h3{margin:0 0 8px;max-width:100%}.client-card .subtitle{min-height:42px}.empty{border-radius:22px;background:#f3f7ed;border:1px dashed #b8cdae}.notice{background:#e5efda;border-left:3px solid #8cc587;border-radius:6px 21px 21px 6px;color:#2b4b2e;line-height:1.65}.run-summary>div{background:#ebf2e3;border-radius:18px}.run-summary>div:nth-child(2){background:#f1efdf}.profile-facts dt{letter-spacing:.5px}
.calendar-strip{gap:10px;margin-bottom:24px}.day{border:0;background:#e6eddb;border-radius:22px 22px 13px 13px;padding:12px 4px;color:#5c6e54}.day:nth-child(even){background:#edf1e2}.day.today{background:#396236;color:#e6efdf;box-shadow:0 5px 14px #39623622;border-radius:24px 24px 10px 10px}.day b{font-weight:600;color:#2f5133}.day.today b{color:#fff}
input,select,textarea{background:#fcfef9;border-color:#cadac0;border-radius:12px;box-shadow:inset 0 1px 3px #29472c04}input:focus,select:focus,textarea:focus{background:white}label{color:#506b51}.block-editor{background:#eaf1e1;border-color:#d2e1c8;border-radius:26px 12px 26px 26px;padding:25px}.block-editor:nth-child(even){background:#eff2e3;border-radius:12px 26px 26px 26px}.editor-exercise{background:#fcfef9;border-color:#dbe6d2;border-radius:19px}.block-title h3{color:#355c36}.session-top{background:#f3f5ecf5;backdrop-filter:blur(12px);border-radius:0 0 18px 18px;padding:14px 12px}.session-block>.block-banner{background:linear-gradient(110deg,#dceacf,#edf3e4);padding:18px 21px;border-radius:24px 50px 18px 18px;border:1px solid #d4e3c7;position:relative;isolation:isolate;overflow:hidden}.session-block>.block-banner::after{content:"";position:absolute;right:-35px;top:-80px;width:180px;height:190px;background:url('/assets/botanica.webp') center/cover;opacity:.2;z-index:-1;pointer-events:none}.session-block>.block-banner h2{margin-bottom:5px;font-size:22px}.exercise-card{border-color:#d4e2ca;border-radius:24px;background:#fefffc}.exercise-heading h3{color:#294b2e;font-weight:650}.exercise-number{background:#edf4e4;border-radius:6px 14px 14px 6px;width:fit-content;padding:5px 9px;margin-bottom:9px}.set-grid input{background:#f9fcf5;border-color:#d0dfc5;border-radius:9px;box-shadow:none}.set-grid.done{background:#e4efd9}.set-grid.done input[type=number]{background:#f3f9eb}.previous{background:#edf5e4;border-left:3px solid #8cc587;border-radius:3px 18px 18px 3px}.timer-strip{background:#d9e9cb;border-color:#b9d3a8;border-radius:24px 12px 24px 12px}.timer-display{color:#294d2e}.session-aside{background:#eaf1df!important;border-radius:24px 24px 50px 24px;overflow:hidden}.session-aside::after{content:"";display:block;margin:25px -24px -24px;height:175px;background:url('/assets/bosque.webp') center 60%/cover;border-radius:55% 0 0 0 /30% 0 0 0}.feedback{background:linear-gradient(120deg,#fafff4,#edf4e2)}.feedback>label+label{margin-top:18px}.result-table th{color:#506b48}.result-table tr:last-child td{border-bottom:0}.result-table{margin-bottom:25px}.footer-note{color:#506548}.notification-unread{border-left-color:#6b9c52}
.login{background:#edf2e4;grid-template-columns:minmax(0,1.1fr) minmax(450px,1fr);padding:20px;gap:18px;min-height:100dvh}.login-story{border-radius:30px 100px 30px 30px;background:linear-gradient(180deg,#18371e40,#163a25b3 48%,#153821f2),url('/assets/bosque.webp') 40% center/cover;padding:40px 46px;min-height:780px;isolation:isolate}.login-story::after{content:"";position:absolute;bottom:-120px;left:-105px;width:520px;height:520px;background:url('/assets/botanica.webp') bottom/cover no-repeat;opacity:.58;z-index:-1;pointer-events:none}.login-story>.brand{color:white;align-self:flex-start;padding:9px 19px 9px 10px;border-radius:17px 48px 48px 17px;background:#18391ba6;backdrop-filter:blur(10px);gap:15px}.login-story .brand small{color:#e4eddc}.login-story .brand-emblem{width:66px;height:73px}.login-story>div:not(.brand){margin-top:auto;padding-top:90px;margin-bottom:35px;position:relative}.login-story h1{font-size:60px;line-height:1.09;letter-spacing:-1.8px;font-weight:520;max-width:510px;text-shadow:0 3px 30px #19311e50}.login-story h1 em{font-family:Georgia,serif;font-weight:400;color:#e3efd0;font-size:1.06em;letter-spacing:-1px}.login-story .eyebrow{color:#d9eac4;letter-spacing:2px}.login-story p{color:#ecf2e5;font-size:16px;line-height:1.65;max-width:350px;margin-top:25px}.login-story footer{color:#e1ecd6;font-size:11px;position:relative}.login-botanical{display:none}.login-panel{position:relative;isolation:isolate;padding:40px 45px;background:#f8faf2;border-radius:30px;overflow:hidden}.login-panel::after{content:"";position:absolute;right:-145px;top:-160px;width:390px;height:460px;background:url('/assets/botanica.webp') top/contain no-repeat;transform:rotate(180deg);opacity:.20;z-index:-1;pointer-events:none}.login-box{max-width:410px}.login-box>.brand{display:flex;margin-bottom:34px;color:#2c5030}.login-box>.brand .brand-emblem{background:#e7eedc;width:58px;height:65px}.login-box h2{font-size:35px;font-weight:580;color:#284b2c;letter-spacing:-1px}.login-box form{gap:18px;margin-top:25px}.login-box form>.btn{min-height:51px;margin-top:3px}.demo-accounts{border-top-color:#d4e1c8;margin-top:27px}.demo-pill{border-radius:12px;background:#e9ecd9;color:#5c683e;line-height:1.55}.demo-accounts .buttons{gap:7px}.demo-accounts .buttons>.btn{border-radius:11px;box-shadow:none;background:#e4edd9;color:#305331;min-height:44px}.mobile-nature{display:none}
@media(min-width:1400px){.nature-hero{min-height:280px;padding:39px 42px}.hero-copy{width:52%}.nature-hero h2{font-size:35px}}
@media(max-width:1100px){.sidebar .brand{gap:8px}.sidebar .brand-emblem{width:52px;height:62px}.sidebar .brand>div{font-size:21px}.sidebar .brand small{font-size:8px}.nature-hero{padding:29px;min-height:265px;border-top-right-radius:65px}.hero-copy{width:56%;padding-right:8px}.hero-scene{width:43%}.nature-hero h2{font-size:27px}.nature-hero p{font-size:13px}.stat{padding:18px}.stat>.icon{width:25px;height:25px;padding:5px}.login-story{padding:30px}.login-story h1{font-size:47px}.login-panel{padding:30px}.session-aside::after{display:none}.session-aside{border-radius:20px}}
@media(max-width:760px){body{background:#eff3e7}.main{padding-left:19px;padding-right:19px}.main::before{width:220px;height:340px;opacity:.15}.main::after{width:230px;height:290px;opacity:.1}.topbar{height:95px;margin-bottom:25px;border-bottom:1px solid #c5d8b975}.mobile-brand .brand{gap:10px}.mobile-brand .brand-emblem{width:49px;height:60px;background:#e2ecd5;padding:6px}.mobile-brand .brand>div{font-size:23px}.mobile-brand .brand small{font-size:8px;line-height:1.7}.top-actions{gap:8px}.top-actions .avatar{height:36px;width:36px;border-width:2px;font-size:12px}.top-actions .icon-btn{height:36px;width:36px}.page-title{margin-bottom:23px;min-height:0;align-items:flex-start}.page-title h1{font-size:30px;line-height:1.14;letter-spacing:-1px}.page-title .btn{border-radius:12px 20px 20px 12px;padding:10px;font-size:11px;flex-shrink:0}.page-title .eyebrow{font-size:9px;letter-spacing:1.7px}.nature-hero{border-radius:24px 62px 24px 24px;padding:174px 25px 25px;min-height:0;display:block;margin-bottom:25px;box-shadow:0 10px 25px #294f321a}.hero-copy{width:100%;padding:0}.nature-hero h2{font-size:27px;line-height:1.16;font-weight:600;max-width:none;margin-bottom:12px}.nature-hero .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:12px}.nature-hero p{font-size:13px;line-height:1.55}.hero-scene{left:0;right:0;top:0;bottom:auto;width:100%;height:155px;border-radius:0 0 48% 0 /0 0 20% 0}.forest-photo{object-position:50% 47%}.hero-scene::after{background:linear-gradient(0deg,#264b2633,transparent 50%)}.scene-seal{right:19px;bottom:15px;width:59px;height:59px;padding:9px}.nature-hero>.btn{margin-top:20px;width:100%;justify-content:space-between;min-height:47px;font-size:13px;padding:12px 17px;border-radius:12px 24px 24px 12px}.nature-hero::after{width:210px;height:210px;left:-100px;opacity:.23}.stats{gap:9px;margin-bottom:25px}.stat{padding:16px 11px;border-radius:20px 9px 20px 9px;min-height:104px;box-shadow:none}.stat:nth-child(2){border-radius:9px 20px 9px 20px}.stat strong{font-size:25px;margin-top:9px}.stat span{font-size:10px;line-height:1.45}.calendar-strip{gap:7px;margin-bottom:20px}.day{padding:11px 3px;border-radius:21px 21px 11px 11px;font-size:10px}.day b{font-size:18px}.card{padding:20px;border-radius:23px}.section-label{margin-top:29px;gap:8px}.section-label h2{font-size:20px;letter-spacing:-.5px}.section-label h2::before{width:8px;height:16px;margin-right:7px}.section-label .btn{font-size:11px;padding:8px 10px}.cards>.workout-card{padding:22px;border-radius:23px 58px 23px 23px}.workout-card:nth-child(2n){border-radius:23px 23px 58px 23px}.workout-card h3{font-size:21px;max-width:90%}.workout-card .meta{gap:10px;font-size:11px}.workout-card::before{right:-72px;top:-62px;width:210px;height:210px;opacity:.25}.workout-card .card-head>.muted{padding:8px}.mobile-nav{bottom:9px;left:11px;right:11px;border:1px solid #d6e1cd;border-radius:23px;background:#fbfff6f7;box-shadow:0 6px 28px #26482a1c;padding:8px 4px max(8px,env(safe-area-inset-bottom));gap:0}.mobile-nav a{min-width:0;flex:1;font-size:9px;padding:5px 2px;gap:5px;color:#526947;border-radius:16px;min-height:48px}.mobile-nav a.active{background:#dceccd;color:#2c562e;font-weight:650}.mobile-nav .icon{width:20px;height:20px}.client-head .avatar{width:56px;height:61px}.block-editor{padding:16px;border-radius:23px 10px 23px 23px}.editor-exercise{padding:14px}.session-top{background:#eff3e7f5;padding:13px 7px}.session-top .card-head{gap:6px}.save-state{font-size:10px}.session-top .small-text{font-size:11px}.session-block>.block-banner{padding:17px 16px;border-radius:23px 35px 17px 17px;gap:8px}.session-block>.block-banner h2{font-size:20px}.session-block>.block-banner .eyebrow{font-size:9px;letter-spacing:1.4px}.session-block>.block-banner .btn{white-space:nowrap;padding:8px;font-size:11px}.session-block>.block-banner p{font-size:11px;line-height:1.45}.exercise-card{padding:18px 15px;border-radius:22px}.exercise-heading{gap:7px}.exercise-heading h3{font-size:16px}.exercise-heading>.btn{padding:8px 9px;font-size:11px}.exercise-number{font-size:10px}.set-grid input{font-size:16px;background:#fbfff7}.set-grid.header span{font-size:10px}.feedback{padding:21px 18px}.feedback h2{font-size:22px}.timer-strip{padding:14px 12px;border-radius:20px 10px 20px 10px}.timer-controls .btn{font-size:10px;padding:8px}.timer-label{max-width:190px;line-height:1.4}.footer-note{font-size:10px;line-height:1.6}.login{display:block;padding:0;min-height:100dvh;background:#e7efdc}.login-story{display:none}.login-panel{display:block;padding:145px 17px 28px;background:#e9f0de;min-height:100dvh;border-radius:0;overflow:hidden}.mobile-nature{display:block;position:absolute;top:0;left:0;right:0;height:235px;background:linear-gradient(0deg,#2b4f3440,transparent),url('/assets/bosque.webp') center 43%/cover no-repeat;z-index:-1;border-radius:0 0 35% 0 /0 0 15% 0}.login-panel::after{display:none}.login-box{position:relative;max-width:440px;margin:auto;background:#fbfdf6;border:1px solid #edf3e1;border-radius:30px 70px 26px 26px;padding:27px 24px;box-shadow:0 12px 45px #29462a12;overflow:hidden;isolation:isolate}.login-box::after{content:"";position:absolute;right:-58px;top:-75px;width:215px;height:235px;background:url('/assets/botanica.webp') top/contain no-repeat;transform:rotate(180deg);opacity:.27;z-index:-1;pointer-events:none}.login-box>.brand{margin-bottom:27px;gap:12px}.login-box>.brand .brand-emblem{width:59px;height:69px;padding:7px;background:#e4ecd7}.login-box>.brand>div{font-size:24px}.login-box>.brand small{font-size:8px;letter-spacing:1.5px}.login-box h2{font-size:30px;line-height:1.15}.login-box>.eyebrow{font-size:9px;letter-spacing:1.5px}.login-box .subtitle{font-size:13px}.login-box form{margin-top:23px;gap:17px}.login-box form label{font-size:11px}.login-box form input{min-height:48px;font-size:16px}.login-box form>.btn{font-size:13px;min-height:48px}.demo-accounts{padding-top:20px;margin-top:24px}.demo-accounts .buttons{display:grid;grid-template-columns:1fr 1fr}.demo-accounts .buttons>.btn:first-child{grid-column:1/-1;background:#dceacb}.demo-accounts .buttons>.btn{font-size:11px;min-height:41px}.demo-accounts p,.login-box>.help{font-size:11px;line-height:1.55}.demo-pill{font-size:10px}#toast{bottom:95px}}
@media(max-width:360px){.main{padding-left:15px;padding-right:15px}.mobile-brand .brand>div{font-size:20px}.mobile-brand .brand small{font-size:7px}.mobile-brand .brand-emblem{width:44px;height:55px}.nature-hero{padding-left:21px;padding-right:21px}.page-title h1{font-size:27px}.stat{padding:14px 9px}.stat span{font-size:9px}.top-actions{gap:5px}.login-box{padding:25px 20px}}
/* Progress: dated records, separate units, no inferred body measurements. */
.client-progress-preview{margin-top:24px}.progress-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 25px;padding:18px 22px;background:#e3edda;border-radius:25px 12px 25px 12px}.progress-toolbar label{min-width:180px}.progress-toolbar select{margin-top:6px;background:#fbfff5}.progress-toolbar p{margin:8px 0 0}.progress-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:23px}.progress-overview>div{background:#e2ecd8;border-radius:25px 12px 25px 12px;padding:20px 24px}.progress-overview>div:nth-child(2){background:#edf0df;border-radius:12px 25px 12px 25px}.progress-overview>div:nth-child(3){background:#d8e8cf}.progress-overview span{font-size:12px;color:#4b6847}.progress-overview strong{display:block;font-size:31px;font-weight:600;color:#315735;margin-top:8px}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.progress-grid>.card+.card{margin-top:0}.progress-card{padding:26px;margin-bottom:23px}.progress-card h2{margin-bottom:15px}.progress-card .card-head h2{margin:0}.progress-card .eyebrow{font-size:9px}.chart-icon{background:#e2edd6;width:43px;height:43px;display:flex;align-items:center;justify-content:center;border-radius:45% 55% 45% 55%;color:#396236}.chart-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.chart-filters label{font-size:11px}.chart-filters select{font-size:12px;padding:11px 9px;min-width:0}.chart-key{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#546a4c;margin-top:20px}.chart-key>span:first-child{background:#ebf3e3;border-radius:14px;padding:5px 12px;font-weight:700}.plot svg{display:block;width:100%;height:auto;overflow:visible;margin-top:8px}.activity-chart .plot svg{max-height:245px}.plot-grid line{stroke:#dce7d4;stroke-width:1;stroke-dasharray:3 6}.plot-grid text{fill:#566d4e;font-family:inherit;font-size:15px}.plot-line{fill:none;stroke:#62894c;stroke-width:2.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.chart-point>circle{fill:#396236;stroke:#f7fbef;stroke-width:3}.plot-bar{fill:#80a865}.chart-point:focus{outline:none}.chart-point:focus>circle,.chart-point:hover>circle{fill:#203f23;r:7}.point-tooltip{opacity:0;pointer-events:none}.point-tooltip rect{fill:#264a2d}.point-tooltip text{fill:white;font-family:inherit;font-size:13px}.chart-point:focus .point-tooltip,.chart-point:hover .point-tooltip{opacity:1}.chart-point:focus>.plot-bar,.chart-point:hover>.plot-bar{fill:#396236}.chart-data{font-size:11px;color:#52674b;border-top:1px solid #e0e9d9;padding-top:10px}.chart-data summary{cursor:pointer;width:fit-content;min-height:28px;padding:5px 0}.chart-data .result-table{font-size:12px;margin-bottom:8px}.chart-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:235px;text-align:center;padding:30px 22px;background:linear-gradient(140deg,#f5f9ef,#edf4e5);border-radius:22px;margin-top:18px;border:1px dashed #c9dbbc}.chart-empty p{font-size:14px;margin:13px 0 5px;color:#425f3d;max-width:350px}.chart-empty>span:last-child{font-size:11px;line-height:1.5;color:#607554;max-width:310px}.chart-seed{display:block;width:19px;height:32px;background:#aac990;border-radius:80% 0 80% 0;transform:rotate(-20deg)}.body-progress{background:linear-gradient(130deg,#ffffff,#f1f6e9);position:relative;isolation:isolate;overflow:hidden}.body-progress::after{content:"";position:absolute;right:-80px;top:-100px;width:290px;height:310px;background:url('/assets/botanica.webp') center/cover;opacity:.13;z-index:-1;pointer-events:none}.body-progress>.subtitle{font-size:13px;max-width:760px;margin-bottom:25px}.body-chart-layout{display:grid;grid-template-columns:240px 1fr;gap:30px}.body-chart-layout>div{min-width:0}.body-chart-layout select{font-size:13px}.body-note{margin-top:22px;background:#e7efdb;padding:21px;border-radius:20px 8px 20px 20px;color:#4c6543}.body-note p{font-size:12px;line-height:1.65;margin:12px 0 0}.leaf-dot{width:12px;height:22px;background:#82a964;border-radius:80% 0 80% 0;display:block;transform:rotate(-20deg)}.measurements-history{margin-top:25px;border-top:1px solid #d6e3c9;padding-top:18px}.measurements-history>summary{font-size:14px;font-weight:650;color:#375c32;padding:6px 0;cursor:pointer}.measurement-row{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;border-bottom:1px solid #dfe8d6;padding:19px 0}.measurement-row:last-child{border:0}.measurement-row>div>strong{font-size:12px;color:#556e4d;display:block}.measurement-weight{font-size:23px;font-weight:650;display:block;margin-top:5px;color:#34582f}.measurement-weight small{font-size:12px;font-weight:500}.measurement-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:15px}.measurement-row dt{font-size:10px;color:#617854;margin-bottom:6px}.measurement-row dd{font-size:13px;margin:0}.measurement-row .inline-actions{gap:5px}.measurement-row .btn{font-size:11px;padding:8px 10px}.optional-measures{padding:20px;background:#edf4e5;border-radius:22px;margin-top:20px}.optional-measures .eyebrow{font-size:10px}.optional-measures input{background:#fff}.optional-measures .help{font-weight:400}#measurement-form{margin-top:24px}
@media(max-width:1100px){.progress-grid{grid-template-columns:1fr}.body-chart-layout{grid-template-columns:200px 1fr;gap:20px}.measurement-row{grid-template-columns:100px 1fr}.measurement-row .inline-actions{grid-column:1/-1;justify-content:flex-end}.progress-grid>.card{margin-bottom:0}.progress-grid{margin-bottom:23px}.plot svg{max-height:260px}}
@media(max-width:760px){.progress-toolbar{padding:16px;gap:12px;align-items:flex-start}.progress-toolbar label{min-width:145px;font-size:10px}.progress-toolbar select{font-size:12px;padding:10px}.progress-toolbar .help{font-size:10px;max-width:140px}.progress-toolbar .tag{font-size:9px;white-space:normal}.progress-overview{gap:9px;margin-bottom:21px}.progress-overview>div{padding:16px 11px;min-height:106px;border-radius:20px 9px 20px 9px}.progress-overview span{font-size:10px;line-height:1.45;display:block}.progress-overview strong{font-size:26px;margin-top:8px}.progress-card{padding:21px 16px;border-radius:24px}.progress-card h2{font-size:22px}.progress-card .card-head{align-items:flex-start}.progress-card .card-head .btn{font-size:10px;padding:9px 10px;white-space:nowrap;gap:5px}.progress-card .card-head .btn .icon{width:15px;height:15px}.progress-card .eyebrow{font-size:8px;letter-spacing:1.4px;line-height:1.7}.progress-card .card-head h2{font-size:21px}.chart-filters{grid-template-columns:1fr;gap:13px}.chart-filters select{font-size:13px;min-height:45px}.chart-key{font-size:9px;gap:5px;line-height:1.5}.chart-key>span:first-child{padding:4px 9px;flex-shrink:0}.chart-key>span:last-child{text-align:right}.plot-grid text{font-size:18px}.plot svg{margin:9px -6px 0;width:calc(100% + 12px);max-width:calc(100% + 12px)}.chart-data{font-size:10px}.progress-card .help{font-size:11px;line-height:1.65}.body-chart-layout{grid-template-columns:1fr;gap:8px}.body-note{margin-top:14px;padding:15px;border-radius:16px}.body-note p{font-size:11px;margin-top:8px}.body-note .leaf-dot{width:8px;height:15px}.body-progress>.subtitle{font-size:12px;line-height:1.65;margin-bottom:19px}.measurement-row{grid-template-columns:1fr;gap:13px;padding:20px 0}.measurement-row>div:first-child{display:flex;align-items:center;justify-content:space-between}.measurement-weight{margin:0;font-size:23px}.measurement-row dl{gap:9px}.measurement-row dt{font-size:9px;line-height:1.4}.measurement-row dd{font-size:12px}.measurement-row .inline-actions{justify-content:flex-end}.measurement-row .btn{min-height:40px}.measurements-history>summary{font-size:13px}.optional-measures{padding:17px}.optional-measures .form-grid{gap:16px}.chart-empty{min-height:210px;padding:25px 17px}.chart-empty p{font-size:13px}.chart-empty>span:last-child{font-size:10px}.client-progress-preview{padding:21px 16px}.client-progress-preview .card-head{gap:8px}.client-progress-preview h2{font-size:20px}.client-progress-preview .btn{font-size:10px;padding:9px}.client-progress-preview .btn .icon{width:15px}}
/* Blend botanical edges into the page and support browsers without dvh. */
.login{min-height:100vh;min-height:100dvh}.sidebar .sidebar-footer>.btn{background:#ffffff0f;border-color:#78956a;color:#f1f5e9}.main::before{top:-110px;right:-120px;width:450px;height:450px}.main::before,.main::after,.workout-card::before,.login-box::after,.login-panel::after{-webkit-mask-image:radial-gradient(ellipse,#000 18%,transparent 72%);mask-image:radial-gradient(ellipse,#000 18%,transparent 72%)}
@media(max-width:760px){.login-panel{min-height:100vh;min-height:100dvh}.main::before{top:-90px;right:-100px;width:310px;height:350px}.login-box::after{-webkit-mask-image:radial-gradient(ellipse,#000 5%,transparent 72%);mask-image:radial-gradient(ellipse,#000 5%,transparent 72%)}}
/* Decorative layers stay inside the layout so mobile coordinates never shift. */
.main::before{top:0;right:0;width:440px;height:440px}
@media(max-width:760px){.main::before{top:0;right:0;width:260px;height:320px}}
.page-title>div,.chart-filters>label{min-width:0}.page-title h1{overflow-wrap:anywhere}.progress-card select{max-width:100%}.chart-caption{font-size:10px;color:#617453;margin:0 0 10px;line-height:1.5}
.body-progress::after{-webkit-mask-image:radial-gradient(ellipse,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse,#000 15%,transparent 72%)}
