/* Locally served brand font: shared by every portal role without relaxing CSP. */
/* Shared workspace refinements: keep page introductions light and working areas clear. */
body.learning-dashboard .requests-hub:not(:has(.requests-status--action)) .requests-stage{display:none}
.portal-invoice-record{padding:24px 0;border-top:1px solid #dce6ed}.portal-invoice-record h3{margin:0 0 10px}.portal-invoice-record:last-child{padding-bottom:0}
body.admin-workspace details.card>summary{cursor:pointer;font-weight:600;min-height:32px}body.admin-workspace details.card[open]>summary{margin-bottom:20px}
body.admin-workspace .admin-page-heading>div{padding:8px 0 20px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.admin-workspace .admin-page-heading{padding:0 0 20px!important}
body.admin-workspace .admin-page-heading h1{font-size:clamp(28px,3vw,38px);margin:8px 0 14px}
body.admin-workspace .admin-page-heading>p:first-child{margin-bottom:18px}
body.admin-workspace .admin-gridform{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
body.admin-workspace .admin-gridform>label{min-width:0;grid-column:auto}
body.admin-workspace .admin-gridform>label:has(textarea),body.admin-workspace .admin-gridform>p,body.admin-workspace .admin-gridform>button{grid-column:1/-1}
body.admin-workspace .admin-gridform>button{justify-self:start;width:auto;max-width:100%}
body:is(.learning-dashboard,.admin-workspace) :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #255e83;outline-offset:4px}
body:is(.learning-dashboard,.admin-workspace) .table-wrap{max-width:100%;overflow-x:auto}
body:is(.learning-dashboard,.admin-workspace) :is(.card,.settings-card,.help-card,.requests-card){box-shadow:0 4px 18px #17354e04}
@media(max-width:700px){body.admin-workspace .admin-gridform{grid-template-columns:minmax(0,1fr)}body.admin-workspace .admin-gridform>button{width:100%}}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/plus-jakarta-latin-ext-v12.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/plus-jakarta-latin-v12.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html body:is(.learning-dashboard,.admin-workspace){font-family:'Plus Jakarta Sans',Tahoma,Arial,sans-serif;line-height:1.65;--portal-card-radius:18px;--portal-card-padding:clamp(20px,2.4vw,32px);--portal-section-gap:24px}
body:is(.learning-dashboard,.admin-workspace) :is(button,input,select,textarea,.button,.profile-avatar){font-family:inherit}
body:is(.learning-dashboard,.admin-workspace) :is(h1,h2,h3,h4){font-family:inherit;line-height:1.3}
body:is(.learning-dashboard,.admin-workspace) :is(.card,.settings-card,.help-card,.requests-card){border-radius:var(--portal-card-radius);padding:var(--portal-card-padding)}
body:is(.learning-dashboard,.admin-workspace) :is(.settings-grid,.cards){gap:var(--portal-section-gap)}
body:is(.learning-dashboard,.admin-workspace) :is(.card,.settings-card)>h2{margin:0 0 16px}
body:is(.learning-dashboard,.admin-workspace) :is(.card,.settings-card)>p{line-height:1.7}
body:is(.learning-dashboard,.admin-workspace) :is(.card,.settings-card)>:last-child{margin-bottom:0}
body.admin-workspace .admin-counts{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
body.admin-workspace .admin-counts>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px}
body.admin-workspace .admin-counts>div>span{font-size:13px;line-height:1.6}
body.admin-workspace .admin-counts>div>a{margin-top:auto}
body:is(.learning-dashboard,.admin-workspace) :is(.learning-nav a,.more-links a){line-height:1.5}
html[dir=rtl] body:is(.learning-dashboard,.admin-workspace) :is(h1,h2,h3,h4,.eyebrow){letter-spacing:normal}
@media(max-width:600px){body:is(.learning-dashboard,.admin-workspace){--portal-section-gap:18px}body.admin-workspace .admin-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body.admin-workspace .admin-counts>div{padding:16px}body.admin-workspace .admin-counts>div>a{max-width:100%;white-space:normal}}
@media(max-width:360px){body.admin-workspace .admin-counts{grid-template-columns:1fr}}
/* Portal-only navigation and content refinements. */
.csp-layout-1{display:inline-block;margin-top:12px;font-size:14px}
.csp-layout-2{white-space:pre-line}
.csp-layout-3{width:auto;display:inline-block}
.csp-layout-4{max-width:900px;margin:24px auto}
.csp-layout-5{margin:4px 0 16px;overflow-wrap:anywhere}
.csp-layout-6{white-space:pre-line;overflow-wrap:anywhere}
html body{font-family:'Plus Jakarta Sans',Tahoma,Arial,sans-serif}
body :is(button,input,select,textarea){font-family:inherit}
body :is(h1,h2,h3,h4){letter-spacing:normal!important;word-spacing:normal}
body:is(.learning-dashboard,.admin-workspace)>main{padding-top:32px!important}
body.learning-dashboard .schedule-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px}
body.learning-dashboard .schedule-hero>div{grid-column:1;min-width:0}
body.learning-dashboard .schedule-hero>.button{grid-column:1/-1;grid-row:2;justify-self:start}
body.learning-dashboard .schedule-hero::after{grid-column:2;grid-row:1}
body.learning-dashboard .library-hero,body.learning-dashboard .tutor-setup-card{margin-top:0}
body:is(.learning-dashboard,.admin-workspace)>header nav>.portal-language>.language-trigger svg{width:15px;height:15px;flex:0 0 15px}
body:is(.learning-dashboard,.admin-workspace)>header nav>.portal-language>.language-trigger{padding-inline:0}
body:is(.learning-dashboard,.admin-workspace)>header nav>.portal-language>.language-trigger .language-name{font-size:inherit!important}
@media(min-width:801px){body.learning-dashboard>header nav>form[action="/logout"]>button.quiet{font:inherit!important;color:#234760!important;margin:0;line-height:inherit}}
@media(min-width:1121px){body.admin-workspace>header nav>form[action="/logout"]>button.quiet{font:inherit!important;color:#234760!important;margin:0;line-height:inherit}}
@media(max-width:800px){body.learning-dashboard.portal-menu-ready>header,body.learning-dashboard>main{padding-inline:18px!important}body.learning-dashboard.portal-menu-ready>header nav{gap:12px}body.learning-dashboard.portal-menu-ready>header nav>.portal-language{display:block!important}body.learning-dashboard>main{padding-top:24px!important}}
@media(max-width:1120px){body.admin-workspace.portal-menu-ready>header,body.admin-workspace>main{padding-inline:24px!important}body.admin-workspace.portal-menu-ready>header nav{gap:12px}body.admin-workspace.portal-menu-ready>header nav>.portal-language{display:block!important}}
@media(max-width:600px){body.admin-workspace.portal-menu-ready>header,body.admin-workspace>main{padding-inline:18px!important}body.learning-dashboard .schedule-hero{gap:16px}}
#signature-pad{display:block;width:100%;max-width:600px;border:1px solid #bccedc;border-radius:12px;touch-action:none}
body:is(.learning-dashboard,.admin-workspace)>header nav{gap:24px}
body:is(.learning-dashboard,.admin-workspace)>header .portal-language{margin:0}
body:is(.learning-dashboard,.admin-workspace)>header .language-trigger{padding:0;gap:8px}
body:is(.learning-dashboard,.admin-workspace)>header .language-trigger svg{width:16px;height:16px;min-width:16px}
body:is(.learning-dashboard,.admin-workspace)>header .language-name{display:inline!important}
/* Icon-only controls at each portal's hamburger breakpoint; keep 44px hit areas. */
@media(max-width:800px){body.learning-dashboard.portal-menu-ready>header nav>.portal-language>.language-trigger svg{color:#17354e}}
@media(max-width:1120px){body.admin-workspace.portal-menu-ready>header nav>.portal-language>.language-trigger svg{color:#17354e}}
@media(max-width:800px){body.learning-dashboard.portal-menu-ready>header nav{gap:8px;margin-inline-end:-12px}body.learning-dashboard.portal-menu-ready>header nav>.portal-language>.language-trigger,body.learning-dashboard.portal-menu-ready>header nav>.portal-menu-toggle{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;gap:0;color:#17354e}body.learning-dashboard.portal-menu-ready>header nav>.portal-language>.language-trigger .language-name{display:none!important}body.learning-dashboard.portal-menu-ready>header nav>.portal-language>.language-trigger svg,body.learning-dashboard.portal-menu-ready>header nav>.portal-menu-toggle svg{width:20px;height:20px;min-width:20px;flex:0 0 20px;stroke-width:1.8}}
@media(max-width:1120px){body.admin-workspace.portal-menu-ready>header nav{gap:8px;margin-inline-end:-12px}body.admin-workspace.portal-menu-ready>header nav>.portal-language>.language-trigger,body.admin-workspace.portal-menu-ready>header nav>.portal-menu-toggle{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;gap:0;color:#17354e}body.admin-workspace.portal-menu-ready>header nav>.portal-language>.language-trigger .language-name{display:none!important}body.admin-workspace.portal-menu-ready>header nav>.portal-language>.language-trigger svg,body.admin-workspace.portal-menu-ready>header nav>.portal-menu-toggle svg{width:20px;height:20px;min-width:20px;flex:0 0 20px;stroke-width:1.8}}
body:is(.learning-dashboard,.admin-workspace) .portal-check-row{display:flex;align-items:flex-start;gap:12px;line-height:1.65}
body:is(.learning-dashboard,.admin-workspace) .portal-check-row input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:4px 0 0;flex:0 0 18px}
.tutor-approval-form{margin-top:28px;border-top:1px solid #dce7ef;padding-top:24px}
.field-help{font-size:14px;color:#526b7d;line-height:1.7}
body.learning-dashboard .tutor-setup-card{margin-block:0 32px}
body:is(.learning-dashboard,.admin-workspace) .setup-checklist{list-style:none;margin:24px 0;padding:0;display:grid;gap:16px}
.setup-checklist li{display:flex;align-items:center;gap:12px}
.setup-checklist small{display:block;color:#526b7d;font-size:13px}
.setup-status-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;font-size:16px;font-weight:700}
.setup-status-icon.is-complete{color:#17634b;background:#e7f5ed}
.setup-status-icon.is-needed{color:#855600;background:#fff3d6}
body.learning-dashboard .tutor-important-documents{margin-top:32px;padding:28px}
body.learning-dashboard .library-hero{margin-top:0}
body.learning-dashboard .tutor-important-documents h3{margin:0 0 20px}
body.learning-dashboard .tutor-important-documents .library-document-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
body.learning-dashboard .tutor-important-documents .resource-link{display:flex;justify-content:flex-start;gap:18px;width:100%;padding:20px;margin:0;box-sizing:border-box}
body.learning-dashboard .tutor-important-documents .library-document-copy{flex:1;min-width:0;overflow-wrap:anywhere}
body.learning-dashboard .tutor-important-documents .library-file-icon{flex:0 0 40px}
body.learning-dashboard .sidebar-profile>div{min-width:0;flex:1}
body:is(.learning-dashboard,.admin-workspace) .sidebar-profile strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:is(.learning-dashboard,.admin-workspace) .profile-avatar{flex-shrink:0}
body.learning-dashboard .dashboard-heading>div{min-width:0}
body.learning-dashboard .dashboard-heading h1{overflow-wrap:anywhere;font-size:clamp(26px,3vw,40px)}
body:is(.learning-dashboard,.admin-workspace) .portal-back{margin:0 0 24px}
@media(min-width:1121px){body:is(.learning-dashboard,.admin-workspace)>header form[action="/logout"] button{background:none;border:0;box-shadow:none;padding:0;border-radius:0;font-size:14px;font-weight:500;color:inherit}body:is(.learning-dashboard,.admin-workspace)>header form[action="/logout"] button:hover{text-decoration:underline}}
@media(min-width:801px){body.learning-dashboard>header form[action="/logout"] button{background:none;border:0;box-shadow:none;padding:0;border-radius:0;font-size:14px;font-weight:500;color:inherit}body.learning-dashboard>header form[action="/logout"] button:hover{text-decoration:underline}}
body.learning-dashboard #schedule.schedule-panel{row-gap:28px}
body.learning-dashboard #schedule>.next-lesson-strip{margin-block:24px;padding:20px 22px;gap:18px 24px;grid-column:1/-1}
body.learning-dashboard #schedule>.weekly-schedule-card{grid-column:1/-1}
body.learning-dashboard .requests-hub{display:flex;flex-direction:column;gap:24px}
body.learning-dashboard .requests-hub .requests-stage{margin:0}
body.learning-dashboard.panel-requests #requests.requests-hub{grid-template-columns:minmax(0,1fr)!important}
body.learning-dashboard .requests-hub>.requests-stage,body.learning-dashboard .requests-hub>.request-history{grid-column:1/-1;min-width:0;width:100%}
body.learning-dashboard .request-card{min-width:0;overflow-wrap:anywhere}
body.learning-dashboard .request-card>header{display:block;position:static;width:100%;padding:0 0 16px;margin:0;text-align:start;min-height:0;background:transparent;box-shadow:none}
body.learning-dashboard .request-card>header>.eyebrow{display:block;margin:0 0 8px;text-align:start}
body.learning-dashboard .request-card>header>h3{display:block;margin:0;text-align:start}
body.learning-dashboard .request-card .request-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:transparent;padding:0;margin-block:22px}
body.learning-dashboard .request-card .request-times>p{margin:0;padding:18px;border:1px solid #dce5eb;border-radius:12px;background:#f5f8fa;line-height:1.6}
body.learning-dashboard .request-card .request-times>p:last-child{background:#eef6fc;border-color:#bcd5e8}
body.learning-dashboard .request-card .request-times small{font-size:13px;margin-bottom:8px}
body.learning-dashboard .request-card .request-times strong{font-size:18px;color:#193d58}
body.learning-dashboard .payment-receipt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:18px;border-bottom:1px solid #e3ebee;overflow-wrap:anywhere}
body.learning-dashboard .payment-receipt:last-child{border-bottom:0}
@media(max-width:600px){body.learning-dashboard .request-card .request-times{grid-template-columns:minmax(0,1fr)}}
body.learning-dashboard .request-collection{margin-block:24px}
body.learning-dashboard .request-collection>header{margin-bottom:24px}
body.learning-dashboard .request-card{padding:24px;margin-block:18px;display:flex;flex-direction:column;gap:16px;min-width:0}
body.learning-dashboard .request-card>h3,body.learning-dashboard .request-card>p{margin:0}
body.learning-dashboard .request-card .request-when{font-size:1rem;line-height:1.6}
body.learning-dashboard .request-card .course-private-terms{margin:0;padding:16px 18px}
body.learning-dashboard .request-card form{margin-top:8px;padding-top:20px;border-top:1px solid #d9e6ee;display:grid;gap:18px}
body.learning-dashboard .request-card form>button{justify-self:start}
body.learning-dashboard .request-archive{margin-top:24px}
body.learning-dashboard .request-status-tag{display:inline-flex;padding:6px 12px;border-radius:999px;font-size:.875rem;font-weight:600;line-height:1.4;background:#edf2f5;color:#435a69}
body.learning-dashboard .request-status-tag--action{background:#fff1d5;color:#795312}
body.learning-dashboard .request-status-tag--waiting,body.learning-dashboard .request-status-tag--payment{background:#e5f0fa;color:#205578}
body.learning-dashboard .request-status-tag--complete,body.learning-dashboard .status-scheduled{background:#e6f4ed;color:#225e46}
body.learning-dashboard .request-status-tag--closed,body.learning-dashboard .status-cancelled{background:#edf0f3;color:#53616e}
body.learning-dashboard .schedule-lesson-card{margin-block:24px;padding:26px}
body.learning-dashboard .lesson-detail-heading{gap:20px;align-items:start}
body.learning-dashboard .schedule-lesson-card .lesson-facts{gap:18px;margin-block:24px}
@media(max-width:600px){body.learning-dashboard .request-card,body.learning-dashboard .schedule-lesson-card{padding:20px}body.learning-dashboard .lesson-detail-heading{flex-direction:column}body.learning-dashboard .request-card form>button{width:100%}}
body.learning-dashboard #schedule>.schedule-month-picker{margin-block:24px}
@media(max-width:1000px){body.learning-dashboard #schedule>.next-lesson-strip{grid-template-columns:minmax(0,1fr) auto}body.learning-dashboard #schedule>.next-lesson-strip-label{grid-column:1/-1}body.learning-dashboard #schedule>.next-lesson-strip>strong{grid-column:1/-1}body.learning-dashboard #schedule>.next-lesson-strip>span{line-height:1.6}}
@media(min-width:901px){body.learning-dashboard #schedule>.next-lesson-strip,body.learning-dashboard #schedule>.schedule-month-picker{margin-block:0}}
@media(max-width:480px){body.learning-dashboard #schedule>.next-lesson-strip{grid-template-columns:minmax(0,1fr);padding:20px;gap:10px}body.learning-dashboard #schedule>.next-lesson-strip-action{margin-top:4px}}
@media(min-width:801px){body.learning-dashboard>header nav>.portal-language>.language-trigger{padding:8px 12px}body.learning-dashboard>header form[action="/logout"] button.quiet:hover{background:transparent!important;text-decoration:none!important;box-shadow:none}}
@media(min-width:1121px){body.admin-workspace>header nav>.portal-language>.language-trigger{padding:8px 12px}body.admin-workspace>header form[action="/logout"] button.quiet:hover{background:transparent!important;text-decoration:none!important;box-shadow:none}}
@media(max-width:600px){body.learning-dashboard .lesson-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px 18px;align-items:start;padding-block:22px}body.learning-dashboard .lesson-row .lesson-row-name{min-width:0}body.learning-dashboard .lesson-row .lesson-row-name small{display:block;margin-top:9px;line-height:1.7;overflow-wrap:anywhere}body.learning-dashboard .lesson-row .status-pill{grid-column:2;justify-self:start;margin:0}body.learning-dashboard .lesson-row .row-arrow{display:none}}
body.learning-dashboard .dashboard-heading.portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 30px;padding:8px 0 24px;border-bottom:1px solid #d7e4ed;text-align:start}
body.learning-dashboard .portal-welcome h1{min-width:0;margin:0;line-height:1.2;text-align:start}
body.learning-dashboard .portal-welcome .welcome-greeting{display:block;margin-bottom:10px;font-size:15px;font-weight:500;letter-spacing:.02em;color:#557188}
body.learning-dashboard .portal-welcome .welcome-name{display:block;font-size:clamp(26px,3vw,38px);font-weight:650;letter-spacing:-.025em;overflow-wrap:anywhere;color:#173d56}
body.learning-dashboard .portal-welcome .welcome-date{display:flex;flex-direction:column;flex-shrink:0;gap:6px;padding-inline-start:24px;border-inline-start:2px solid #c8dce8;color:#557188;font-size:13px;line-height:1.5;text-align:start}
body.learning-dashboard .portal-welcome .welcome-date strong{color:#24485f;font-size:15px;font-weight:600}
@media(max-width:600px){body.learning-dashboard .dashboard-heading.portal-welcome{flex-direction:column;align-items:stretch;gap:18px;padding-bottom:22px}body.learning-dashboard .portal-welcome .welcome-date{flex-direction:row;flex-wrap:wrap;gap:6px 12px;padding-inline-start:12px;align-items:baseline}}
