.passport-app{--pass-green:#d8f889;--pass-ink:#14271d;--pass-line:#d5ddcb;--pass-muted:#56614f;font:16px/1.6 Inter,Arial,sans-serif}.passport-app *{box-sizing:border-box}.passport-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.passport-heading .eyebrow{margin-bottom:14px}.passport-app h2{font-size:clamp(34px,4vw,48px);line-height:1.04}.passport-heading .student-text-button{white-space:nowrap;margin-top:5px}.passport-cover{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pass-ink);color:#fff;padding:28px;margin-top:25px;border:1px solid var(--pass-ink);position:relative}.passport-cover-label{display:block;font-size:12px;letter-spacing:.15em;color:var(--pass-green);margin-bottom:20px}.passport-app .passport-cover h3{font:600 25px/1.25 Inter,Arial,sans-serif;letter-spacing:-.04em;text-transform:none}.passport-cover p{margin-top:10px;font-size:14px;color:#d7e2d3}.passport-cover-count{text-align:right;flex:none}.passport-cover-count>strong{display:block;font-size:42px;line-height:1.15;color:var(--pass-green);font-weight:700;letter-spacing:-.055em}.passport-cover-count strong span{font-size:20px;letter-spacing:-.02em;color:#9cad94}.passport-cover-count>span{font-size:12px;color:#d7e2d3}.passport-intro{margin:20px 0 24px;color:var(--pass-muted);font-size:15px}.passport-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.passport-exam{min-width:0;text-align:left;border:1px solid var(--pass-line);background:#fff;padding:17px;cursor:pointer;color:var(--pass-ink);font:inherit;display:flex;flex-direction:column;gap:11px;transition:border-color .15s,background .15s}.passport-exam.is-selected{border:2px solid var(--pass-ink);padding:16px;background:#f5f9ed}.passport-exam.is-earned{background:#eef5de}.passport-exam.is-locked{background:#f3f4ef;color:#606953}.passport-exam:hover{border-color:#405938}.passport-exam-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.passport-stamp{display:inline-flex;border:1px solid #97ac7b;border-radius:50%;width:34px;height:34px;align-items:center;justify-content:center;font-size:13px;flex:none}.is-earned .passport-stamp{background:var(--pass-ink);color:var(--pass-green);border-color:var(--pass-ink);font-size:19px}.passport-exam-status{font-size:12px;line-height:1.3;text-align:right}.passport-exam>strong{font-size:17px;font-weight:650;line-height:1.3}.passport-exam-count{font-size:13px;color:var(--pass-muted)}.passport-track{height:5px;background:#e1e8d8;margin-top:auto;overflow:hidden}.passport-track>span{display:block;height:100%;background:#5d792d}.passport-whop{border-top:1px solid var(--pass-line);border-bottom:1px solid var(--pass-line);padding:23px 0;margin:28px 0;display:flex;gap:20px;align-items:center}.passport-whop p{font-size:14px;margin-top:7px;color:var(--pass-muted)}.passport-whop .btn{font-size:14px;padding:12px 15px;flex:none}.passport-section-heading{display:flex;gap:18px;align-items:center;justify-content:space-between}.passport-section-heading .eyebrow{font-size:12px;margin-bottom:8px}.passport-app .passport-section-heading h3{font:650 24px/1.25 Inter,Arial,sans-serif;letter-spacing:-.04em;text-transform:none}.passport-count{font-size:18px;padding:9px 12px;background:#edf3df;white-space:nowrap}.passport-standard{margin:18px 0;color:var(--pass-muted);font-size:14px;line-height:1.7}.passport-lock-note{padding:15px 18px;background:#f2ead9;border-left:3px solid #9e7e37;margin:18px 0;font-size:15px}.passport-earned{display:flex;align-items:center;gap:15px;padding:20px;background:#eaf5d5;margin-top:18px}.passport-earned>span{font-size:28px}.passport-earned p{font-size:14px;margin-top:4px}.passport-app .passport-toggle{display:flex!important;align-items:center;gap:10px;font-weight:400!important;font-size:14px!important;margin:20px 0!important}.passport-toggle input{accent-color:var(--pass-ink);width:18px;height:18px}.passport-app .passport-family{font:650 13px/1.4 Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:30px 0 10px;color:#53643f}.passport-skill{border:1px solid var(--pass-line);padding:18px;margin:0 0 10px;background:#fff}.passport-skill.status-passed{background:#f5f9ec}.passport-skill.status-pending{border-left:3px solid #b58a2b}.passport-skill-line{display:flex;gap:14px;align-items:flex-start}.passport-skill-line>input{accent-color:var(--pass-ink);width:21px;height:21px;flex:none;margin:3px 0 0}.passport-skill-mark{display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;border-radius:50%;flex:none;color:#566d3b;font-size:20px}.status-passed .passport-skill-mark{background:#d9e9be}.passport-skill-main{flex:1;min-width:0}.passport-skill-title{display:flex;justify-content:space-between;gap:13px;align-items:flex-start}.passport-app .passport-skill h4,.passport-app .coach-setting h3{font:600 16px/1.5 Inter,Arial,sans-serif;letter-spacing:0;text-transform:none}.passport-status{display:inline-block;flex:none;font-size:12px;line-height:1.4;background:#f0f2e9;padding:4px 7px;border:1px solid #dbe1d1;color:#59624c}.passport-status.passed{background:#ddecbd;color:#31431f;border-color:#cfdea9}.passport-status.pending{background:#fff2d3;color:#79580e;border-color:#e9d7ab}.passport-status.needs_practice{background:#f6e8da;border-color:#e7d6c5;color:#79502c}.passport-criteria{margin-top:8px;font-size:14px;color:var(--pass-muted)}.passport-criteria summary,.passport-definitions summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:4px 0}.passport-criteria p{margin:12px 0}.passport-id{font-size:12px;color:#78816e}.passport-setup{background:#f6f0e1;padding:12px;border-left:2px solid #ab8a44}.passport-video{font-size:14px;display:inline-block;margin-top:10px;color:#345726;text-underline-offset:4px;font-weight:600}.passport-feedback{margin-top:10px;font-size:14px}.passport-feedback strong{display:block}.passport-meta{font-size:12px;line-height:1.6;color:#65715a;margin-top:8px}.passport-request-fields{display:grid;gap:12px;margin-top:22px}.passport-app label{font-size:14px;line-height:1.5}.passport-app input:not([type=checkbox]),.passport-app select,.passport-app textarea{display:block;width:100%;min-height:48px;border:1px solid #aab79e;background:#fff;padding:11px 12px;color:var(--pass-ink);font:inherit;font-size:16px;border-radius:3px;margin-top:7px}.passport-app textarea{resize:vertical;line-height:1.5}.passport-app .btn{min-height:48px}.passport-save-bar{position:sticky;bottom:12px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--pass-ink);color:#fff;padding:18px;margin-top:22px;box-shadow:0 5px 15px #19211920}.passport-save-bar .btn{background:var(--pass-green);color:var(--pass-ink);font-size:14px;white-space:nowrap;padding:12px 18px}.passport-save-bar small{display:block;font-size:12px;color:#d4decc;margin-top:4px}.passport-save-bar strong{font-size:15px}.passport-message{margin:18px 0;font-size:15px;line-height:1.65;overflow-wrap:anywhere}.passport-message:not(:empty){padding:14px;background:#edf5df;border-left:3px solid #708a35}.passport-message.is-error:not(:empty){background:#fff0e5;border-color:#9a5937;color:#743821}.passport-empty{padding:22px;background:#f3f5ee;color:#536049;margin:15px 0;font-size:15px}.passport-empty button{margin-left:6px}.passport-definitions{margin-top:28px;font-size:14px;color:#59644f}.passport-definitions p{margin-top:12px}.passport-app [hidden]{display:none!important}.passport-app button:disabled{opacity:.55;cursor:not-allowed}.passport-app button:focus-visible,.passport-app a:focus-visible,.passport-app summary:focus-visible{outline:3px solid #799941;outline-offset:3px}.student-tabs{gap:22px;flex-wrap:wrap}.student-tabs button{padding-block:20px 16px}.student-coach-link{display:inline-block;margin-top:16px;font-size:14px}
.coach-body{background:#f7f8f0;color:var(--pass-ink,#14271d)}.coach-header{display:flex;justify-content:space-between;align-items:center;padding-block:24px;border-bottom:1px solid #d5ddcb}.coach-header .brand{font-size:14px}.coach-header .brand img{width:54px;height:50px;object-fit:contain}.coach-header .text-link{font-size:14px}.coach-body>.passport-app{padding-top:38px;padding-bottom:60px;max-width:1120px}.coach-title{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.coach-title h1{font-size:clamp(42px,6vw,72px);line-height:1}.coach-title .eyebrow{font-size:12px;margin-bottom:15px}.coach-nav,.passport-filters{display:flex;gap:8px;flex-wrap:wrap}.coach-nav button,.passport-filters button{font:inherit;font-size:14px;border:1px solid #b7c4a8;background:transparent;padding:12px 15px;color:var(--pass-ink);cursor:pointer}.coach-nav .is-active,.passport-filters [aria-pressed=true]{background:var(--pass-ink);color:var(--pass-green);border-color:var(--pass-ink)}.coach-roster-tools{display:flex;align-items:flex-end;gap:18px;margin:30px 0 20px}.coach-roster-tools>label{flex:0 0 185px}.coach-roster-tools .coach-search-label{flex:1}.coach-roster-tools .btn{font-size:14px;padding:12px 15px;flex:none}.coach-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.coach-student-card{padding:22px;border:1px solid var(--pass-line);background:#fff;display:flex;gap:17px;align-items:center;text-align:left;cursor:pointer;color:var(--pass-ink)}.coach-student-card:hover{border-color:#557238;background:#f1f7e7}.coach-avatar{display:flex;align-items:center;justify-content:center;height:56px;width:56px;border-radius:50%;background:#e0ebce;flex:none;font:600 19px Inter,Arial,sans-serif;overflow:hidden}.coach-avatar img{width:100%;height:100%;object-fit:cover}.coach-student-card>span+span{min-width:0}.coach-student-card strong{display:block;font:600 18px/1.4 Inter,Arial,sans-serif;overflow-wrap:anywhere}.coach-student-card span span{display:block;font:14px/1.5 Inter,Arial,sans-serif;margin-top:4px}.coach-student-card small{display:block;font:12px/1.5 Inter,Arial,sans-serif;margin-top:8px;color:#66794d}.coach-student-top{display:flex;justify-content:space-between;margin:25px 0}.coach-person{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:25px;background:var(--pass-ink);color:#fff}.coach-person h2{font:650 28px/1.2 Inter,Arial,sans-serif;text-transform:none;letter-spacing:-.04em}.coach-person .eyebrow{color:var(--pass-green);font-size:12px;margin-bottom:10px}.coach-person p{margin-top:9px;font-size:14px;overflow-wrap:anywhere}.coach-person .passport-status{background:transparent;border-color:#718063;color:#d7e8c7;white-space:nowrap}.coach-assessment-tools{display:grid;grid-template-columns:1fr 210px;gap:20px;margin:24px 0}.coach-skill{padding:22px}.coach-result-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.coach-result-buttons button{font:600 14px/1.4 Inter,Arial,sans-serif;background:#fff;border:1px solid #abb99e;padding:12px 18px;cursor:pointer;color:var(--pass-ink);min-height:48px}.coach-result-buttons [data-result=passed][aria-pressed=true]{background:#d8efad;border:2px solid #486629;padding:11px 17px}.coach-result-buttons [data-result=needs_practice][aria-pressed=true]{background:#f0dfc5;border:2px solid #95713b;padding:11px 17px}.coach-result-buttons [data-result=not_assessed][aria-pressed=true]{background:#e8ede1;border:2px solid #6c7c58;padding:11px 17px}.coach-note-label{display:block;margin-top:14px;color:#617052}.coach-note-label textarea{background:#fafbf7;min-height:65px;font-size:14px}.coach-placement,.coach-history{border-top:1px solid var(--pass-line);margin-top:30px;padding-top:23px}.coach-placement summary,.coach-history summary{font-size:16px;font-weight:600;cursor:pointer}.coach-placement p{margin:18px 0;color:var(--pass-muted)}.coach-placement form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.coach-placement form .btn{justify-self:start}.coach-placement form [role=status]{grid-column:1/-1;margin:0}.coach-history article{border-bottom:1px solid var(--pass-line);padding:18px 0;font-size:14px}.coach-history article span{color:#6d775f;font-size:12px}.coach-history article p{margin-top:5px}.coach-footer{border-top:1px solid var(--pass-line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:13px;color:var(--pass-muted)}.coach-footer a{flex:none;text-underline-offset:4px}.passport-section-intro{margin:30px 0 24px}.passport-section-intro p{max-width:700px;margin-top:20px;color:var(--pass-muted)}.passport-select-label{display:block;margin-bottom:25px;max-width:440px}.coach-setting{padding:24px}.coach-setting>p{margin:16px 0;color:var(--pass-muted);font-size:14px}.coach-setting label{display:block;margin-top:20px}.coach-setting label>strong{font-size:12px;color:#8a662c;margin-left:6px}.coach-setting textarea{min-height:120px}
@media(max-width:900px){.coach-title{align-items:flex-start;flex-direction:column}.coach-nav{margin-top:10px}.coach-roster-tools{flex-wrap:wrap}.coach-roster-tools>label{flex:1}.coach-roster-tools .coach-search-label{flex:1 1 300px}.coach-roster-tools .btn{width:100%}.passport-whop{align-items:flex-start;flex-direction:column}.passport-skill-title{flex-direction:column;gap:6px}.passport-status{align-self:flex-start}.coach-skill .passport-skill-title{flex-direction:row}.student-tabs{gap:12px 20px}.student-tabs button{padding-block:13px}}
@media(max-width:520px){.passport-heading h2{font-size:35px}.passport-cover{padding:20px;gap:18px;align-items:flex-start;flex-direction:column}.passport-cover-label{margin-bottom:15px}.passport-app .passport-cover h3{font-size:23px}.passport-cover-count{text-align:left;display:flex;align-items:baseline;gap:10px}.passport-cover-count>strong{font-size:33px}.passport-exam-grid{gap:8px}.passport-exam{padding:12px}.passport-exam.is-selected{padding:11px}.passport-exam>strong{font-size:15px}.passport-exam-top{align-items:flex-start;gap:5px}.passport-stamp{width:28px;height:28px}.passport-exam-status{font-size:12px;max-width:85px}.passport-exam-count{font-size:12px}.passport-skill{padding:14px}.passport-skill-line{gap:10px}.passport-request-fields label{margin:10px 0!important}.passport-save-bar{padding:14px;margin-inline:-6px;gap:12px;bottom:8px}.passport-save-bar .btn{padding:12px;font-size:13px}.passport-save-bar small{max-width:135px;line-height:1.5}.passport-standard{font-size:14px}.passport-section-heading{align-items:flex-start}.passport-app .passport-section-heading h3{font-size:22px}.coach-header{padding-block:18px}.coach-body>.passport-app{padding-top:28px}.coach-title h1{font-size:50px}.coach-nav{width:100%;gap:6px}.coach-nav button{flex:1;padding:12px 8px;font-size:13px}.coach-student-grid{grid-template-columns:1fr}.coach-roster-tools{gap:15px}.coach-roster-tools>label,.coach-roster-tools .coach-search-label{flex:1 1 100%}.coach-student-card{padding:18px}.coach-person{padding:20px;flex-direction:column;align-items:flex-start;gap:15px}.coach-person h2{font-size:26px}.coach-assessment-tools{grid-template-columns:1fr;gap:14px}.coach-skill{padding:17px}.coach-skill .passport-skill-title{flex-direction:column}.coach-result-buttons{gap:6px}.coach-result-buttons button{flex:1;padding:11px 7px;font-size:13px}.coach-result-buttons [aria-pressed=true]{padding:10px 6px!important}.coach-placement form{grid-template-columns:1fr}.coach-footer{flex-direction:column;gap:14px}.coach-setting{padding:18px}.coach-setting .passport-id{overflow-wrap:anywhere}.passport-save-bar>span{font-size:14px}.student-tabs{gap:4px 18px;overflow:visible}.student-tabs button{font-size:13px;padding-block:12px}.student-view.passport-app{padding-inline:16px}}

.coach-online{margin:1.25rem 0;padding:1.5rem;border:1px solid var(--pass-line);border-radius:14px;background:#fff}.coach-online summary{cursor:pointer;font-weight:700;font-size:1.125rem}.coach-online>p{font-size:1rem;max-width:740px;color:var(--pass-muted);line-height:1.6}.coach-online-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.coach-online-actions .btn{font-size:.875rem}.coach-online [role=status]{font-size:.875rem;line-height:1.6;margin:14px 0}.coach-online [role=status].is-error{color:#a13323}#coach-online-members{overflow-wrap:anywhere}.coach-subscriptions{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;line-height:1.5}.coach-subscriptions caption{text-align:left;font-size:.875rem;font-weight:700;padding:10px 0 14px}.coach-subscriptions thead{background:#eef2e8;color:#42523e}.coach-subscriptions th,.coach-subscriptions td{padding:16px 12px;border-bottom:1px solid var(--pass-line);vertical-align:middle}.coach-subscriptions thead th{font-weight:600;white-space:nowrap}.coach-subscriptions tbody th{font-weight:400;width:40%}.coach-subscriptions tbody tr:last-child>*{border-bottom:0}.coach-subscriber{display:flex;align-items:center;gap:12px}.coach-subscriber-avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:#eaf0dc;color:#38452f;font-weight:700;font-size:.875rem}.coach-subscriber strong{display:block;font-weight:700;font-size:1rem;color:#182e20}.coach-subscriber-email{display:block;margin-top:3px;color:var(--pass-muted);font-size:.875rem}.coach-subscription-status{display:inline-block;padding:5px 10px;border-radius:6px;font-weight:600;white-space:nowrap}.coach-subscription-status.is-active{background:#e6f2da;color:#315724}.coach-subscription-status.is-ending{background:#fff0d6;color:#7c4e0c}.coach-subscription-status.is-attention{background:#fce5df;color:#993b28}.coach-subscription-status.is-trial{background:#e8edfa;color:#3a5080}.coach-subscription-status.is-free{background:#edf0ec;color:#596153}.coach-subscription-date{display:block;font-weight:600;white-space:nowrap}.coach-subscription-date-label{display:block;margin-top:3px;color:var(--pass-muted);font-size:.875rem}
@media(max-width:760px){.coach-online{padding:18px}.coach-online-actions{display:grid;grid-template-columns:1fr}.coach-subscriptions caption{padding-bottom:4px}.coach-subscriptions thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.coach-subscriptions,.coach-subscriptions tbody{display:block}.coach-subscriptions tr{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border:1px solid var(--pass-line);border-radius:10px;overflow:hidden}.coach-subscriptions tbody th{grid-column:1/-1;width:auto;background:#f5f7ef;padding:15px}.coach-subscriptions td{border:0;padding:13px 15px}.coach-subscriptions td:last-child{grid-column:1/-1;padding-top:0}.coach-subscriptions td:before{content:attr(data-label);display:block;color:var(--pass-muted);font-weight:500;font-size:.875rem;margin-bottom:6px}.coach-subscriptions .coach-subscription-date-label{display:inline;margin-left:8px}.coach-subscriptions .coach-subscription-date{display:inline}.coach-subscriber-avatar{width:34px;height:34px}}
