:root{--navy:#071b2e;--ink:#102336;--muted:#5e7183;--amber:#ffb21a;--paper:#f3f7fa;--line:#d7e2ea;--green:#16834f;--red:#a22c2c}
*{box-sizing:border-box}body.account-page{min-height:100vh;margin:0;background:linear-gradient(135deg,#071b2e 0,#0b3554 44%,#f3f7fa 44%);color:var(--ink);font:16px/1.55 "DM Sans",system-ui,sans-serif}.account-wrap{width:min(1120px,calc(100% - 40px));margin:auto}.account-header{border-bottom:1px solid rgba(255,255,255,.15);color:#fff}.account-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:74px}.account-header .brand-mark{background:#fff;color:var(--navy)}.back-link{font-weight:800;color:#d3e2eb}.account-main{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.66fr);gap:70px;align-items:center;min-height:calc(100vh - 154px);padding-block:48px}.account-intro{color:#fff}.account-intro h1,.dashboard-head h1{margin:12px 0 18px;font:800 clamp(2.8rem,6vw,5.3rem)/.96 Manrope,sans-serif;letter-spacing:-.055em}.account-intro>p{max-width:610px;color:#cbdbe5;font-size:1.08rem}.account-benefits{display:grid;gap:10px;margin:29px 0 0;padding:0;list-style:none}.account-benefits li{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14)}.account-benefits b{color:var(--amber)}.account-benefits span{color:#d5e1e8}.auth-card{padding:30px;border:1px solid rgba(255,255,255,.65);border-radius:22px;background:rgba(255,255,255,.98);box-shadow:0 25px 75px rgba(0,0,0,.22)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:25px;padding:4px;border-radius:12px;background:#edf3f7}.auth-tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;color:#53697a;font:800 .9rem "DM Sans",sans-serif;cursor:pointer}.auth-tabs button[aria-selected=true]{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(7,27,46,.09)}.card-kicker,.report-empty>span,.plus-lock span{color:#6a8191;font-size:.72rem;font-weight:900;letter-spacing:.1em}.auth-view h2{margin:7px 0 18px;font:800 1.65rem/1.12 Manrope,sans-serif}.auth-view form{display:grid;gap:14px}.auth-view label{display:grid;gap:6px;font-weight:800;font-size:.88rem}.auth-view input{width:100%;min-height:50px;padding:10px 13px;border:1px solid #b7c8d4;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.auth-view input:focus{outline:3px solid rgba(13,90,145,.15);border-color:#0d5a91}.auth-view small{color:var(--muted);font-weight:500}.auth-view .btn{width:100%;margin-top:4px}.auth-explainer,.terms-note{color:var(--muted);font-size:.88rem}.terms-note{margin:15px 0 0}.terms-note a{text-decoration:underline}.text-button{margin:14px 0 0;padding:0;border:0;background:none;color:#075e95;font:800 .88rem "DM Sans",sans-serif;cursor:pointer}.google-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:50px;border:1px solid #b7c8d4;border-radius:11px;background:#fff;color:var(--ink);font:800 .92rem "DM Sans",sans-serif;cursor:pointer}.google-button span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;border:1px solid var(--line);color:#4285f4}.auth-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:#7a8d9b;font-size:.75rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-status{min-height:1.45em;margin:14px 0 0;color:var(--muted);font-size:.86rem}.auth-status.is-error{color:var(--red)}.auth-status.is-success{color:var(--green)}.dashboard{grid-column:1/-1;padding:31px;border-radius:24px;background:#fff;box-shadow:0 25px 75px rgba(0,0,0,.18)}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-bottom:22px;border-bottom:1px solid var(--line)}.dashboard-head h1{margin:5px 0 4px;font-size:clamp(2rem,4vw,3.25rem)}.dashboard-head p{margin:0;color:var(--muted)}.report-loading{padding:34px 0;color:var(--muted)}.report-empty{margin:24px 0;padding:30px;border:1px dashed #aebfcc;border-radius:17px;background:var(--paper);text-align:center}.report-empty h2{margin:7px 0;font:800 1.35rem Manrope,sans-serif}.report-empty p{max-width:600px;margin:0 auto;color:var(--muted)}.pupil-reports{display:grid;gap:13px;margin-top:24px}.pupil-report{overflow:hidden;border:1px solid var(--line);border-radius:17px}.report-top{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;background:var(--navy);color:#fff}.report-top small{display:block;color:#a9c0cf}.report-top h2{margin:3px 0 0;font:800 1.13rem Manrope,sans-serif}.report-top>span{align-self:flex-start;padding:5px 9px;border-radius:999px;background:var(--amber);color:var(--navy);font-size:.7rem;font-weight:900}.report-facts{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.report-facts div{padding:14px 18px;border-right:1px solid var(--line)}.report-facts div:last-child{border:0}.report-facts span{display:block;color:var(--muted);font-size:.75rem}.report-facts b{display:block;margin-top:3px}.report-body{padding:18px 20px}.report-body h3{margin:0 0 7px;font:800 1rem Manrope,sans-serif}.report-body p{margin:0;color:var(--muted)}.skill-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:17px}.skill-chips span{padding:5px 9px;border-radius:999px;background:#e8f1f6;color:#2c526b;font-size:.76rem;font-weight:800}.plus-lock{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:24px;padding:24px;border-radius:17px;background:linear-gradient(125deg,#eef5f9,#fff7df);border:1px solid #cadbe6}.plus-lock h2{margin:5px 0 6px;font:800 1.25rem Manrope,sans-serif}.plus-lock p{margin:0;color:var(--muted)}.invite-message{margin:20px 0 0;padding:14px 17px;border-radius:12px;background:#ecf8f1;color:#0c6640;font-weight:700}.invite-message.is-error{background:#fff0f0;color:var(--red)}.account-footer{color:#d0dce4;background:#051522}.account-footer .account-wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:80px}.account-footer nav{display:flex;gap:18px}.account-footer a{font-weight:700}
@media(max-width:820px){body.account-page{background:linear-gradient(180deg,#071b2e 0,#0b3554 34%,#f3f7fa 34%)}.account-main{grid-template-columns:1fr;gap:32px;padding-block:36px}.account-intro h1{font-size:3.2rem}.dashboard{padding:22px}.plus-lock{align-items:flex-start;flex-direction:column}.report-facts{grid-template-columns:1fr 1fr}.report-facts div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}}
@media(max-width:560px){.account-wrap{width:min(100% - 26px,1120px)}.account-header .brand>span:last-child{display:none}.account-main{padding-block:25px}.account-intro h1{font-size:2.7rem}.account-benefits li{grid-template-columns:72px 1fr}.auth-card{padding:20px;border-radius:18px}.dashboard{padding:17px;border-radius:18px}.dashboard-head{align-items:stretch;flex-direction:column}.dashboard-head .btn{width:100%}.report-top{align-items:flex-start;flex-direction:column}.report-facts{grid-template-columns:1fr}.report-facts div,.report-facts div:last-child{grid-column:auto;border-right:0;border-top:1px solid var(--line)}.report-facts div:first-child{border-top:0}.account-footer .account-wrap{align-items:flex-start;flex-direction:column;padding-block:20px}.account-footer nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

[hidden]{display:none!important}

.history-tools{margin:1.5rem 0;padding:1.25rem;border:1px solid #d4dee5;border-radius:14px;background:#fff}.history-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.history-controls label{display:grid;gap:.45rem;flex:1;min-width:180px;font-size:1rem}.history-controls input,.history-controls select{width:100%;box-sizing:border-box;padding:.8rem;border:1px solid #9aadb9;border-radius:8px;font:inherit;background:#fff;color:#17354a}.report-resources{margin-top:1.25rem;border-top:1px solid #d4dee5;padding-top:1rem}.report-resources summary{cursor:pointer;font-weight:700}.report-resources li{margin:.6rem 0}.report-resources a{color:#124d72;text-decoration:underline}.history-tools [role=status]{line-height:1.6}

#plusReports table{width:100%;border-collapse:collapse}#plusReports td,#plusReports th{padding:.6rem;text-align:left;border-bottom:1px solid #ccd7df}#plusReports details{padding:1rem 0;border-top:1px solid #ccd7df}#plusReports summary{cursor:pointer;font-weight:700}#plusReports select{font:inherit;padding:.7rem;max-width:100%}
#plusReports{min-width:0}#plusReports h2{font-size:1.55rem}#plusReports h3{font-size:1.1rem}#plusReports p{white-space:pre-line;overflow-wrap:anywhere}.level-key{font-size:.9rem;color:#34526a}.plus-library input{box-sizing:border-box;width:100%;padding:.85rem;font:inherit;border:1px solid #9aadb9;border-radius:8px}.plus-library a{display:block;margin:.8rem 0;color:#174e72;text-decoration:underline}.full-report-list{margin-block:1.5rem}.full-report summary,.plus-library summary{padding:.5rem 0;min-height:24px}.full-report article{padding:1rem 0}.skill-evidence{padding:.75rem;border-left:3px solid #d4dee5;margin:.8rem 0}.full-report button{margin-top:1rem}.plus-chart{margin-bottom:1.5rem}
@media print{body.printing-plus{background:white!important}body.printing-plus>*{display:none!important}body.printing-plus .account-main{display:block!important;width:auto;max-width:none;padding:0;margin:0}body.printing-plus .account-main>*{display:none!important}body.printing-plus #dashboard{display:block!important;padding:0;border:0;box-shadow:none}body.printing-plus #dashboard>*{display:none!important}body.printing-plus #plusReports{display:block!important;padding:0;border:0}body.printing-plus #plusReports>*{display:none!important}body.printing-plus .full-report-list{display:block!important;margin:0}body.printing-plus .full-report-list>*{display:none!important}body.printing-plus .full-report-list>.print-selected{display:block!important;border:0;padding:0}body.printing-plus .print-selected>summary,body.printing-plus .print-selected>button{display:none!important}body.printing-plus .skill-evidence{break-inside:avoid}@page{size:A4;margin:16mm}}

.account-help{margin:1rem 0;padding:1rem;border:1px solid #d4dee5;border-radius:10px}.account-help summary{font-weight:700;cursor:pointer}.account-help p{line-height:1.65}.account-actions{display:flex;flex-wrap:wrap;gap:.65rem}.account-actions a{min-height:28px;padding:.25rem 0}
.basic-print{margin:0 1.25rem 1.25rem}
@media print{body.printing-basic{background:white!important}body.printing-basic>*{display:none!important}body.printing-basic .account-main{display:block!important;width:auto;max-width:none;padding:0;margin:0}body.printing-basic .account-main>*{display:none!important}body.printing-basic #dashboard{display:block!important;padding:0;border:0;box-shadow:none}body.printing-basic #dashboard>*{display:none!important}body.printing-basic #pupilReports{display:block!important}body.printing-basic #pupilReports>*{display:none!important}body.printing-basic #pupilReports>.print-selected{display:block!important;box-shadow:none;border:0}body.printing-basic .basic-print,body.printing-basic .report-resources{display:none!important}body.printing-basic .report-top:before{content:'First Pass Academy';font-weight:700}body.printing-basic .report-top{display:block}body.printing-basic .report-body{white-space:pre-line}body.printing-basic .report-facts{break-inside:avoid}@page{size:A4;margin:16mm}}

/* Phase 1 usable-release polish: compact entry, clear roles and readable controls. */
@media screen{
 body.account-page{background:#f3f7fa}
 .account-header{background:var(--navy)}
 .account-main{align-items:start;gap:40px;min-height:calc(100vh - 154px);padding-block:40px}
 .account-intro{color:var(--ink);padding-top:12px}
 .account-intro .eyebrow{color:#075e95}
 .account-intro h1{font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.035em}
 .account-intro>p,.account-benefits span{color:#425e73}
 .account-benefits{margin-top:20px;gap:4px}
 .account-benefits li{border-color:#d7e2ea}
 .account-benefits b{color:#075e95}
 .auth-card,.dashboard{border:1px solid var(--line);background:#fff;box-shadow:0 12px 34px rgba(7,27,46,.06)}
 .auth-card{border-top:4px solid #ffb21a}
 .instructor-entry{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
 .instructor-entry h2{margin:0 0 6px;font:800 1.1rem Manrope,sans-serif}
 .instructor-entry p{margin:0 0 12px;color:var(--muted);font-size:.875rem}
 .text-button{min-height:44px;margin-top:8px;padding:8px 0;text-align:left}
 .auth-status,.auth-explainer,.terms-note,.skill-chips span,.report-facts span{font-size:.875rem}
 .account-actions{gap:8px}
 .account-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:#f3f7fa;font-weight:700}
 .account-help summary{min-height:28px}
 .account-page :is(button,a,input,select,summary):focus-visible{outline:3px solid #0875b7;outline-offset:3px}
 @media(max-width:820px){.account-main{gap:22px;padding-block:24px}.account-intro{padding-top:0}.account-intro h1{margin:8px 0 12px}.account-benefits{display:none}.instructor-entry{padding:14px;margin-top:16px}.account-intro>p{font-size:1rem}.account-intro h1{font-size:2rem}}
}

.report-upgrade{margin:0 20px 18px;padding:16px;border:1px solid #d7e2ea;border-radius:12px;background:#f3f7fa;font-size:.875rem}.report-upgrade strong{display:block;color:#17354a}.report-upgrade p{margin:6px 0;color:#425e73}.report-upgrade a{display:inline-flex;align-items:center;min-height:44px;color:#075e95;font-weight:700;text-decoration:underline;text-underline-offset:3px}.dashboard:has(#plusOffer[hidden]) .report-upgrade{display:none}
@media print{.report-upgrade{display:none!important}}

/* A single lesson history, with full feedback inside its lesson card. */
.pupil-report>.full-report{margin:0 20px 20px;padding:16px;border:1px solid #b7cedc;border-radius:12px;background:#f7fbfd}
.pupil-report>.full-report>summary{min-height:44px;display:list-item;color:#174e72;font-weight:800;cursor:pointer}
.pupil-report>.full-report>article{line-height:1.7;white-space:pre-line}
.pupil-report:has(.full-report)>.report-upgrade{display:none}
@media print{
 body.printing-basic .full-report{display:none!important}
 body.printing-plus #plusReports{display:none!important}
 body.printing-plus #pupilReports{display:block!important}
 body.printing-plus #pupilReports>.pupil-report{display:none!important}
 body.printing-plus #pupilReports>.pupil-report:has(.print-selected){display:block!important;border:0}
 body.printing-plus #pupilReports>.pupil-report>*{display:none!important}
 body.printing-plus #pupilReports>.pupil-report>.full-report.print-selected{display:block!important;border:0;margin:0;padding:0;background:white}
}
@media screen{
 .dashboard{padding:clamp(18px,3vw,36px);border-radius:20px}
 .dashboard-head{border-bottom:0;padding:22px;background:#eef5f9;border-radius:14px;margin-bottom:20px}
 .history-tools{background:#f7f9fb;border:1px solid #d7e2ea;border-radius:14px;padding:20px;margin:20px 0}
 .history-controls{display:flex;gap:14px;align-items:end;flex-wrap:wrap}
 .history-controls label:first-child{flex:1;min-width:200px}
 .history-controls input,.history-controls select{width:100%;min-height:46px;border:1px solid #b7c8d4;border-radius:8px;padding:10px;font:inherit;background:white}
 .report-top{background:#12364d}.report-top h2{font-size:1.45rem}.report-top small{color:#d1e2ed}
 .pupil-reports{gap:22px}.report-facts{background:#f7f9fb}.plus-chart{padding:18px;background:white;border:1px solid #d7e2ea;border-radius:12px}
 .plus-library details{padding:16px;background:white;border:1px solid #d7e2ea;border-radius:10px;margin:12px 0}
 .plus-library summary{min-height:32px;font-weight:700;cursor:pointer}.plus-library a{display:block;padding:10px 0}
 @media(max-width:600px){.dashboard-head{flex-direction:column;padding:18px}.history-tools{padding:14px}.history-controls>*{width:100%}.pupil-report>.full-report{margin:0 12px 12px;padding:12px}.account-actions a{flex:1;justify-content:center}}
}

/* Account workspace: retain authentication behaviour, present a calm working surface. */
body.account-page{background:#f3f6f8;color:#102336}
.account-header{background:#071b2e}.account-intro{color:#102336}.account-intro>p,.account-benefits span,.instructor-signin-note{color:#536879}.account-benefits b{color:#155d75}.account-benefits li{border-color:#d7e2ea}.account-intro h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08}.auth-card,.dashboard{box-shadow:0 8px 30px rgba(7,27,46,.05);border:1px solid #d7e2ea;border-radius:18px}.account-main{gap:40px;align-items:start}.account-main:has(#dashboard:not([hidden])){display:block;min-height:75vh}.account-main:has(#dashboard:not([hidden]))>.account-intro{display:none}.dashboard-head{flex-wrap:wrap;gap:12px;align-items:center}.dashboard-head>div{flex:1 1 100%}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.account-actions a{display:block;padding:13px 18px;border:1px solid #d7e2ea;border-radius:10px;text-decoration:none;background:#f5f8fa;font-weight:700}.account-actions #instructorAccess{background:#071b2e;color:white}.account-actions [hidden]{display:none!important}.history-title{font-size:1.4rem;margin:25px 0 12px}.account-page :focus-visible{outline:3px solid #167391;outline-offset:3px}.instructor-signin-note{font-size:.9rem;margin-top:24px}.account-help{margin:20px 0}.account-help summary{cursor:pointer;padding:10px 0}
@media(max-width:700px){.account-main{display:flex;flex-direction:column;gap:20px;padding-block:24px}.account-intro,.auth-card,.dashboard{width:100%;min-width:0}.account-benefits{display:none}.account-intro h1{margin:8px 0}.instructor-signin-note{margin:12px 0}.dashboard{padding:18px}.dashboard-head .btn{flex:1 1 auto;font-size:.8rem;padding:10px}.account-actions{display:grid;grid-template-columns:1fr}.account-header .brand{font-size:.75rem}.account-header .back-link{font-size:.8rem}}
@media print{.account-actions,.history-title{display:none}}

@media screen{
 .auth-card input,.auth-card select{font-size:1rem;min-height:48px}
 .auth-card label{line-height:1.5}
 .account-main{padding-bottom:64px}
 .dashboard-head{background:#f4f7fa;border:1px solid #e0e7ec}
 .account-actions a{transition:background-color .15s ease}
 .account-actions a:hover{background:#e9f0f5}
 .pupil-report{overflow-wrap:anywhere}
 .history-controls>*{min-width:0}
 @media(max-width:600px){.history-controls label:first-child{min-width:0;width:100%}.dashboard-head .btn{font-size:.875rem;min-height:44px}}
}

.report-learning-next{padding:16px;border:1px solid #d7e2ea;border-radius:10px;margin-top:20px;background:#f5f8fa}.report-learning-next li{margin:8px 0}.report-learning-next a{display:inline-block;padding:6px 0;text-underline-offset:3px}.plus-chart table{width:100%;border-collapse:collapse}.plus-chart th,.plus-chart td{text-align:left;padding:10px 8px;border-bottom:1px solid #d7e2ea;font-size:.875rem}.plus-chart details{overflow-x:auto}

/* Preserve instructor line breaks and long pasted references without mobile overflow. */
.report-body p,.full-report p,#workspaceNextFocus{white-space:pre-line;overflow-wrap:anywhere}
.report-essential-feedback{margin-top:24px;border-top:1px solid #d7e2ea;padding-top:20px}
.report-essential-feedback h4{font-size:1rem;margin:18px 0 6px}
