/* Safara: the shared application design system. Palette supplied by Usman. */
:root{--mint:#C9E6C3;--butter:#F9EFBB;--cream:#FFF9D2;--mist:#BEE1EE;--sky:#ADD7EE;--ink:#223B45;--ink-deep:#172F3A;--body:#344F5A;--muted:#485D65;--line:#D4E1E5;--paper:#F4F8FA;--white:#FFFFFF;--sage:var(--mint);--green:var(--mint);--green-dark:var(--ink);--green-light:var(--cream);--blue:var(--ink);--purple:var(--ink);--gold:var(--ink);--danger:#873C32;--radius:20px;--font:"Lato","Noto Sans","Helvetica","Corbel",sans-serif;--round:var(--font)}
html{background:var(--mist)}
body.reference-ui{font-family:var(--font);color:var(--ink);background:var(--mist);font-size:15px;line-height:1.55}
.reference-ui :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,.brand){font-family:var(--font)}
.reference-ui h1{font-weight:900;letter-spacing:-1.1px;line-height:1.16}
.reference-ui h2{font-weight:900;letter-spacing:-.4px}
.reference-ui h3{font-weight:700;letter-spacing:-.15px}
.reference-ui p{color:var(--muted)}
.reference-ui :is(a,button,input,select,textarea):focus-visible{outline:3px solid #235C7A;outline-offset:4px}
.reference-ui .app-shell{width:calc(100% - 48px);max-width:1560px;margin:24px auto;min-height:calc(100vh - 96px);grid-template-columns:210px minmax(0,1fr);border:1px solid rgba(34,59,69,.09);border-radius:28px;overflow:clip;background:var(--paper);box-shadow:0 12px 50px rgba(34,59,69,.07)}
.reference-ui .navigation{background:var(--white);padding:30px 19px;border-right:1px solid var(--line)}
.reference-ui .brand{gap:10px;font-size:30px;letter-spacing:-1px;font-weight:900;line-height:1.15}
.reference-ui .brand-mark{background:var(--mint);border:0;border-radius:13px;color:var(--ink);width:39px;height:39px;display:grid;place-items:center;box-shadow:none;transform:none}
.reference-ui .brand-mark svg{width:24px;height:24px}
.reference-ui .nav-header{margin-bottom:38px}
.reference-ui .main-nav{gap:7px}
.reference-ui .nav-link{border:1px solid transparent;border-radius:12px;padding:12px 10px;min-height:47px;font-size:14px;font-weight:700;color:var(--muted);gap:12px}
.reference-ui .nav-link :is(.nav-icon,.icon){color:inherit}
.reference-ui .nav-link:hover{background:var(--cream);color:var(--ink);border-color:transparent}
.reference-ui .nav-link:is(.active,.is-active){background:var(--ink);color:white;border:1px solid var(--ink);box-shadow:none}
.reference-ui .sidebar-bottom{background:var(--cream);border:0;border-radius:15px;padding:17px;margin-top:45px;color:var(--ink)}
.reference-ui .sidebar-bottom p{font-size:13px}
.reference-ui .sidebar-bottom a{color:var(--ink);font-size:12px}
.reference-ui .sign-out{color:var(--muted)}
.reference-ui .workspace{padding:0 32px;min-width:0;background:var(--paper)}
.reference-ui .topbar{height:83px;border-bottom:1px solid var(--line)}
.reference-ui .section-label{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:700}
.reference-ui .notification-button{background:white;border:1px solid var(--line);border-radius:50%;color:var(--ink);height:38px;width:38px}
.reference-ui .account-chip{border:0;background:none;color:var(--ink)}
.reference-ui .account-chip>span{background:var(--butter);color:var(--ink);border:0}
.reference-ui .journey-main{padding-top:28px}
.reference-ui .page-intro{margin-bottom:27px;gap:18px}
.reference-ui .page-intro h1{font-size:34px;margin:7px 0 10px}
.reference-ui .page-intro p{font-size:14px}
.reference-ui .eyeline{font-size:10px;letter-spacing:1.4px;color:var(--muted);font-weight:700}
.reference-ui .design-footer{border-top:1px solid var(--line);margin-top:36px;color:var(--muted);font-size:12px}
.reference-ui .environment-bar{background:var(--cream);color:var(--ink);border-color:var(--butter);font-size:11px;padding:7px 20px}
.reference-ui :is(.button,button[type=submit],input[type=submit],.primary-button){background:var(--ink);color:#FFF;border:1px solid var(--ink);border-radius:11px;min-height:44px;padding:11px 17px;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:none;line-height:1.4}
.reference-ui :is(.button,button[type=submit],input[type=submit],.primary-button):hover{background:#355A69;border-color:#355A69;color:#FFF}
.reference-ui :is(.button-outline,button.button-outline,.button-light,.outline-button){background:white;color:var(--ink);border:1px solid #A7BEC7;box-shadow:none;border-radius:11px;font-size:13px}
.reference-ui :is(.button-outline,button.button-outline,.button-light,.outline-button):hover{background:var(--mist);color:var(--ink);border-color:#A7BEC7}
.reference-ui .text-button{font-size:13px;color:var(--ink);font-weight:700;letter-spacing:0}
.reference-ui :is(input,select,textarea){border:1px solid #A7BEC7;border-radius:10px;background:white;color:var(--ink);font-size:15px}
.reference-ui :is(.status-pill,.status-badge,.badge,.learner-chip){background:var(--mint);color:var(--ink);border-color:var(--line)}
.reference-ui :is(.notice,.message,.notice-card){border-color:var(--line);background:var(--cream);color:var(--ink)}
.reference-ui .message.error,.reference-ui .errorlist{color:var(--danger)}
.reference-ui :is(.welcome-feature,.unit-banner,.science-banner){background:var(--mint);color:var(--ink);border:1px solid #B6D2B1;border-radius:21px;box-shadow:none}
.reference-ui :is(.unit-banner p,.welcome-feature p,.unit-label){color:var(--ink)}
.reference-ui :is(.unit-book,.resource-icon,.teacher-portrait){background:var(--butter);color:var(--ink);border:0}
.reference-ui .journey-columns{grid-template-columns:minmax(0,1fr) 250px;gap:26px}
.reference-ui .journey-rail>section{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:20px}
.reference-ui .journey-rail>section.rail-payment{background:var(--cream);border-color:var(--butter)}
.reference-ui .journey-rail>section.little-guide{background:var(--mist)}
.reference-ui .journey-rail h2{font-size:18px;color:var(--ink)}
.reference-ui .journey-rail p{font-size:13px;color:var(--muted)}
.reference-ui .subject-switch>a{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:none}
.reference-ui .subject-switch>a.selected{background:var(--butter);color:var(--ink);border:2px solid #78845E}
.reference-ui .subject-switch small{color:var(--muted)}
.reference-ui .lesson-path{padding:10px 15px 14px 22px}
.reference-ui .path-step{min-height:113px;gap:22px}
.reference-ui .path-step:before{border-color:#A7BEC7}
.reference-ui .path-node{width:70px;height:70px;border:2px solid #A7BEC7;border-bottom:8px solid #91B3C4;background:var(--mist);color:var(--ink);box-shadow:inset 0 0 0 5px white;font-weight:900;font-size:24px}
.reference-ui .path-node:hover{background:var(--sky);color:var(--ink)}
.reference-ui .next-step .path-node{background:var(--mint);border-color:#799E76;border-bottom-color:#607F5F;color:var(--ink);box-shadow:inset 0 0 0 5px #EAF4E8,0 0 0 5px rgba(201,230,195,.55)}
.reference-ui .next-step .path-node:hover{background:#B7DBB0}
.reference-ui .status-completed .path-node{background:var(--butter);border-color:#AB9E5D;border-bottom-color:#8E824C}
.reference-ui .status-cancelled .path-node{background:#F4F8FA;border-color:#A7BEC7;border-bottom-color:#A7BEC7}
.reference-ui .step-copy{min-width:0}
.reference-ui .step-date,.reference-ui .step-copy p{color:var(--muted)}
.reference-ui .step-title{color:var(--ink);font-size:17px}
.reference-ui .path-intro{margin:30px 0 12px}
.reference-ui .path-intro h2{font-size:22px}
.reference-ui .path-end{background:white;border:1px solid var(--line);border-radius:16px}
.reference-ui .unit-banner{padding:24px}
.reference-ui .unit-banner h2{font-size:26px}
.reference-ui .journey-package{background:var(--butter);border:1px solid #E5DBA5;border-radius:18px;gap:18px;padding:21px;margin-top:14px;box-shadow:none}
.reference-ui .journey-package:nth-of-type(even){background:var(--mist);border-color:#C4DDE8}
.reference-ui .journey-package:hover{box-shadow:0 4px 15px rgba(34,59,69,.08);transform:translateY(-1px)}
.reference-ui .journey-package h3{font-size:17px}
.reference-ui .journey-package :is(p,small){color:var(--muted);font-size:13px}
.reference-ui .journey-package .subject-art{background:white;border-radius:13px;width:55px;height:55px;padding:11px;flex-shrink:0}
.package-arrow{font-size:24px;margin-left:auto}
.safara-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:25px}
.dashboard-greeting{display:flex;align-items:center;justify-content:space-between}
.dashboard-browse{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:white;padding:13px 16px;color:var(--muted);font-size:13px;min-width:210px}
.dashboard-browse .icon{width:18px;height:18px}
.dashboard-browse>span{margin-left:auto;color:var(--ink)}
.safara-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:25px}
.safara-stat{display:flex;flex-direction:column;min-height:153px;border-radius:19px;padding:20px;color:var(--ink);border:1px solid rgba(34,59,69,.05)}
.safara-stat:hover{box-shadow:0 4px 12px rgba(34,59,69,.09)}
.stat-mint{background:var(--mint)}.stat-blue{background:var(--sky)}.stat-butter{background:var(--butter)}
.safara-stat .stat-label{font-size:13px;font-weight:700;line-height:1.3}
.safara-stat>strong{font-size:35px;line-height:1.25;font-weight:900;margin:9px 0}
.safara-stat>span:last-child{display:flex;justify-content:space-between;font-size:11px;gap:8px}
.dashboard-lessons-row{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:20px;margin-bottom:28px}
.safara-next,.safara-materials{background:white;border:1px solid var(--line);border-radius:21px;padding:22px;min-width:0}
.reference-ui .section-heading{gap:12px;align-items:center}
.reference-ui .section-heading h2{font-size:20px;line-height:1.3}
.lesson-label{background:var(--mint);border-radius:7px;padding:4px 8px;font-size:10px;white-space:nowrap}
.next-lesson-body{padding-top:22px}
.next-subject{display:grid;place-items:center;float:right;background:var(--cream);border-radius:16px;width:52px;height:52px;margin:0 0 10px 9px}
.next-subject .subject-art,.next-subject svg{width:31px;height:31px}
.next-lesson-body h3{font-size:22px;line-height:1.35;margin:8px 0}
.next-lesson-body p{font-size:13px;line-height:1.65;margin:9px 0}
.lesson-time{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;margin:18px 0;color:var(--ink)}
.lesson-time>span{width:18px;height:18px;margin-right:4px}.lesson-time svg{width:18px;height:18px}
.next-lesson-body .primary-button{display:flex;width:100%;justify-content:space-between;margin-top:18px}
.next-lesson-body>small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:13px}
.safara-materials>p{font-size:12px;margin-top:12px}
.material-shortcut{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}
.material-shortcut>span:nth-child(2){flex:1;min-width:0}.material-shortcut strong{display:block;font-size:13px;line-height:1.45}.material-shortcut small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.material-shortcut .resource-icon{width:33px;height:37px;border-radius:8px;flex-shrink:0}.material-shortcut svg{width:18px;height:18px}
.safara-materials>.text-button{display:flex;justify-content:space-between;margin-top:22px}
.materials-empty{padding:27px 0 12px}.materials-empty>svg{width:37px;height:37px;stroke-width:1.3;margin-bottom:12px}.materials-empty h3{font-size:16px}.materials-empty p{font-size:12px;line-height:1.7;margin-top:7px}
.reference-ui .dashboard-rail .safara-profile{text-align:center;background:var(--mist);border:0;padding:27px 15px}
.profile-initials{display:grid;place-items:center;background:var(--butter);border:5px solid white;border-radius:50%;width:76px;height:76px;margin:0 auto 14px;font-size:26px;font-weight:700;color:var(--ink)}
.safara-profile h2{overflow-wrap:anywhere}.safara-profile p{margin-top:4px}.safara-profile .text-button{display:inline-block;margin-top:14px}
.calendar-month{font-weight:700;font-size:12px;margin-top:18px}
.week-strip{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:12px 0 22px;padding:0}
.week-strip li{text-align:center;padding:7px 1px;border-radius:20px;font-size:12px}.week-strip li>span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.week-strip .is-today{background:var(--ink);color:white}.week-strip .is-today>span{color:white}
.reference-ui .dashboard-rail .short-lesson{padding:12px 0 12px 11px;margin-top:0;border:0;border-left:3px solid var(--sky);border-radius:0;background:transparent;display:block}
.reference-ui .dashboard-rail .short-lesson+.short-lesson{margin-top:15px;border-left-color:#A9C99F}
.dashboard-rail .short-lesson>span{color:var(--muted);font-size:11px;display:block}.dashboard-rail .short-lesson strong{display:block;margin:5px 0;font-size:13px}.dashboard-rail .short-lesson small{font-size:11px;color:var(--muted)}
.reference-ui .public-ui{background:var(--mist)}
.public-ui .workspace{padding:0 32px}
.reference-ui.public-ui .navigation{padding:22px 32px;border-bottom:1px solid var(--line)}
.reference-ui.public-ui .nav-header{margin:0}
.public-ui .nav-link{color:var(--ink)}
.public-ui .hero{background:var(--cream);border-radius:24px;border-color:var(--butter)}
.public-ui .hero h1{color:var(--ink)}
.reference-ui .auth-card{background:white;border:1px solid var(--line);box-shadow:0 8px 24px rgba(34,59,69,.05)}
@media(min-width:1600px){.reference-ui .workspace{padding:0 42px}.safara-dashboard-grid{grid-template-columns:minmax(0,1fr) 265px;gap:30px}}
@media(max-width:1200px){.reference-ui .app-shell{width:calc(100% - 24px);margin:12px auto;grid-template-columns:185px minmax(0,1fr)}.reference-ui .workspace{padding:0 23px}.safara-dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.dashboard-rail>section{margin-bottom:0}.reference-ui .journey-columns{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.safara-stat{min-height:145px}.dashboard-browse{min-width:0;font-size:12px}}
@media(max-width:900px){.reference-ui .app-shell{display:block;width:calc(100% - 20px);border-radius:20px;margin:10px auto}.reference-ui .navigation{padding:17px 22px;border-right:0;border-bottom:1px solid var(--line)}.reference-ui .nav-header{margin:0}.reference-ui .main-nav{margin-top:18px;gap:6px}.reference-ui .brand{font-size:27px}.reference-ui .workspace{padding:0 23px}.reference-ui .journey-columns{grid-template-columns:minmax(0,1fr) 235px}.reference-ui .topbar{height:65px}.reference-ui .sidebar-bottom{margin-top:20px}.dashboard-greeting{align-items:flex-start}.dashboard-browse{margin-top:10px}}
@media(max-width:700px){.reference-ui .journey-columns{grid-template-columns:minmax(0,1fr)}.reference-ui .workspace{padding:0 18px}.reference-ui .page-intro h1{font-size:30px}.dashboard-greeting{display:block}.dashboard-browse{margin:17px 0 0;width:100%;min-height:44px}.safara-stats{gap:9px;margin-bottom:18px}.safara-stat{padding:14px 12px;min-height:143px;border-radius:15px}.safara-stat .stat-label{font-size:12px;min-height:32px}.safara-stat>strong{font-size:30px}.safara-stat>span:last-child{font-size:10px;line-height:1.4}.dashboard-lessons-row{grid-template-columns:minmax(0,1fr);gap:18px}.dashboard-rail{grid-template-columns:minmax(0,1fr);gap:18px}.reference-ui .journey-rail>section{margin-bottom:0}.reference-ui .journey-rail{display:grid;gap:18px}.reference-ui .topbar .section-label{font-size:9px;letter-spacing:.8px}.reference-ui .account-chip strong{display:none}.reference-ui.public-ui .navigation{padding:18px}.reference-ui.public-ui .main-nav{margin-top:16px}.reference-ui .nav-link{padding:10px;font-size:13px}.reference-ui .journey-package{padding:17px 14px;gap:12px}.reference-ui .journey-package h3{font-size:16px}.reference-ui .journey-package p{font-size:12px}.reference-ui .unit-banner{padding:21px}.reference-ui .unit-banner h2{font-size:23px}.reference-ui .path-step{gap:17px}.reference-ui .lesson-path{padding-left:8px}.reference-ui .step-title{font-size:16px}.reference-ui .design-footer{gap:14px;flex-wrap:wrap}}
@media(max-width:359px){.reference-ui .workspace{padding:0 13px}.reference-ui .navigation{padding:15px}.safara-stats{gap:6px}.safara-stat{padding:13px 9px}.safara-stat .stat-label{font-size:11px}.safara-next,.safara-materials{padding:18px}.reference-ui .path-node{width:59px;height:59px;flex-shrink:0}.reference-ui .path-step{margin-left:0}.reference-ui .path-step:nth-child(4n+2),.reference-ui .path-step:nth-child(4n+3){margin-left:19px}}
@media(prefers-reduced-motion:reduce){.reference-ui *, .reference-ui *:before,.reference-ui *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{html,body.reference-ui{background:white}.reference-ui .app-shell{display:block;border:0;margin:0;width:100%;box-shadow:none}.reference-ui .workspace{padding:0}.reference-ui .safara-dashboard-grid{display:block}.dashboard-browse{display:none}}

.reference-ui .learner-chip{border-radius:20px;padding:7px 13px;font-size:12px;line-height:1.4}

.reference-ui .subject-art{display:grid;place-items:center}
.reference-ui .subject-art>svg{display:block;width:100%;height:100%}
.reference-ui .notice{padding:14px 17px;margin:0 0 20px;border:1px solid var(--butter);border-radius:12px;line-height:1.6}

/* Package names need a full readable card at narrow widths, including a single enrollment. */
.reference-ui .subject-switch{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.reference-ui .subject-switch .subject-art{flex-shrink:0}
.reference-ui .subject-switch>a>span:last-child{min-width:0;overflow-wrap:anywhere}
