:root{font-family:Inter,'Segoe UI',sans-serif;color:#142d4e;background:#f5f7fa;font-synthesis:none;--navy:#142d4e;--mint:#5ee0b5;--muted:#617185;--border:#e2e9f0}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #249771;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,3vw,36px);line-height:1.2;letter-spacing:-1.2px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:15px}p{line-height:1.6}a{color:inherit}input,select,textarea{border:1px solid #ced8e3;border-radius:10px;padding:12px;background:white;color:#142d4e;width:100%;min-width:0}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#142d4e}textarea{min-height:100px;resize:vertical}label{display:grid;gap:7px;font-size:13px;font-weight:600}small{font-size:12px}form{display:grid;gap:16px}
.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:12px 17px;min-height:44px;border-radius:11px;font-size:13px;font-weight:600;text-decoration:none}.primary{background:#142d4e;color:white}.secondary{background:#edf3f7;color:#142d4e}.danger{background:#fff0f0;color:#a52b35}.mint{background:var(--mint);color:var(--navy)}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:11px;font-weight:600}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.logo{font-size:29px;font-weight:750;letter-spacing:-1.5px;display:flex;align-items:center;gap:9px}.logo img{width:34px;height:34px}.logo em{color:var(--mint);font-style:normal}
.login{max-width:1100px;margin:6vh auto;padding:28px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.login-story{background:var(--navy);color:white;border-radius:30px;padding:45px;min-height:590px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story h1{font-size:clamp(38px,6vw,65px);max-width:420px;margin:40px 0 18px;letter-spacing:-2.5px}.login-story p{color:#bfcfe0;max-width:310px}.login-story .eyebrow{color:var(--mint)}.login-form{display:grid;gap:22px}.login-form h2{font-size:29px}.login-form .primary{width:100%;font-size:15px}.demo-options{border-top:1px solid var(--border);padding-top:22px}.demo-options .row{margin-top:12px}.note{font-size:12px;color:var(--muted);line-height:1.6}.pill{display:inline-block;background:#edf3f7;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:600}.banner{background:#e5f9f0;color:#245c46;padding:10px 20px;font-size:12px;text-align:center;border-bottom:1px solid #c7eadb}.banner.offline{background:#fff1d9;color:#76500c}
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#c5d3e2;padding:30px 20px;display:flex;flex-direction:column;gap:30px}.sidebar .logo{color:#fff}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:12px;background:transparent;color:#c5d3e2;border-radius:11px;padding:14px;text-align:left;font-size:14px}.sidebar nav button.active{background:#244562;color:var(--mint)}.nav-icon{width:20px;display:inline-grid;place-items:center;font-size:18px}.sidebar-footer{margin-top:auto;display:grid;gap:14px}.sidebar-footer .secondary{background:#26425e;color:#dce7f2}.account{font-size:12px;padding:10px 0;overflow-wrap:anywhere}.main{min-width:0;max-width:1250px;width:100%;padding:38px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 28px}.heading p{font-size:14px;color:var(--muted);margin-top:8px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid var(--border);border-radius:18px;padding:22px}.stat strong{display:block;font-size:34px;letter-spacing:-1px;margin:10px 0 4px}.stat span{font-size:12px;color:var(--muted)}.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.person{display:flex;align-items:center;gap:13px;padding:17px 0;border-top:1px solid var(--border);flex-wrap:wrap}.person-info{flex:1;min-width:140px}.person-info p{font-size:12px;color:var(--muted);margin-top:3px}.avatar{width:42px;height:42px;border-radius:50%;background:#edf3f7;display:grid;place-items:center;font-size:13px;font-weight:650;flex-shrink:0}.tag{color:#236149;background:#e4f7ed;padding:5px 8px;border-radius:7px;font-size:11px}.tag.draft{color:#7a5c1c;background:#fff5dc}.callout{background:#eaf1f6;padding:22px;border-radius:16px;margin-top:22px}.callout p{font-size:13px;color:var(--muted);margin-top:6px}.empty{padding:32px 12px;text-align:center;color:var(--muted)}.empty h2{color:var(--navy);margin-bottom:9px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tabs button{padding:10px 15px;border-radius:9px;background:#e9f0f5;color:var(--navy)}.tabs button.active{background:var(--navy);color:#fff}
.items{display:grid;gap:12px}.exercise{border:1px solid var(--border);border-radius:14px;padding:17px}.exercise-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px}.parameters{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.parameters label{font-size:11px}.parameters input{padding:9px}.exercise .note{margin-top:10px}.exercise label.note-label{margin-top:12px}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:18px 0}.toolbar label{flex:1;min-width:160px}.workout-title{font-size:25px}.workout-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}.workout-item:last-child{border:0}.number{height:34px;width:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#edf3f7;font-size:12px}.workout-item p{font-size:13px;color:var(--muted);margin-top:6px}.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
.student-main{max-width:700px;margin:0 auto;padding:28px 22px 110px}.student-top{margin-bottom:28px}.student-nav{position:fixed;bottom:0;left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:8px;background:white;border-top:1px solid var(--border);z-index:5}.student-nav button{display:grid;justify-items:center;gap:5px;min-height:48px;width:100%;max-width:120px;background:white;color:var(--muted);font-size:11px;border-radius:10px}.student-nav button.active{background:#edf3f7;color:var(--navy)}.hero{background:var(--navy);color:white;border-radius:22px;padding:28px;position:relative;overflow:hidden}.hero h1{font-size:38px;margin:12px 0}.hero p{color:#bdd0e3;font-size:13px}.hero .eyebrow{color:var(--mint)}.hero .actions{justify-content:flex-start}.measure{background:#edf3f7;border-radius:12px;padding:16px}.measure strong{font-size:27px;display:block;margin-top:7px}.measure span{font-size:12px;color:var(--muted)}.history{margin-top:16px;display:grid;gap:12px}.history article{border-left:3px solid var(--mint);padding:10px 15px;background:#f6f9fb}.history p{font-size:13px;color:var(--muted)}.install{border:1px dashed #b7c9d8;border-radius:14px;padding:16px;display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:18px}.install p{font-size:12px}.full{width:100%}.spaced{margin-top:20px}.space-bottom{margin-bottom:20px}
#notice{position:fixed;bottom:90px;right:18px;left:18px;max-width:540px;margin:auto;background:#142d4e;color:white;border-radius:12px;padding:15px 20px;box-shadow:0 10px 30px #142d4e25;z-index:20;font-size:13px;display:none}#notice.visible{display:block}dialog{width:calc(100% - 32px);max-width:560px;border:1px solid var(--border);border-radius:20px;padding:26px;color:var(--navy);max-height:85vh}dialog::backdrop{background:#0d213a88}dialog h2{margin-bottom:16px}dialog p{margin-bottom:15px;font-size:14px}dialog #close-modal{margin-top:20px}dialog textarea{font-size:13px}details{padding:14px 0}summary{cursor:pointer;font-size:14px}.review-list{padding-left:22px;line-height:1.8;font-size:13px}button.link{background:none;color:var(--navy);padding:8px;text-decoration:underline}.error{color:#9d2735;background:#fff0f2;border-radius:10px;padding:12px}.privacy{max-width:760px;padding:30px;margin:auto;background:white}.privacy h2{margin:24px 0 12px}.privacy p{margin-bottom:14px}
@media(min-width:1500px){.main{padding:50px}}@media(max-width:900px){.shell{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding:24px 12px}.main{padding:25px}.grid2{grid-template-columns:1fr}.login{gap:28px}.login-story{padding:28px}.stats{gap:10px}.stat{padding:16px}}@media(max-width:600px){.login{grid-template-columns:1fr;margin:0;padding:18px;gap:24px}.login-story{min-height:0;padding:28px}.login-story h1{font-size:40px;margin:25px 0 16px}.login-story .eyebrow{margin-top:22px}.login-form{padding:8px}.shell{grid-template-columns:1fr}.sidebar{padding:16px;gap:17px}.sidebar .logo{font-size:25px}.sidebar nav{display:flex;gap:5px;flex-wrap:wrap}.sidebar nav button{font-size:12px;padding:10px}.sidebar-footer{display:flex;justify-content:space-between;align-items:center}.account{display:none}.main{padding:23px 15px}.heading{margin-bottom:22px}.stats{gap:7px}.stat{padding:13px 9px;border-radius:12px}.stat strong{font-size:28px}.stat span{font-size:11px}.panel{padding:17px}.parameters{grid-template-columns:1fr 1fr}input,textarea,select{font-size:16px}.person{gap:9px}.person-info{min-width:100px}.person .secondary{padding:9px 12px}.student-main{padding:22px 16px 110px}.student-nav{gap:2px}.student-nav button{font-size:10px}.hero h1{font-size:34px}.install{flex-wrap:wrap}.actions .primary{flex:1}.grid2{grid-template-columns:1fr}.measure-grid{grid-template-columns:1fr 1fr}dialog{padding:20px}}
label.row:has(input[type=checkbox]){flex-wrap:nowrap;align-items:flex-start;line-height:1.5}label.row input[type=checkbox]{flex-shrink:0;margin-top:3px}.person-info h3{overflow-wrap:anywhere}
