.back-link{font-size:.82rem}.account-main{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;max-width:1200px;padding-top:65px;padding-bottom:65px}.account-story h1{font-size:3.7rem;display:block;line-height:1.02;margin:20px 0}.account-story>p{font-size:1rem;max-width:450px}.account-visual{height:300px;overflow:hidden;background:#e4eceb;border-radius:14px;margin:30px 0 18px;position:relative}.account-visual img{width:100%;height:100%;object-fit:cover}.account-visual>span{position:absolute;bottom:0;left:0;right:0;padding:14px 18px;background:#102d40db;color:#d6e7ed;font-size:.75rem;letter-spacing:.14em;display:flex;justify-content:space-between}.account-levels{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:var(--muted);font-weight:700}.fine{font-size:.75rem!important;line-height:1.65!important;color:var(--muted)!important;margin-top:25px}.account-forms{padding-top:40px}.account-forms h2{font-size:1.65rem;margin:12px 0}.account-forms .surface{padding:32px}.account-forms form{display:flex;flex-direction:column;gap:18px;margin-top:25px}.account-forms label{font-size:.8rem;font-weight:650;display:block}.account-forms label[hidden]{display:none}.account-forms input{display:block;width:100%;padding:13px 12px;border:1px solid #c9d9de;border-radius:7px;margin-top:8px;font-size:1rem;background:#fcfdfb;color:var(--ink)}.account-forms .optional{font-weight:400;color:var(--muted);font-size:.75rem}.auth-switch{display:flex;justify-content:space-between;margin-top:23px;gap:15px}.auth-switch button{border:0;background:none;font-size:.8rem;color:#06759e;padding:0;text-align:left}.auth-feedback{background:#f6ece2;padding:12px;border-radius:7px;font-size:.85rem;margin-top:18px;margin-bottom:0}.help-note{margin-top:25px;padding:0 8px}.help-note strong{font-size:.83rem}.help-note p{font-size:.78rem;margin:6px 0}.access-status{padding:18px;background:#e8f3ef;border-left:3px solid #3e8870;margin:20px 0;font-size:.88rem;line-height:1.6}.access-status.expired{background:#fdf0df;border-color:#c88643}.account-forms a.button{text-decoration:none;margin:0 5px 10px 0}.account-forms h3{font-size:1.1rem;margin:28px 0 10px}.account-forms #service-status{font-size:.9rem;line-height:1.6;margin:0 0 15px}#service-status:empty{display:none}.admin-main{max-width:1200px}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.admin-table th{font-size:.75rem;letter-spacing:.08em;color:var(--muted);padding:12px 15px;border-bottom:1px solid var(--line)}.admin-table td{padding:18px 15px;border-bottom:1px solid var(--line);vertical-align:top}.admin-table small{font-size:.75rem;display:block;margin-top:5px;color:var(--muted)}.admin-table .button{font-size:.75rem;padding:7px 10px;min-height:34px;margin:3px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.admin-table-wrap{overflow-x:auto;background:white;border-radius:12px;border:1px solid var(--line)}.admin-note{font-size:.85rem;margin:25px 0}.admin-dialog label{display:block;font-size:.86rem;margin-bottom:20px}.admin-dialog input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--line);font-size:1rem}.admin-dialog .dialog-user{font-size:.85rem;color:var(--muted)}.admin-dialog .action-row{justify-content:flex-end}.admin-empty{padding:25px;font-size:.9rem}.button[hidden]{display:none!important}@media(max-width:800px){.account-main{grid-template-columns:1fr;padding-top:32px;gap:10px}.account-story h1{font-size:2.7rem}.account-story>p{max-width:none}.account-visual{height:220px}.account-forms{padding-top:10px}.account-story .fine{display:none}.account-forms .surface{padding:24px}.back-link{font-size:.75rem}.admin-toolbar{align-items:flex-start}.admin-toolbar h1{font-size:1.7rem}.admin-table td{min-width:170px}.admin-table td:last-child{min-width:200px}.account-levels{font-size:.75rem}.admin-main{padding-top:25px}}

/* Learner administration. These rules are scoped to the admin page/dialogs. */
.admin-page .site-header{padding-bottom:12px}.admin-page .admin-main{max-width:1400px}.admin-page .admin-toolbar{margin:12px 0 30px}.admin-toolbar-actions{display:flex;gap:10px;flex-shrink:0}.admin-filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.admin-filters label{display:flex;flex-direction:column;gap:8px;font-size:.8rem;font-weight:650;min-width:145px}.admin-filters .admin-search{flex:1;min-width:230px}.admin-page input,.admin-page select{font:inherit;color:var(--ink);background:#fff;border:1px solid #afc3cc;border-radius:7px;padding:11px 12px;max-width:100%;min-height:44px}.admin-page select:focus-visible{outline:3px solid #057bad;outline-offset:3px}.admin-filters input{width:100%}.admin-page #admin-status{min-height:1.7em;font-size:.87rem;margin:18px 0}.admin-page .admin-table td{padding:18px 15px;overflow-wrap:anywhere}.admin-page .admin-table td:first-child{min-width:180px;max-width:280px}.admin-page .admin-table .admin-user-actions{min-width:240px}.admin-page .admin-table .button{min-height:40px}.admin-badge{display:inline-block;font-size:.75rem;font-weight:750;line-height:1.4;border-radius:20px;padding:5px 9px;border:1px solid #cbdadf}.admin-badge-active{color:#245d43;background:#e8f4ed;border-color:#b8d7c5}.admin-badge-pending{color:#75501b;background:#fff4dc;border-color:#e8d099}.admin-badge-suspended{color:#933d31;background:#fff0ec;border-color:#e6beb4}.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:18px 0}.admin-pagination p{font-size:.8rem;margin:0;flex:1}.admin-notes{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.admin-notes p{font-size:.82rem;margin-bottom:8px}.admin-page .admin-dialog{width:540px;padding:28px;max-height:90dvh;overflow:auto;color:var(--ink)}.admin-page .admin-dialog.admin-profile-dialog{width:800px}.admin-dialog h2{font-size:1.6rem;margin:0 0 18px;line-height:1.15}.admin-dialog p{font-size:.86rem;overflow-wrap:anywhere}.admin-dialog label{font-weight:650;font-size:.85rem;line-height:1.5;margin-bottom:18px}.admin-dialog label span{font-weight:400}.admin-dialog input,.admin-dialog select{display:block;width:100%;margin-top:7px}.admin-dialog .action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.admin-dialog-heading{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:12px}.admin-dialog-heading h2{margin:7px 0}.admin-dialog .admin-note{margin:12px 0 20px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-dialog .admin-help{font-size:.78rem;color:#526577;line-height:1.65}.admin-callout{padding:13px 15px;background:#edf4f7;border:1px solid #c5dbe5;border-radius:8px}.admin-dialog .admin-error{padding:12px 14px;background:#fff0ec;color:#842f25;border:1px solid #d99b8b;border-radius:8px;white-space:pre-line;margin:14px 0}.admin-section{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.admin-section h3,.admin-danger-zone h3{font-size:1.1rem;margin-bottom:12px}.admin-course-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-course-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fcfdfb;min-width:0}.admin-course-card h4{font-size:.93rem;line-height:1.4;margin:0 0 9px}.admin-course-card p,.admin-course-card a{font-size:.76rem}.admin-progress-stats{display:flex;gap:18px;flex-wrap:wrap;margin:15px 0}.admin-progress-stats dt{font-size:.7rem;color:var(--muted);margin-bottom:6px}.admin-progress-stats dd{font-size:1rem;font-weight:750;margin:0}.admin-danger-zone{margin-top:30px;border-top:1px solid #e5c4bb;padding-top:24px}.admin-danger-zone h3{color:#913828}.admin-page .button.danger{background:#a62e24;border-color:#a62e24;color:#fff}.admin-page .button.danger:hover{background:#87231b}.admin-page .button.danger-outline{background:#fff;border-color:#ca8b7e;color:#902f22}.admin-page .button.danger-outline:hover{background:#fff0ec}.admin-dialog .admin-danger-callout{background:#fff1ec;border-color:#e0aa9b;color:#802c20}.admin-dialog #invitation-url{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.admin-dialog #delete-phrase{overflow-wrap:anywhere}.admin-page [hidden]{display:none!important}.admin-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.admin-page .admin-toolbar{flex-direction:column;align-items:stretch;gap:18px}.admin-toolbar-actions{flex-wrap:wrap}.admin-toolbar-actions .button{flex:1}.admin-filters{padding:16px;gap:12px}.admin-filters label{flex:1;min-width:120px}.admin-filters .admin-search{flex-basis:100%;min-width:0}.admin-page .admin-dialog{padding:22px;max-width:94vw;width:540px}.admin-course-cards,.admin-form-grid{grid-template-columns:1fr}.admin-form-grid{gap:0}.admin-pagination{gap:10px}.admin-pagination .button{padding:10px}.admin-dialog-heading{gap:12px}.admin-dialog h2{font-size:1.4rem}.admin-page .site-header{gap:14px;flex-wrap:wrap}.admin-page .admin-table{font-size:.82rem}.admin-page .admin-table td{min-width:160px}.admin-page .admin-table td:first-child{min-width:200px}}

.admin-page .site-header .admin-header-links{display:flex;gap:18px;align-items:center;align-self:auto;flex-wrap:wrap}.admin-header-links>a{font-size:.82rem;white-space:nowrap}@media(max-width:650px){.admin-page .site-header .admin-header-links{height:auto;justify-content:flex-start;width:100%;padding-bottom:10px;gap:14px}}

/* Browser recovery and optional authenticator controls. */
.account-forms input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0;vertical-align:middle;accent-color:#06759e}.account-forms details{border:1px solid #c9d9de;border-radius:8px;padding:14px}.account-forms details summary{cursor:pointer;font-size:.86rem;font-weight:650}.account-forms details label{margin-top:16px}.account-forms details .fine{margin-top:12px}#account-security{border-top:1px solid var(--line);margin-top:24px;padding-top:6px}#account-security p{font-size:.85rem;overflow-wrap:anywhere}#totp-setup-secret,#session-recovery-output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.83rem}#session-recovery-panel{margin-top:24px}#session-recovery-panel>button{margin-top:14px}.account-forms [hidden]{display:none!important}

/* Academy account entry. Scoped so administration keeps its existing layout. */
.account-page{--ink:#132b3a;--muted:#526b7a;--paper:#f4f8fb;--line:#d8e4eb;--cyan:#147ea5;background:var(--paper);color:var(--ink);font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif}
.account-page .site-header{background:#fff;min-height:86px;flex-wrap:nowrap;padding:14px max(24px,calc((100vw - 1200px)/2));gap:24px}
.account-page .account-nav{display:flex;align-items:center;gap:26px;align-self:auto;order:initial;width:auto;height:auto;justify-content:flex-end;flex-shrink:0}
.account-page .account-nav a{font-size:.82rem;font-weight:650;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.account-page .account-skip{position:absolute;top:10px;left:16px;transform:translateY(-160%);padding:12px 18px;background:#fff;border:2px solid var(--cyan);border-radius:8px;z-index:10}
.account-page .account-skip:focus{transform:translateY(0)}
.account-page .account-main{max-width:1296px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:64px;padding:60px 48px 64px}
.account-page .account-story,.account-page .account-forms{min-width:0}
.account-page .eyebrow{font-size:.68rem;letter-spacing:.15em;color:#426475}
.account-page .account-story h1{font-size:clamp(2.25rem,3.5vw,3.2rem);font-weight:650;line-height:1.09;letter-spacing:-.048em;margin:18px 0 20px;display:block}
.account-page .account-story h1 span{color:#147ea5}
.account-page .account-story .account-intro{max-width:500px;font-size:.96rem;line-height:1.75;margin-bottom:21px}
.account-page .account-benefits{display:flex;flex-wrap:wrap;gap:9px 17px;padding:0;margin:0 0 25px;list-style:none;font-size:.74rem;font-weight:650;color:#33586d}
.account-page .account-benefits li{display:flex;align-items:center;gap:7px}
.account-page .account-benefits li:before{content:"";width:5px;height:5px;border-radius:50%;background:#168aad;flex:none}
.account-page .account-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 25px}
.account-page .account-models figure{overflow:hidden;margin:0;border:1px solid #c9dce5;border-radius:10px;background:#fff}
.account-page .account-models img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#133849}
.account-page .account-models figcaption{padding:10px 9px;font-size:.69rem;font-weight:650;line-height:1.35}
.account-page .account-areas h2{font-size:.81rem;letter-spacing:0;margin:0 0 13px;font-weight:750}
.account-page .account-areas ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 13px;padding:0;list-style:none;margin:0;font-size:.73rem;line-height:1.45;color:var(--muted)}
.account-page .account-catalog-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;font-size:.81rem;font-weight:750;margin-top:16px;text-decoration:none}
.account-page .account-catalog-link:hover{text-decoration:underline}
.account-page .account-story .account-boundary{font-size:.68rem;line-height:1.65;max-width:480px;margin:13px 0 0;color:var(--muted)}
.account-page .account-forms{padding-top:0}
.account-page .account-forms .surface{padding:32px;border-radius:16px;border-top:4px solid #70cbe6;box-shadow:0 12px 40px #12384b08}
.account-page .account-forms h2{font-size:1.85rem;margin:13px 0 10px;font-weight:650;line-height:1.15}
.account-page #auth-description{font-size:.84rem;line-height:1.6;margin:0}
.account-page .account-forms form{gap:18px;margin-top:26px}
.account-page .account-forms label{font-size:.79rem;line-height:1.4}
.account-page .account-forms input,.account-page .account-forms select{font:inherit;width:100%;background:#fff;border:1px solid #b8cdd8;border-radius:8px;padding:13px 12px;margin-top:8px;min-height:47px;color:var(--ink);max-width:100%}
.account-page .account-forms input:read-only{background:#f0f5f8;color:#526b7a}
.account-page .account-forms input:focus-visible,.account-page .account-forms select:focus-visible,.account-page summary:focus-visible{outline:3px solid #147ea5;outline-offset:3px}
.account-page #auth-submit{width:100%;min-height:48px;font-size:.85rem;justify-content:space-between;padding:13px 17px;background:#126f95}
.account-page #auth-submit:hover{background:#0a5375}
.account-page #auth-submit:disabled{opacity:.65}
.account-page .security-toggle{border:0;background:none;padding:1px 0;min-height:32px;color:#426475;font-size:.75rem;text-align:center;text-decoration:underline;text-underline-offset:3px}
.account-page .security-toggle:hover{color:#126f95}
.account-page .auth-switch{gap:16px;padding-top:20px;border-top:1px solid var(--line);margin-top:19px}
.account-page .auth-switch button{min-height:28px;line-height:1.4;font-size:.75rem}
.account-page .auth-switch button:disabled{opacity:1;color:#7c8c96;cursor:not-allowed}
.account-page .auth-feedback{margin:0;line-height:1.55;font-size:.8rem;padding:12px 13px;background:#fff4e7;border:1px solid #ead4b7;color:#704916;overflow-wrap:anywhere}
.account-page .fine{font-size:.7rem!important;line-height:1.6!important;margin-top:17px}
.account-page #mail-note:empty{display:none}
.account-page #mail-note{margin-bottom:0}
.account-page .help-note{margin-top:22px;padding:0 10px}
.account-page .help-note strong{font-size:.77rem}
.account-page .help-note p{font-size:.74rem;line-height:1.65;margin:5px 0}
.account-page #signin-verification{display:grid;gap:18px}
.account-page .account-forms details{padding:14px;border-color:#c9dce5;background:#f7fafc}
.account-page .account-forms summary{font-size:.78rem;line-height:1.5;min-height:24px}
.account-page .account-forms details .fine{margin-bottom:0}
.account-page .account-forms .replace-session-label{display:flex;align-items:flex-start;gap:9px;line-height:1.5}
.account-page .account-forms input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:1px 0 0;padding:0;flex:none}
.account-page #account-security{margin-top:22px;padding:15px}
.account-page #account-security>summary{font-weight:750}
.account-page #account-security>p{margin-top:14px}
.account-page #account-security form{margin-top:16px}
.account-page #account-security p{font-size:.77rem}
.account-page #account-course-note{font-size:.78rem;margin:12px 0}
.account-page #account-card>.button{max-width:100%;margin-bottom:10px}
.account-page .footer{background:#fff;gap:20px;padding:25px max(24px,calc((100vw - 1200px)/2));font-size:.75rem}
.account-page .footer small{font-size:.68rem}
@media(max-width:1000px){.account-page .account-main{padding:42px 28px 50px;gap:34px}.account-page .account-forms .surface{padding:26px}.account-page .account-models{gap:7px}.account-page .account-areas ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.account-page .account-main{grid-template-columns:minmax(0,1fr);max-width:640px;gap:40px;padding:28px 22px 42px}.account-page .account-forms{grid-row:1}.account-page .account-story{border-top:1px solid var(--line);padding-top:32px}.account-page .account-story h1{font-size:2.5rem}.account-page .account-story .account-intro{max-width:none}.account-page .account-areas ul{grid-template-columns:repeat(3,minmax(0,1fr))}.account-page .account-nav{gap:16px}.account-page .account-nav .back-link{display:none}.account-page .account-models figcaption{font-size:.72rem}.account-page .account-story .account-boundary{max-width:none}.account-page .footer{flex-wrap:wrap;gap:15px}.account-page .footer small{flex-basis:100%}}
@media(max-width:430px){.account-page .site-header{padding:12px 18px;gap:10px}.account-page .brand img{width:34px;height:34px}.account-page .brand strong{font-size:1.07rem}.account-page .brand small{font-size:.57rem;letter-spacing:.11em}.account-page .account-nav a{font-size:.72rem}.account-page .account-main{padding-inline:16px}.account-page .account-forms .surface{padding:24px 20px}.account-page .account-story h1{font-size:2.2rem}.account-page .account-areas ul{grid-template-columns:repeat(2,minmax(0,1fr))}.account-page .account-models figcaption{font-size:.63rem;padding:9px 7px}.account-page .account-benefits{gap:9px 13px;font-size:.71rem}}
@media(prefers-reduced-motion:reduce){.account-page *{scroll-behavior:auto!important;transition:none!important}}
