.portal-page{min-height:100vh;background:#f4f2ed}.portal-header{position:sticky}.portal-label{font-size:12px;font-weight:950;letter-spacing:1.8px;color:var(--lime-dark)}
.portal-hero{max-width:var(--max);margin:auto;padding:72px 24px 34px}.portal-hero h1{font-size:clamp(46px,7vw,78px);line-height:.96;letter-spacing:-4px;margin:0 0 20px}.portal-hero>p:last-child{max-width:640px;font-size:18px;color:var(--muted);margin:0}
.portal-steps{max-width:var(--max);margin:0 auto 70px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.portal-steps a{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:10px}.portal-steps strong{color:var(--lime-dark);font-size:13px}.portal-steps span{font-weight:850}
.program-section{max-width:var(--max);margin:0 auto 64px;padding:42px 24px;background:#fff;border:1px solid var(--line);border-radius:14px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}.section-title h2{font-size:clamp(30px,4vw,48px);line-height:1;margin:0;letter-spacing:-2px}.section-title>p{max-width:420px;color:var(--muted);margin:0}
.test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.test-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fafaf8}.test-card h3{font-size:20px;margin:0 0 4px}.test-card>p{font-size:13px;color:var(--muted);margin:0 0 16px}.test-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.test-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:850}.test-fields input,.test-fields select{width:100%;min-height:46px;border:1px solid #bfc3bc;border-radius:7px;background:#fff;padding:10px 11px;font:inherit;font-size:16px}.test-fields input:focus,.test-fields select:focus{outline:3px solid rgba(121,169,0,.2);border-color:var(--lime-dark)}.form-message{min-height:24px;color:#a02b20;font-weight:750}
.level-results{margin-top:28px;padding:28px;background:var(--navy);color:#fff;border-radius:12px}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.result-heading h3{font-size:30px;margin:0}.text-button{border:0;background:none;color:var(--lime);font-weight:900;text-decoration:underline;cursor:pointer}.result-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#3b4357;border:1px solid #3b4357;margin:24px 0}.result-row{display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--navy);padding:14px}.result-row span{color:#c8cbd3}.result-row strong{color:var(--lime)}.result-row small{grid-column:1/-1;color:#fff}.result-row.stop strong,.result-row.stop small{color:#ffb4a8}.result-rule{color:#c8cbd3;margin:0}
.training-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.training-toolbar>label{display:flex;align-items:center;gap:10px;font-weight:900}.training-toolbar select{min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 34px 8px 12px;font:inherit}.workout-tabs{display:flex;gap:7px;flex-wrap:wrap}.workout-tab{border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;font-weight:850;cursor:pointer}.workout-tab.active{border-color:var(--navy);background:var(--navy);color:#fff}.week-note{display:none;margin:14px 0;padding:12px 15px;border-left:4px solid var(--lime);background:#f3f8e6;font-weight:750}.week-note.show{display:block}.workout-summary{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.workout-summary span{border-radius:7px;background:#f0f0ec;padding:8px 11px;font-size:13px;font-weight:800}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.training-table{width:100%;border-collapse:collapse;min-width:780px}.training-table th{background:var(--navy);color:#fff;text-align:left;font-size:12px;letter-spacing:.5px;text-transform:uppercase;padding:12px}.training-table td{padding:13px 12px;border-top:1px solid var(--line);vertical-align:middle}.training-table tbody tr:first-child td{border-top:0}.training-table tbody tr.done{background:#f5fae9}.exercise-name{font-weight:900}.exercise-name small{display:block;margin-top:3px;color:var(--muted);font-weight:650}.log-cell{display:flex;align-items:center;gap:8px}.log-cell input[type="text"]{width:120px;min-height:39px;border:1px solid #c8cbc4;border-radius:7px;padding:8px}.log-cell input[type="checkbox"]{width:20px;height:20px;accent-color:var(--lime-dark)}.video-button{white-space:nowrap;border:0;border-radius:7px;background:var(--lime);color:#111;padding:10px 13px;font-weight:950;cursor:pointer}.video-button:hover{background:#a8ea00}.training-save{font-size:13px;color:var(--muted);margin:11px 2px 0}.optional-downloads{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.optional-downloads summary{cursor:pointer;font-weight:850}.optional-downloads p{color:var(--muted);margin-bottom:8px}.optional-downloads div{display:flex;gap:20px;flex-wrap:wrap}.optional-downloads a{text-decoration:underline}.video-dialog{width:min(680px,calc(100% - 24px));max-height:90vh;border:0;border-radius:14px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.35)}.video-dialog::backdrop{background:rgba(7,10,8,.76)}.video-dialog-head{display:flex;justify-content:space-between;align-items:start;padding:22px 24px 16px}.video-dialog-head h2{margin:0;font-size:28px}.video-dialog-head button{border:0;background:#eee;border-radius:50%;width:38px;height:38px;font-size:26px;cursor:pointer}.video-dialog video{display:block;width:100%;max-height:58vh;background:#080a09}.video-dialog ul{margin:20px 28px 10px;padding-left:18px}.video-dialog li{margin:6px 0}.video-dialog>p{margin:0 28px 24px;color:var(--muted)}.safety-card{max-width:var(--max);margin:0 auto 80px;padding:22px 26px;border-left:6px solid var(--lime);background:#fff}.safety-card p{display:inline;margin-left:12px;color:var(--muted)}
@media(max-width:850px){.portal-header nav{display:none}.section-title{align-items:start;flex-direction:column}.test-grid{grid-template-columns:1fr}.portal-steps{margin-bottom:45px}.training-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.portal-hero{padding:52px 18px 26px}.portal-hero h1{font-size:46px;letter-spacing:-2.5px}.portal-steps{padding:0 18px;grid-template-columns:1fr;gap:8px}.program-section{margin:0 12px 44px;padding:28px 16px}.test-fields{grid-template-columns:1fr 1fr}.test-fields label:last-child:nth-child(odd){grid-column:1/-1}.result-list{grid-template-columns:1fr}.workout-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.workout-tab{padding:10px 8px}.table-wrap{border:0;overflow:visible}.training-table,.training-table tbody{display:block;min-width:0}.training-table thead{display:none}.training-table tr{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:12px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.training-table td{display:block;border:0;padding:0}.training-table td:nth-child(1){grid-column:1/-1}.training-table td:nth-child(4){grid-column:1}.training-table td:nth-child(5){grid-column:2;grid-row:2/4;align-self:end}.log-cell input[type="text"]{width:100%}.video-button{height:42px}.safety-card{margin:0 18px 60px}.safety-card p{display:block;margin:8px 0 0}.portal-label{font-size:10px}}
