:root{font-family:Arial,Helvetica,sans-serif;color:#172539;background:#f1f4f8;font-size:16px;--navy:#172539;--blue:#215dcc;--line:#dce3ed}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:white;color:var(--navy);padding:11px 16px;border-radius:9px;font-weight:600}button:hover{background:#edf2fa}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5aa35;outline-offset:3px}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#18499f}.quiet{background:transparent}.demo{background:#dee7f5;padding:10px 24px;font-size:12px;font-weight:700;letter-spacing:1px;display:flex;gap:16px;flex-wrap:wrap}.demo span{letter-spacing:0;font-weight:400}.shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 38px)}aside{background:var(--navy);color:white;padding:32px 18px;display:flex;flex-direction:column}.brand{padding:0 14px 32px;font-size:21px;letter-spacing:2px;line-height:1.1}.brand strong{font-size:38px;letter-spacing:6px}.brand small{font-size:10px;letter-spacing:1px;line-height:1.7;display:block;margin-top:12px}nav{display:grid;gap:6px}nav button{background:transparent;border:0;color:#c7d2e5;text-align:left;font-size:14px}nav button.active{background:#304360;color:white}nav button:hover{background:#263853}.aside-note{margin:auto 14px 0;padding-top:55px;color:#a8bad2;line-height:1.8;font-size:14px}.workspace{min-width:0}header{background:white;border-bottom:1px solid var(--line);padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}header small{font-size:11px;letter-spacing:2px;color:#66758b}header p{margin:6px 0 0;font-size:16px;font-weight:600}.role-label{display:flex;align-items:center;gap:12px;font-size:13px;color:#55647a}select,input,textarea{border:1px solid #bfcbdc;border-radius:7px;padding:11px;background:white;color:var(--navy);min-height:44px;max-width:100%;width:100%}select{width:auto}main{max-width:1150px;margin:0 auto;padding:36px}h1{font-size:clamp(27px,3vw,38px);line-height:1.16;font-weight:600;letter-spacing:-1px;margin:8px 0 14px}h2{font-size:22px;line-height:1.3;margin:6px 0 14px}h3{font-size:18px;margin:5px 0 10px}p{line-height:1.55;margin:8px 0 14px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;color:#506782}.muted{color:#5d6c82}.intro{margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;margin-bottom:20px;min-width:0}.grid .panel{margin-bottom:0}.track{border-top:5px solid var(--blue);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.track.martial{border-top-color:#172539}.track button{margin-top:auto}.tag{display:inline-block;border-radius:5px;background:#e8eef9;color:#344e72;font-size:12px;padding:6px 8px;font-weight:600}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.rule{height:1px;background:var(--line);margin:20px 0}.field{display:grid;gap:8px;margin-bottom:16px;font-size:14px;font-weight:600}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fields .field{margin-bottom:0}.tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.tabs button.active{background:var(--navy);color:white}.exercise{border-top:1px solid var(--line);padding:22px 0}.exercise:last-child{padding-bottom:0}.setline{display:grid;grid-template-columns:65px 1fr 1fr;gap:12px;align-items:center;margin:10px 0}.setline label{font-size:13px;color:#58677d;display:grid;gap:5px}.setline span{font-size:14px}.log{border-left:3px solid var(--blue);padding:3px 16px;margin:18px 0}.log p{margin:4px 0}.small{font-size:13px}.policy li{margin:12px 0;line-height:1.55}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;min-height:28px;font-weight:600}pre.curriculum{white-space:pre-wrap;font:inherit;line-height:1.8;font-size:15px;margin:18px 0 0}.notice{padding:16px 18px;background:#e7edf6;border-radius:10px;font-size:14px;line-height:1.55;margin:18px 0}footer{padding:20px 36px;color:#68788e;font-size:12px}#toast:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#172539;color:white;padding:14px 20px;border-radius:10px;max-width:90%;box-shadow:0 8px 28px #17253933;z-index:5}a{color:#215dcc}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:850px){.shell{grid-template-columns:1fr}aside{padding:20px}.brand{padding:0 0 18px;font-size:16px}.brand strong{font-size:25px}.brand small,.aside-note{display:none}nav{display:flex;flex-wrap:wrap;gap:4px}nav button{font-size:13px;padding:8px 11px}header{padding:18px 20px}main{padding:24px 20px}.grid{gap:16px}}@media(max-width:540px){.grid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.panel{padding:19px}.role-label{display:grid;gap:5px}header small{display:none}.demo{padding:10px 20px;gap:6px}.setline{grid-template-columns:45px 1fr 1fr;gap:8px}.setline input{padding:9px}.row select{width:100%}h1{letter-spacing:-.5px}}
.contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border-radius:9px;background:var(--blue);color:white;text-decoration:none;font-weight:600}.contact-button.secondary{background:#e8eef9;color:#215dcc}.class-slot{padding:10px 0;border-bottom:1px solid var(--line)}.class-slot:last-of-type{border-bottom:0}.class-slot p{margin:5px 0}.class-time{font-weight:600}.day-panel .eyebrow{margin-top:16px}
[hidden]{display:none!important}

/* Keep training controls within easy reach on phones. */
#menu-toggle{display:none}.small,.tag,.setline label,.demo{font-size:14px}.eyebrow{font-size:14px}header .row{min-width:0}#member-select{max-width:100%}pre.curriculum{overflow-wrap:anywhere}details.panel{padding:24px}#save-state{letter-spacing:0}#toast:not(:empty){bottom:max(20px,env(safe-area-inset-bottom))}
@media(max-width:850px){aside{display:grid;grid-template-columns:1fr auto;align-items:center;padding:16px 20px;gap:12px}.brand{padding:0;font-size:14px}.brand strong{font-size:24px}#menu-toggle{display:block;background:#304360;color:white;border:1px solid #506782}nav{display:none;grid-column:1/-1}nav.expanded{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}nav button{font-size:14px}header{flex-wrap:wrap;padding:16px 20px}header>.row{width:100%;justify-content:space-between}main{padding-top:20px;scroll-margin-top:16px}.intro{margin-bottom:20px}.demo{padding:10px 20px;gap:4px 12px}.demo>span{flex-basis:100%}details.panel{padding:19px}}
@media(max-width:540px){#member-control{flex:1;min-width:0}#account-label{overflow-wrap:anywhere}.track{gap:4px}.panel{margin-bottom:16px}h1{font-size:28px}header p{margin:0}}

.brand{display:flex;flex-direction:column;align-items:center;gap:16px}.brand-logo{display:block;width:120px;height:auto;max-width:100%;border-radius:8px;background:white}.brand-name{width:100%}@media(max-width:850px){.brand{flex-direction:row;gap:12px;min-width:0}.brand-logo{width:64px;flex-shrink:0}.brand-name{width:auto}.brand strong{letter-spacing:4px}}

/* Display the original circular mark without its printed caption. */
.brand-mark{position:relative;display:block;overflow:hidden;width:120px;height:120px;flex-shrink:0;background:white;border-radius:50%}.brand-mark .brand-logo{position:absolute;width:117.24138%;max-width:none;height:auto;left:-5.17241%;top:-16.55172%;border-radius:0}@media(max-width:850px){.brand-mark{width:64px;height:64px}}

.previous-results{padding:14px 16px;background:#edf2fa;border-radius:9px;margin:14px 0 18px;border-left:3px solid #506782}.previous-results h4{font-size:14px;margin:0 0 6px}.previous-results p{margin:0 0 8px}.previous-sets{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;line-height:1.6}#copy-day-form{margin-top:16px}#copy-day-form select{width:100%}

.coaching-focus{border-top:4px solid #215dcc}.focus-instruction{white-space:pre-wrap;font-size:18px;line-height:1.6;overflow-wrap:anywhere}.coaching-focus h2{margin-top:10px}.coaching-focus form{margin-top:18px}

.belt-videos{border-top:1px solid #d9e1eb;margin:24px 0;padding-top:18px}.demo-link{margin:16px 0}.demo-link p{margin-bottom:12px}

.followup-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 0 22px;line-height:1.6}.followup-summary strong{font-size:22px}.followup-filters{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.followup-filters select{width:100%}.followup-card details{margin:18px 0}.followup-card .focus-instruction{font-size:16px}@media(max-width:540px){.followup-filters{grid-template-columns:1fr}}
