:root { --navy:#102338; --navy-2:#18354d; --ink:#172433; --muted:#63717d; --cream:#f4f0e8; --paper:#fffdf9; --line:#ddd8ce; --gold:#c99a4b; --green:#2d705d; }
* { box-sizing:border-box; }
html { background:var(--cream); }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; }
button { font:inherit; }
.academy-shell { min-height:100vh; display:grid; grid-template-columns:252px 1fr; }
.main-sidebar,.lesson-rail { background:var(--navy); color:white; padding:28px 22px 20px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.brand { display:flex; align-items:center; gap:12px; padding:0 4px 24px; border-bottom:1px solid rgba(255,255,255,.14); }
.brand-mark { width:39px; height:39px; border:1px solid var(--gold); display:grid; place-items:center; font-family:Georgia,serif; color:var(--gold); letter-spacing:-.04em; }
.brand strong { display:block; font-family:Georgia,serif; font-size:15px; font-weight:500; }
.brand small { display:block; margin-top:4px; color:#b8c4cc; letter-spacing:.18em; text-transform:uppercase; font-size:9px; }
.brand-button { width:100%; background:none; color:white; border:0; text-align:left; cursor:pointer; }
.main-nav { padding:28px 0; flex:1; }.main-nav p { color:#8092a2; font-size:9px; letter-spacing:.2em; margin:20px 12px 9px; }
.main-nav button,.main-nav a { width:100%; border:0; background:transparent; color:#bdc8d0; text-align:left; padding:12px; border-radius:8px; cursor:pointer; margin:2px 0; text-decoration:none; display:block; }
.main-nav button span,.main-nav a span { display:inline-grid; width:25px; color:#93a4b1; }.main-nav button.active,.main-nav button:hover,.main-nav a:hover { color:white; background:rgba(255,255,255,.08); }.main-nav button.active span { color:var(--gold); }
.sidebar-user { display:flex; gap:10px; align-items:center; border-top:1px solid rgba(255,255,255,.14); padding-top:18px; }.sidebar-user>span,.learner-chip>span { width:34px; height:34px; border-radius:50%; background:var(--gold); color:var(--navy); display:grid; place-items:center; font-size:11px; font-weight:700; }
.sidebar-user div { min-width:0; flex:1; }.sidebar-user strong,.sidebar-user small { display:block; overflow:hidden; text-overflow:ellipsis; }.sidebar-user strong { font-size:12px; }.sidebar-user small { color:#91a1ad; font-size:10px; margin-top:3px; }.sidebar-user button { background:none; color:#9cadaf; border:0; }
.dashboard { padding:46px 5vw 64px; max-width:1500px; width:100%; margin:0 auto; }.dashboard-topbar { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:30px; }.sign-out-link { color:var(--muted); border:1px solid var(--line); background:var(--paper); padding:10px 14px; text-decoration:none; font-size:11px; font-weight:700; }
.eyebrow { display:block; font-size:9px; letter-spacing:.2em; font-weight:800; color:#77838d; margin-bottom:9px; }.dashboard h1,.course-topbar h1 { margin:0; font-family:Georgia,serif; font-weight:500; font-size:clamp(30px,4vw,44px); letter-spacing:-.035em; }.dashboard-topbar p { color:var(--muted); margin:9px 0 0; max-width:650px; line-height:1.6; }.notification { width:38px; height:38px; border:1px solid var(--line); background:var(--paper); border-radius:50%; color:var(--gold); }
.resume-card { min-height:300px; background:var(--navy); color:white; display:grid; grid-template-columns:1.15fr .85fr; border-radius:3px; overflow:hidden; box-shadow:0 16px 40px rgba(18,31,43,.12); }.resume-content { padding:44px 48px; position:relative; z-index:1; }
.pill { display:inline-block; color:#cce9dd; background:rgba(90,185,151,.16); border:1px solid rgba(118,210,176,.35); font-size:8px; letter-spacing:.18em; font-weight:800; padding:7px 9px; border-radius:20px; }.course-label { color:var(--gold); font-size:10px; letter-spacing:.22em; font-weight:800; margin:25px 0 9px; }.resume-card h2 { font-family:Georgia,serif; font-size:34px; font-weight:500; margin:0; }.resume-card p:not(.course-label) { color:#b8c5ce; }
.progress-row { display:flex; align-items:center; gap:14px; max-width:470px; margin:24px 0; }.progress-track,.rail-progress { height:4px; background:rgba(255,255,255,.15); flex:1; }.progress-track span,.rail-progress span { height:100%; background:var(--gold); display:block; }.progress-row strong { font-size:11px; color:#d9e1e6; }
.primary-button { background:var(--gold); color:#102338; border:0; padding:13px 18px; border-radius:4px; font-weight:800; font-size:12px; cursor:pointer; }.hospitality-motif { position:relative; display:grid; place-items:center; background:radial-gradient(circle at 50% 50%,#254862,#122b40 62%,#102338 63%); overflow:hidden; }.hospitality-motif::before,.hospitality-motif::after { content:""; position:absolute; width:320px; height:320px; border:1px solid rgba(201,154,75,.2); border-radius:50%; }.hospitality-motif::after { width:220px; height:220px; }.motif-ring { width:118px; height:118px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; position:relative; z-index:1; }.motif-ring span { font-family:Georgia,serif; color:var(--gold); font-size:58px; }.hospitality-motif p { position:absolute; bottom:20px; right:25px; text-align:right; font-size:8px; letter-spacing:.22em; line-height:1.7; color:#8096a6!important; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; margin-top:42px; }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:15px; }.section-heading h2,.progress-panel h2 { font-family:Georgia,serif; font-weight:500; font-size:24px; margin:0; }.section-heading button { border:0; background:transparent; font-size:11px; font-weight:700; color:#526676; }
.course-card { background:var(--paper); border:1px solid var(--line); display:grid; grid-template-columns:210px 1fr; min-height:230px; }.course-art { background:#d8d0c0; padding:25px; display:flex; flex-direction:column; justify-content:space-between; color:var(--navy); background-image:linear-gradient(135deg,rgba(255,255,255,.5),transparent),repeating-linear-gradient(45deg,transparent,transparent 15px,rgba(16,35,56,.04) 15px,rgba(16,35,56,.04) 16px); }.course-art span { font-family:Georgia,serif; font-size:42px; color:rgba(16,35,56,.4); }.course-art strong { font-size:13px; letter-spacing:.12em; line-height:1.5; }.course-info { padding:26px; }.pill.neutral { background:#efebe3; border-color:#ddd5c8; color:#6d675c; }.course-info h3 { font-family:Georgia,serif; font-size:22px; font-weight:500; margin:16px 0 8px; }.course-info p { color:var(--muted); font-size:13px; line-height:1.55; }.course-meta { display:flex; gap:18px; font-size:10px; color:#6c7882; margin:18px 0; }.course-info button { background:none; border:0; padding:0; color:var(--navy-2); font-weight:800; font-size:11px; cursor:pointer; }
.progress-panel { background:var(--paper); border:1px solid var(--line); padding:27px; }.progress-orbit { width:120px; height:120px; border-radius:50%; display:grid; place-items:center; margin:24px auto; }.progress-orbit>div { width:102px; height:102px; background:var(--paper); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; }.progress-orbit strong { font-family:Georgia,serif; font-size:28px; }.progress-orbit small { color:var(--muted); font-size:9px; }.stat-row { border-top:1px solid #e8e3da; padding:13px 0; display:flex; justify-content:space-between; gap:20px; font-size:11px; }.stat-row span { color:var(--muted); }.stat-row strong { text-align:right; }
.course-shell { grid-template-columns:330px 1fr; background:#f6f3ed; }.lesson-rail { padding:24px 20px 18px; }.course-rail-heading { padding:26px 6px 18px; }.back-link { background:none; border:0; color:#b5c2cb; padding:0; cursor:pointer; font-size:11px; }.course-rail-heading p { color:var(--gold); font-size:9px; letter-spacing:.16em; margin-top:24px; }.course-rail-heading small { color:#8fa0ad; font-size:9px; display:block; margin-top:8px; }
.lesson-list { flex:1; overflow:auto; }.lesson-link { width:100%; display:flex; gap:12px; align-items:center; text-align:left; padding:11px 9px; border:0; border-left:2px solid transparent; background:transparent; color:#b6c2ca; cursor:pointer; }.lesson-link.active { background:rgba(255,255,255,.07); border-left-color:var(--gold); color:white; }.lesson-state { width:29px; height:29px; border:1px solid #526575; border-radius:50%; display:grid; place-items:center; font-size:8px; flex:0 0 auto; }.lesson-state.complete { background:var(--green); border-color:var(--green); color:white; }.lesson-state.current { border-color:var(--gold); color:var(--gold); }.lesson-link strong,.lesson-link small { display:block; }.lesson-link strong { font-size:11px; }.lesson-link small { color:#78909f; font-size:9px; margin-top:4px; }.help-link { background:none; border:0; border-top:1px solid rgba(255,255,255,.12); padding:16px 0 0; text-align:left; color:#91a2ae; font-size:10px; text-decoration:none; }
.lesson-stage { min-width:0; display:flex; flex-direction:column; min-height:100vh; }.course-topbar { min-height:105px; background:var(--paper); border-bottom:1px solid var(--line); padding:22px 4vw; display:flex; align-items:center; justify-content:space-between; }.course-topbar h1 { font-size:27px; }.learner-chip { display:flex; align-items:center; gap:10px; }.learner-chip strong,.learner-chip small { display:block; }.learner-chip strong { font-size:11px; }.learner-chip small { font-size:9px; color:var(--muted); margin-top:3px; }
.lesson-card { width:min(850px,calc(100% - 60px)); margin:38px auto; background:var(--paper); border:1px solid var(--line); padding:clamp(30px,6vw,66px); box-shadow:0 14px 35px rgba(31,43,52,.08); }.lesson-kicker { color:var(--gold); font-size:9px; letter-spacing:.2em; font-weight:800; }.lesson-card h2 { font-family:Georgia,serif; font-size:clamp(31px,4vw,45px); line-height:1.08; font-weight:500; max-width:580px; margin:16px 0; }.lesson-lede { color:#586773; font-size:16px; line-height:1.7; max-width:690px; }.journey-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:36px 0; }.journey-grid>div { background:#f8f5ef; padding:22px; }.journey-grid span,.journey-grid strong { display:block; }.journey-grid span { color:var(--gold); font-size:9px; font-weight:800; }.journey-grid strong { margin-top:19px; font-family:Georgia,serif; font-size:19px; }.journey-grid p { color:var(--muted); font-size:11px; line-height:1.6; }.lesson-card blockquote { margin:32px 0; padding:0 0 0 22px; border-left:2px solid var(--gold); font-family:Georgia,serif; font-size:22px; color:var(--navy-2); }.reflection { background:#eaf0ec; border-left:3px solid var(--green); padding:20px 22px; }.reflection span { color:var(--green); font-size:8px; letter-spacing:.16em; font-weight:800; }.reflection p { margin:8px 0 0; font-size:12px; line-height:1.55; }
.lesson-footer { margin-top:auto; min-height:72px; padding:15px 4vw; border-top:1px solid var(--line); background:var(--paper); display:flex; justify-content:space-between; align-items:center; position:sticky; bottom:0; }.lesson-footer>span { color:#849099; font-size:9px; }.secondary-button { background:white; border:1px solid var(--line); color:var(--ink); padding:12px 16px; border-radius:4px; font-size:11px; font-weight:700; }.secondary-button:disabled { opacity:.4; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(390px,.9fr) 1.1fr; background:var(--paper); }.login-story { background:var(--navy); color:white; padding:42px clamp(34px,6vw,88px); display:flex; flex-direction:column; min-height:100vh; position:relative; overflow:hidden; }.login-story::before,.login-story::after { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(201,154,75,.16); border-radius:50%; right:-240px; bottom:-180px; }.login-story::after { width:330px; height:330px; right:-145px; bottom:-85px; }.login-brand { color:white; text-decoration:none; width:max-content; position:relative; z-index:1; }.login-story-copy { margin:auto 0; max-width:550px; position:relative; z-index:1; }.eyebrow.gold { color:var(--gold); }.login-story-copy h1 { font-family:Georgia,serif; font-size:clamp(42px,5.5vw,74px); line-height:1.02; font-weight:500; letter-spacing:-.04em; margin:18px 0 24px; }.login-story-copy p { color:#b7c3cc; line-height:1.7; max-width:470px; }.login-note { color:#778e9f; font-size:8px; letter-spacing:.22em; position:relative; z-index:1; }.login-panel { display:grid; place-items:center; padding:36px; background:#f7f4ee; }.login-card { width:min(430px,100%); background:var(--paper); border:1px solid var(--line); padding:clamp(30px,5vw,56px); box-shadow:0 18px 48px rgba(27,37,46,.09); }.login-card h2 { font-family:Georgia,serif; font-size:36px; font-weight:500; margin:7px 0 12px; }.login-card>p { color:var(--muted); font-size:13px; line-height:1.65; margin-bottom:28px; }.login-card label { display:block; font-size:10px; font-weight:800; margin:17px 0 7px; }.login-card input { width:100%; height:46px; border:1px solid #d5d0c7; background:white; padding:0 13px; color:var(--ink); outline:none; }.login-card input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,154,75,.12); }.password-label { display:flex; justify-content:space-between; align-items:flex-end; }.password-label a,.login-support a,.login-preview a { color:var(--navy-2); font-size:10px; font-weight:700; }.login-button { width:100%; margin-top:24px; min-height:46px; }.form-message { background:#eaf0ec; border-left:3px solid var(--green); padding:12px!important; margin:14px 0!important; color:#315d50!important; font-size:10px!important; }.login-preview { margin-top:28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; }.login-preview span { font-size:8px; color:var(--gold); font-weight:800; letter-spacing:.16em; }.login-preview p { margin:8px 0; font-family:Georgia,serif; font-size:17px; }.login-support { display:block; text-align:center; color:var(--muted); margin-top:22px; }
@media (max-width:950px) { .academy-shell { grid-template-columns:78px 1fr; }.main-sidebar { padding:22px 13px; }.brand>span:not(.brand-mark),.main-nav button:not(.active) { font-size:0; }.main-nav button { text-align:center; }.main-nav button span { font-size:16px; width:auto; }.main-nav p,.sidebar-user div,.sidebar-user button { display:none; }.sidebar-user { justify-content:center; }.dashboard { padding-inline:4vw; }.dashboard-grid { grid-template-columns:1fr; }.progress-panel { display:none; }.course-shell { grid-template-columns:265px 1fr; } }
@media (max-width:700px) { .academy-shell,.course-shell { display:block; }.main-sidebar { height:64px; position:sticky; z-index:4; padding:11px 18px; flex-direction:row; align-items:center; }.main-sidebar .brand { border:0; padding:0; }.main-sidebar .brand>span:not(.brand-mark) { display:block; }.main-nav,.sidebar-user { display:none; }.dashboard { padding:30px 18px; }.dashboard-topbar p { font-size:13px; }.resume-card { grid-template-columns:1fr; }.resume-content { padding:34px 28px; }.hospitality-motif { display:none; }.course-card { grid-template-columns:1fr; }.course-art { min-height:155px; }.dashboard-grid { margin-top:28px; }.lesson-rail { position:static; height:auto; padding:14px 18px; }.lesson-rail .brand,.lesson-rail .course-rail-heading,.lesson-rail .lesson-list,.lesson-rail .help-link { display:none; }.course-topbar { padding:18px; }.learner-chip div { display:none; }.lesson-card { width:calc(100% - 24px); margin:12px auto; padding:28px 22px; }.journey-grid { grid-template-columns:1fr; }.lesson-footer { padding:12px; }.lesson-footer>span { display:none; } }
@media (max-width:820px) { .login-shell { grid-template-columns:1fr; }.login-story { min-height:360px; padding:28px; }.login-story-copy { margin:55px 0 35px; }.login-story-copy h1 { font-size:42px; }.login-note { display:none; }.login-panel { padding:24px 16px 42px; }.login-card { margin-top:-35px; position:relative; z-index:2; } }

/* BMS visual system */
:root { --navy:#061426; --navy-2:#0c2137; --ink:#152234; --muted:#667384; --cream:#f4f7fb; --paper:#ffffff; --line:#dce3eb; --gold:#f0b429; --green:#159768; }
html,body { background:#f4f7fb; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { background-image:linear-gradient(rgba(18,55,86,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,55,86,.035) 1px,transparent 1px); background-size:64px 64px; }
.academy-shell { grid-template-columns:250px minmax(0,1fr); }
.main-sidebar,.lesson-rail { background:linear-gradient(180deg,#07172b,#061121); padding:20px 14px 14px; box-shadow:12px 0 30px rgba(4,18,35,.08); }
.brand { gap:10px; padding:0 6px 18px; }
.brand-mark { width:34px; height:34px; border:0; border-radius:8px; background:linear-gradient(145deg,#ffd257,#e7a814); color:#13243a; font-family:inherit; font-size:11px; font-weight:900; box-shadow:0 5px 15px rgba(240,180,41,.2); }
.brand strong { font-family:inherit; font-size:15px; font-weight:800; line-height:1.05; }
.brand small { color:var(--gold); font-size:8px; font-weight:900; letter-spacing:.17em; }
.sidebar-location { margin:18px 0 8px; min-height:58px; padding:11px; display:flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.04); }
.sidebar-location>span { width:30px; height:30px; display:grid; place-items:center; border-radius:7px; background:rgba(240,180,41,.12); color:var(--gold); }
.sidebar-location small,.sidebar-location strong { display:block; }.sidebar-location small { color:#7f91a6; font-size:8px; margin-bottom:3px; }.sidebar-location strong { font-size:10px; line-height:1.25; }
.main-nav { padding:6px 0; }.main-nav p { margin:18px 10px 6px; color:#7789a0; font-weight:800; }.main-nav button,.main-nav a { padding:10px 11px; border-radius:8px; font-size:12px; border-left:2px solid transparent; }
.main-nav button.active { background:linear-gradient(90deg,rgba(240,180,41,.13),rgba(255,255,255,.035)); border-left-color:var(--gold); }.main-nav button span,.main-nav a span { font-size:14px; color:#9aabc0; }.main-nav button.active span { color:var(--gold); }
.sidebar-credit { padding:10px 7px 11px; border-top:1px solid rgba(255,255,255,.09); color:#728298; font-size:8px; line-height:1.45; margin:0; }
.sidebar-user { margin-top:0; padding:9px 8px; border:0; border-radius:9px; background:rgba(255,255,255,.045); }.sidebar-user>span,.learner-chip>span { border-radius:7px; background:var(--gold); }.sidebar-user strong { font-size:10px; }.sidebar-user small { font-size:8px; }
.workspace { min-width:0; }.workspace-bar { height:64px; padding:0 32px; display:flex; align-items:center; justify-content:space-between; background:white; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.workspace-search { width:min(300px,42vw); height:38px; display:flex; gap:8px; align-items:center; padding:0 11px; border:1px solid #d8e0e9; border-radius:8px; background:#f8fafc; color:#7b8796; font-size:11px; text-align:left; }.workspace-search span { font-size:18px; }.workspace-search kbd { margin-left:auto; border:1px solid #d6dde5; background:white; border-radius:4px; padding:2px 5px; color:#778393; font-size:8px; }
.workspace-bar>div { display:flex; gap:8px; align-items:center; }.workspace-bar>div>button,.workspace-bar>div>a { width:36px; height:36px; display:grid; place-items:center; border:1px solid #dce3eb; border-radius:8px; background:#f8fafc; color:#607083; text-decoration:none; font-size:12px; }.workspace-bar .workspace-avatar { background:var(--gold); border-color:var(--gold); color:#17283d; font-size:9px; font-weight:900; }
.dashboard { padding:34px clamp(24px,4vw,56px) 60px; max-width:1450px; }.dashboard-topbar { margin-bottom:24px; align-items:center; }.dashboard h1,.course-topbar h1 { font-family:inherit; font-weight:850; letter-spacing:-.045em; }.dashboard-topbar p { margin-top:7px; }.eyebrow { color:#7c8997; font-size:8px; font-weight:900; }.live-badge { display:flex; gap:7px; align-items:center; padding:8px 10px; border:1px solid #dce3eb; border-radius:20px; background:white; color:#647285; font-size:9px; font-weight:700; }.live-badge i { width:7px; height:7px; border-radius:50%; background:#2dcc88; box-shadow:0 0 0 4px rgba(45,204,136,.12); }
.resume-card { min-height:286px; border-radius:14px; background:radial-gradient(circle at 85% 5%,rgba(52,204,139,.16),transparent 38%),linear-gradient(135deg,#062719,#073824); border:1px solid rgba(52,204,139,.18); box-shadow:0 18px 40px rgba(7,39,25,.16); }.resume-content { padding:40px 44px; }.resume-card h2 { font-family:inherit; font-size:35px; font-weight:850; letter-spacing:-.04em; }.pill { color:#a7f2d1; background:rgba(52,204,139,.12); border-color:rgba(52,204,139,.3); }.course-label { color:#ffca3f; }.primary-button { background:linear-gradient(180deg,#ffc63b,#f0ae12); border-radius:7px; color:#17283b; box-shadow:0 7px 16px rgba(240,174,18,.18); }.hospitality-motif { background:transparent; }.motif-ring { border-color:#34cc8b; }.motif-ring span { color:#34cc8b; font-family:inherit; font-weight:900; }.hospitality-motif::before,.hospitality-motif::after { border-color:rgba(52,204,139,.14); }
.dashboard-grid { gap:20px; margin-top:30px; }.section-heading h2,.progress-panel h2 { font-family:inherit; font-weight:800; }.course-card,.progress-panel { border-radius:12px; overflow:hidden; box-shadow:0 8px 25px rgba(31,53,74,.05); }.course-art { background-color:#e7edf3; background-image:linear-gradient(135deg,rgba(255,255,255,.75),transparent),linear-gradient(rgba(11,35,56,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,35,56,.05) 1px,transparent 1px); background-size:auto,24px 24px,24px 24px; }.course-info h3 { font-family:inherit; font-weight:800; letter-spacing:-.025em; }.course-info button { color:#0a6c4c; }.pill.neutral { color:#966d0b; background:#fff7de; border-color:#f1dda2; }.progress-orbit strong { font-family:inherit; font-weight:850; }
.course-shell { grid-template-columns:300px 1fr; background-color:#f4f7fb; background-image:linear-gradient(rgba(18,55,86,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,55,86,.035) 1px,transparent 1px); background-size:64px 64px; }.lesson-rail { padding:20px 14px 14px; }.course-rail-heading { padding:22px 8px 14px; }.course-rail-heading p { color:var(--gold); font-weight:900; }.lesson-link { border-radius:8px; margin:2px 0; }.lesson-link.active { background:linear-gradient(90deg,rgba(240,180,41,.13),rgba(255,255,255,.035)); border-left-color:var(--gold); }.lesson-state { border-radius:7px; }.lesson-state.complete { background:#159768; }.course-topbar { min-height:88px; padding:18px 3vw; }.course-topbar h1 { font-size:24px; }.lesson-card { border-radius:14px; padding:clamp(30px,5vw,58px); margin:30px auto; box-shadow:0 12px 32px rgba(31,53,74,.07); }.lesson-card h2 { font-family:inherit; font-weight:850; letter-spacing:-.045em; }.journey-grid>div { background:#f7f9fb; }.journey-grid strong,.lesson-card blockquote { font-family:inherit; }.journey-grid strong { font-weight:800; }.lesson-card blockquote { font-weight:750; }.reflection { background:#e9f7f1; }
.login-story { background-color:#062719; background-image:linear-gradient(rgba(52,204,139,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(52,204,139,.06) 1px,transparent 1px); background-size:64px 64px; }.login-story-copy h1 { font-family:inherit; font-weight:900; letter-spacing:-.055em; }.login-story-copy p { color:#bed1c8; }.login-card { border-radius:14px; }.login-card h2 { font-family:inherit; font-weight:850; letter-spacing:-.04em; }.login-preview p { font-family:inherit; font-weight:750; }
@media (max-width:950px) { .academy-shell { grid-template-columns:76px 1fr; }.sidebar-location,.sidebar-credit { display:none; }.brand>span:not(.brand-mark) { display:none; }.workspace-bar { padding-inline:18px; }.course-shell { grid-template-columns:250px 1fr; } }
@media (max-width:700px) { .academy-shell,.course-shell { display:block; }.main-sidebar { height:62px; }.main-sidebar .brand>span:not(.brand-mark) { display:block; }.workspace-bar { height:56px; padding:0 14px; }.workspace-search { width:55%; }.workspace-search kbd { display:none; }.dashboard { padding:25px 16px 45px; }.dashboard-topbar { align-items:flex-start; }.live-badge { display:none; }.resume-content { padding:32px 25px; }.resume-card h2 { font-size:30px; } }
.brand-logo { width:42px; height:42px; flex:0 0 auto; display:block; object-fit:contain; }
.motif-ring { width:142px; height:142px; border:0; border-radius:18px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.motif-ring .motif-logo { width:100%; height:100%; display:block; object-fit:cover; }
@media (max-width:950px) { .brand>span { display:none; } }
@media (max-width:700px) { .main-sidebar .brand>span { display:block; } }

/* Interactive Foundations learning experience */
.path-shell { background:#eef3f8; }
.path-workspace { min-width:0; min-height:100vh; }
.path-header { height:68px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:4; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.path-header>button { border:0; background:transparent; color:#526378; font-weight:800; cursor:pointer; }
.care-score { display:grid; grid-template-columns:auto auto; column-gap:7px; align-items:center; color:#17283b; }
.care-score>span { grid-row:1 / 3; color:var(--gold); font-size:25px; animation:carePulse 2.6s ease-in-out infinite; }
.care-score strong { font-size:15px; line-height:1; }.care-score small { color:#7d8998; font-size:7px; letter-spacing:.13em; margin-top:3px; }
.path-content { width:min(760px,calc(100% - 36px)); margin:34px auto 80px; }
.unit-banner { display:flex; justify-content:space-between; gap:30px; align-items:center; padding:30px 34px; color:white; border-radius:18px; background:radial-gradient(circle at 95% -10%,rgba(240,180,41,.35),transparent 34%),linear-gradient(135deg,#09253f,#061426); box-shadow:0 18px 45px rgba(6,20,38,.17); }
.unit-banner span { color:#f7c858; font-size:8px; font-weight:900; letter-spacing:.18em; }.unit-banner h1 { margin:8px 0 6px; font-size:30px; letter-spacing:-.04em; }.unit-banner p { color:#b8c7d5; margin:0; font-size:12px; }
.unit-banner>div:last-child { width:112px; height:112px; flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; border:8px solid rgba(255,255,255,.14); border-top-color:var(--gold); border-radius:50%; }
.unit-banner>div:last-child strong { font-size:25px; }.unit-banner>div:last-child small { margin-top:4px; color:#aebdcc; font-size:6px; letter-spacing:.12em; }
.learning-path { position:relative; width:min(560px,100%); min-height:1050px; margin:34px auto 0; padding-top:15px; }
.learning-path::before { content:""; position:absolute; top:45px; bottom:98px; left:50%; width:7px; transform:translateX(-50%); border-radius:9px; background:repeating-linear-gradient(to bottom,#d3dce6 0,#d3dce6 12px,transparent 12px,transparent 22px); }
.path-stop { position:relative; min-height:132px; display:flex; align-items:flex-start; z-index:1; }
.path-stop.stop-0 { justify-content:center; }.path-stop.stop-1 { justify-content:flex-start; padding-left:19%; }.path-stop.stop-2 { justify-content:flex-end; padding-right:19%; }
.path-stop>button { width:76px; height:68px; position:relative; z-index:2; border:0; border-radius:50%; background:#bfc9d4; color:white; box-shadow:0 8px 0 #aab5c1,0 14px 24px rgba(26,49,69,.12); cursor:not-allowed; }
.path-stop>button span { width:52px; height:52px; display:grid; place-items:center; margin:auto; border:3px solid rgba(255,255,255,.6); border-radius:50%; font-size:21px; }
.path-stop.current>button { background:linear-gradient(180deg,#f6c64e,#e9a817); color:#16283d; box-shadow:0 8px 0 #bd8210,0 0 0 8px rgba(240,180,41,.14),0 16px 28px rgba(94,68,13,.2); cursor:pointer; animation:nodeBounce 2s ease-in-out infinite; }
.path-stop.done>button { background:linear-gradient(180deg,#2ec58c,#159768); box-shadow:0 8px 0 #0b6e4a,0 14px 24px rgba(21,151,104,.18); cursor:pointer; }
.path-popover { position:absolute; top:-2px; width:205px; padding:13px 15px; border:1px solid #dce3eb; border-radius:12px; background:white; box-shadow:0 10px 25px rgba(31,53,74,.07); opacity:.78; }
.stop-0 .path-popover { left:calc(50% + 58px); }.stop-1 .path-popover { left:calc(19% + 94px); }.stop-2 .path-popover { right:calc(19% + 94px); text-align:right; }
.path-stop.current .path-popover,.path-stop.done .path-popover { opacity:1; }.path-popover small { display:block; color:#8b97a5; font-size:7px; letter-spacing:.12em; font-weight:900; }.path-popover strong { display:block; margin-top:5px; font-size:12px; }.path-popover p { margin:5px 0 0; color:#728092; font-size:9px; line-height:1.35; }
.path-finish { width:210px; height:64px; margin:15px auto; display:flex; gap:10px; align-items:center; justify-content:center; border:2px solid #d0d8e1; border-radius:15px; background:#e5eaf0; color:#8c98a6; font-size:9px; letter-spacing:.12em; }
.path-finish span { font-size:20px; }.path-finish.unlocked { color:#17283b; border-color:#e5b43d; background:#fff4d4; }

.immersive-shell { grid-template-columns:255px minmax(0,1fr); background:#f5f7fa; }
.path-rail { height:100vh; position:sticky; top:0; padding:20px 14px; overflow:hidden; color:white; background:linear-gradient(180deg,#07172b,#061121); }
.mini-path-title { padding:24px 8px 12px; }.mini-path-title span { display:block; color:var(--gold); font-size:7px; letter-spacing:.17em; font-weight:900; }.mini-path-title strong { display:block; margin-top:5px; font-size:13px; }
.mini-path { display:flex; flex-direction:column; gap:4px; }.mini-node { width:100%; display:flex; align-items:center; gap:10px; padding:9px; border:0; border-radius:9px; background:transparent; color:#9bacbd; text-align:left; cursor:pointer; }
.mini-node i { width:31px; height:31px; display:grid; place-items:center; flex:0 0 auto; border:1px solid #465a70; border-radius:50%; font-style:normal; font-size:8px; }
.mini-node span strong,.mini-node span small { display:block; }.mini-node span strong { font-size:10px; }.mini-node span small { color:#6f8296; font-size:8px; margin-top:3px; }
.mini-node.active { color:white; background:rgba(240,180,41,.11); }.mini-node.active i { color:#17283b; border-color:var(--gold); background:var(--gold); box-shadow:0 0 0 4px rgba(240,180,41,.1); }
.mini-node.done i { color:white; border-color:#159768; background:#159768; }.mini-node.locked { opacity:.42; cursor:not-allowed; }
.immersive-stage { min-width:0; min-height:100vh; display:flex; flex-direction:column; }
.lesson-progress-bar { height:78px; padding:0 clamp(20px,4vw,54px); display:grid; grid-template-columns:42px 1fr 116px; gap:24px; align-items:center; background:white; border-bottom:1px solid var(--line); }
.lesson-progress-bar>button { width:38px; height:38px; border:0; background:transparent; color:#7b8998; font-size:25px; cursor:pointer; }.lesson-meter { height:13px; overflow:hidden; border-radius:10px; background:#e2e7ed; }.lesson-meter span { display:block; height:100%; border-radius:10px; background:linear-gradient(90deg,#24ba81,#45d69d); box-shadow:0 0 14px rgba(36,186,129,.35); transition:width .5s cubic-bezier(.2,.8,.2,1); }
.activity-wrap { flex:1; display:grid; place-items:center; padding:34px; }
.activity-card { width:min(900px,100%); animation:activityIn .45s cubic-bezier(.2,.8,.2,1); }
.activity-card h1 { color:#15263a; font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.045em; margin:14px 0; }
.concept-activity { display:grid; grid-template-columns:.82fr 1.18fr; gap:46px; align-items:center; }.activity-kicker { color:#a8760a; font-size:8px; font-weight:900; letter-spacing:.18em; }.activity-copy>p { color:#627184; font-size:15px; line-height:1.7; }
.concept-pills { display:grid; gap:9px; margin-top:23px; }.concept-pills>div { display:grid; grid-template-columns:125px 1fr; gap:14px; padding:11px 14px; border:1px solid #dbe3eb; border-radius:10px; background:white; }.concept-pills strong { color:#0d6f51; font-size:11px; }.concept-pills span { color:#6a7787; font-size:10px; }
.hospitality-animation { height:410px; position:relative; overflow:hidden; border-radius:28px; background:radial-gradient(circle at 50% 35%,#16486a,#082840 55%,#061426 56%); box-shadow:0 26px 55px rgba(6,20,38,.2); }
.scene-halo { position:absolute; left:50%; top:50%; border:1px solid rgba(240,180,41,.24); border-radius:50%; transform:translate(-50%,-50%); animation:halo 3s ease-in-out infinite; }.halo-one { width:270px; height:270px; }.halo-two { width:190px; height:190px; animation-delay:.5s; }
.scene-door { position:absolute; left:50%; top:90px; width:130px; height:220px; transform:translateX(-50%); border:5px solid #f0b429; border-bottom:0; border-radius:68px 68px 0 0; }.scene-door span { position:absolute; inset:12px 8px 0; transform-origin:left; background:linear-gradient(120deg,#133e5b,#0d2c43); animation:doorOpen 3.4s ease-in-out infinite; }
.scene-person { position:absolute; bottom:72px; width:40px; height:90px; border-radius:24px 24px 11px 11px; background:#e9f1f7; animation:guestMove 3.4s ease-in-out infinite; }.scene-person::before { content:""; position:absolute; width:34px; height:34px; left:3px; top:-25px; border-radius:50%; background:#f0b429; }.person-one { left:48px; }.person-two { right:48px; animation-delay:.7s; }.scene-person i { display:none; }
.scene-tray { display:none; }.scene-route,.scene-signal,.scene-star { display:none; }
.scene-difference .scene-door,.scene-difference .scene-person,.scene-difference .scene-halo { display:none; }.scene-difference::before,.scene-difference::after { position:absolute; top:75px; width:125px; height:210px; display:grid; place-items:center; border-radius:26px; color:white; font-size:12px; font-weight:900; letter-spacing:.12em; }.scene-difference::before { content:"SERVICE"; left:30px; background:#153b59; border:2px solid #7294ae; }.scene-difference::after { content:"HOSPITALITY"; right:30px; background:#0c6048; border:2px solid #36c18d; }.scene-difference .scene-tray { display:grid; place-items:center; position:absolute; z-index:2; left:50%; top:50%; width:100px; height:100px; transform:translate(-50%,-50%); border-radius:50%; background:#f0b429; color:#102338; box-shadow:0 0 0 14px rgba(240,180,41,.12); animation:trayFloat 2s ease-in-out infinite; }.scene-tray span { font-size:38px; }
.scene-journey .scene-door,.scene-journey .scene-person,.scene-journey .scene-halo,.scene-team .scene-door,.scene-team .scene-person,.scene-team .scene-halo { display:none; }.scene-route { position:absolute; display:flex; justify-content:space-between; align-items:center; left:34px; right:34px; top:50%; }.scene-route::before { content:""; position:absolute; left:20px; right:20px; height:4px; background:linear-gradient(90deg,#f0b429,#36c18d); }.scene-route i { width:55px; height:55px; position:relative; z-index:2; border:8px solid #0a263c; border-radius:50%; background:#f0b429; animation:routeNode 2.4s ease-in-out infinite; }.scene-route i:nth-child(2) { background:#36c18d; animation-delay:.3s; }.scene-route i:nth-child(3) { background:#eaf1f6; animation-delay:.6s; }
.scene-team .scene-route { display:flex; transform:rotate(-16deg); }.scene-team .scene-route i { border-radius:13px; background:#36c18d; }.scene-team .scene-route i:nth-child(2) { background:#f0b429; }.scene-team .scene-route i:nth-child(3) { background:#36c18d; }
.scene-standards .scene-door,.scene-standards .scene-person,.scene-standards .scene-route,.scene-standards .scene-halo { display:none; }.scene-standards .scene-star,.scene-finish .scene-star { display:grid; place-items:center; position:absolute; inset:0; color:#f0b429; font-size:110px; animation:standardGlow 2s ease-in-out infinite; }
.scene-recovery .scene-door,.scene-recovery .scene-person,.scene-recovery .scene-route { display:none; }.scene-recovery .scene-signal { display:flex; position:absolute; inset:0; align-items:center; justify-content:center; gap:16px; }.scene-signal i { width:24px; height:120px; border-radius:20px; background:#f0b429; animation:calmWave 1.4s ease-in-out infinite; }.scene-signal i:nth-child(2) { height:210px; background:#36c18d; animation-delay:.18s; }.scene-signal i:nth-child(3) { height:150px; animation-delay:.36s; }
.scene-finish .scene-door,.scene-finish .scene-person,.scene-finish .scene-route { display:none; }
.lesson-media { min-width:0; overflow:hidden; border-radius:28px; background:#061426; box-shadow:0 26px 55px rgba(6,20,38,.2); }.motion-stage { height:360px; position:relative; overflow:hidden; }.motion-stage .hospitality-animation { height:100%; border-radius:0; box-shadow:none; }.motion-stage::after { content:""; position:absolute; inset:48% 0 0; background:linear-gradient(transparent,rgba(4,15,28,.95)); pointer-events:none; }.motion-stage.playing .hospitality-animation { animation:mediaFocus 8s ease-in-out infinite; }.motion-caption { max-width:90%; position:absolute; left:24px; right:24px; bottom:34px; z-index:2; color:white; animation:captionIn .45s ease-out; }.motion-caption span,.motion-caption strong,.motion-caption p { display:block; }.motion-caption span { color:#f0b429; font-size:8px; font-weight:900; letter-spacing:.17em; }.motion-caption strong { margin-top:7px; font-size:20px; }.motion-caption p { margin:5px 0 0; color:#c6d2db; font-size:10px; line-height:1.55; }.motion-timeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(18px,1fr)); gap:5px; position:absolute; left:24px; right:24px; bottom:16px; z-index:3; }.motion-timeline i { height:3px; border-radius:3px; background:rgba(255,255,255,.2); }.motion-timeline i.active { background:#efbd4c; }.narration-now { min-height:112px; padding:19px 22px; border-top:1px solid rgba(255,255,255,.09); color:#dce5eb; background:#091a2c; }.narration-now>span,.narration-now>strong { display:block; }.narration-now>span { color:#e6b64b; font-size:7px; font-weight:900; letter-spacing:.15em; }.narration-now>strong { margin-top:6px; font-family:Georgia,serif; font-size:17px; }.narration-now>p { margin:5px 0 0; color:#9fb0bd; font-size:9px; line-height:1.6; }.narration-now>div { height:3px; margin-top:13px; overflow:hidden; border-radius:3px; background:rgba(255,255,255,.12); }.narration-now>div i { height:100%; display:block; border-radius:3px; background:#efbd4c; transition:width .35s ease; }.narration-now.active { background:linear-gradient(135deg,#0a2035,#0b2639); }.media-controls { min-height:70px; display:grid; grid-template-columns:1fr auto auto auto; gap:7px; align-items:center; padding:12px 14px; border-top:1px solid rgba(255,255,255,.09); color:#e5edf2; }.media-controls>div span,.media-controls>div small { display:block; }.media-controls>div span { color:#e6b64b; font-size:7px; font-weight:900; letter-spacing:.13em; }.media-controls>div small { margin-top:4px; color:#788b9a; font-size:7px; }.media-controls button { min-height:38px; display:flex; align-items:center; gap:6px; padding:0 10px; border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#dce5eb; background:rgba(255,255,255,.06); font-size:8px; font-weight:850; cursor:pointer; }.media-controls button:first-of-type { color:#16283b; border-color:#d29d2e; background:#efbd4c; }.media-controls button:disabled { opacity:.4; cursor:not-allowed; }.media-controls button>span { width:12px; text-align:center; }.media-controls .narration-restart { color:#b9c7d1; background:transparent; }
.coach-bubble { display:flex; gap:14px; align-items:center; margin-bottom:34px; }.coach-mark { width:54px; height:54px; flex:0 0 auto; display:grid; place-items:center; color:#17283b; border-radius:17px; background:var(--gold); font-weight:950; box-shadow:0 7px 0 #bd8210; }.coach-bubble small { color:#13845e; font-size:8px; letter-spacing:.15em; font-weight:900; }.coach-bubble p { margin:5px 0 0; color:#647386; font-size:11px; }
.challenge-activity { max-width:790px; }.challenge-activity h1 { font-size:clamp(29px,3.7vw,43px); margin-bottom:28px; }.answer-grid { display:grid; gap:12px; }.answer-grid button { min-height:68px; display:flex; gap:14px; align-items:center; padding:12px 18px; border:2px solid #d7e0e8; border-bottom-width:5px; border-radius:13px; background:white; color:#314154; text-align:left; cursor:pointer; font-weight:700; transition:transform .15s,border-color .15s,background .15s; }.answer-grid button:hover { transform:translateY(-2px); border-color:#9fb0c1; }.answer-grid button>span { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #ced8e1; border-radius:9px; background:#f6f8fa; color:#607185; }
.answer-grid button.selected { color:#075a40; border-color:#28b77f; background:#edfbf6; }.answer-grid button.selected>span,.answer-grid button.correct-answer>span { color:white; border-color:#159768; background:#159768; }
.application-activity { display:grid; grid-template-columns:.82fr 1.18fr; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:white; box-shadow:0 20px 50px rgba(31,53,74,.09); }.reflection-visual { min-height:450px; position:relative; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:#071b2e; }.reflection-visual .hospitality-animation { position:absolute; inset:0; height:100%; border-radius:0; box-shadow:none; opacity:.78; }.reflection-visual>span { position:relative; z-index:2; color:#ffd266; font-size:8px; letter-spacing:.18em; font-weight:900; }.reflection-copy { padding:50px; }.reflection-copy h1 { font-size:37px; }.reflection-copy>p { color:#5e6d7f; line-height:1.6; }.reflection-copy label { display:block; margin:24px 0 8px; font-size:9px; font-weight:900; }.reflection-copy textarea { width:100%; resize:vertical; padding:14px; border:2px solid #d9e1e8; border-radius:11px; color:#26364a; font:inherit; outline:none; }.reflection-copy textarea:focus { border-color:#24b77e; box-shadow:0 0 0 4px rgba(36,183,126,.1); }.reflection-copy>small { display:block; margin-top:7px; color:#718092; font-size:9px; }
.celebration-activity { max-width:690px; text-align:center; }.celebration-activity h1 { margin-top:16px; }.celebration-activity>p { width:min(540px,100%); margin:0 auto; color:#637286; font-size:15px; line-height:1.7; }
.celebration-burst { width:180px; height:180px; position:relative; display:grid; place-items:center; margin:0 auto 22px; }.celebration-burst>span { width:105px; height:105px; display:grid; place-items:center; position:relative; z-index:2; border:10px solid #dcf7ed; border-radius:50%; background:#1eb47d; color:white; font-size:50px; box-shadow:0 14px 34px rgba(30,180,125,.25); animation:celebratePop .7s cubic-bezier(.2,1.6,.4,1); }.celebration-burst i { width:12px; height:28px; position:absolute; top:3px; left:84px; border-radius:8px; background:#f0b429; transform-origin:6px 87px; animation:confetti 1.8s ease-in-out infinite; }.celebration-burst i:nth-child(2) { transform:rotate(72deg); background:#1eb47d; }.celebration-burst i:nth-child(3) { transform:rotate(144deg); }.celebration-burst i:nth-child(4) { transform:rotate(216deg); background:#1eb47d; }.celebration-burst i:nth-child(5) { transform:rotate(288deg); }
.reward-row { display:grid; grid-template-columns:repeat(3,1fr); margin-top:32px; overflow:hidden; border:1px solid #dbe3eb; border-radius:13px; background:white; }.reward-row>div { padding:18px; border-right:1px solid #dbe3eb; }.reward-row>div:last-child { border:0; }.reward-row strong,.reward-row small { display:block; }.reward-row strong { color:#17283b; font-size:17px; }.reward-row small { margin-top:4px; color:#8492a1; font-size:7px; letter-spacing:.12em; }
.activity-footer { min-height:98px; display:flex; align-items:center; justify-content:flex-end; gap:14px; padding:18px clamp(24px,6vw,80px); position:sticky; bottom:0; z-index:4; border-top:1px solid var(--line); background:rgba(255,255,255,.96); box-shadow:0 -8px 30px rgba(31,53,74,.05); backdrop-filter:blur(12px); }
.activity-back,.activity-next { min-width:120px; min-height:48px; padding:0 22px; border-radius:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; font-size:10px; cursor:pointer; }.activity-back { margin-right:auto; border:2px solid #d6dfe7; border-bottom-width:5px; background:white; color:#627184; }.activity-next { border:0; border-bottom:5px solid #0a6d4a; color:white; background:#159768; }.activity-next:disabled { border-bottom-color:#b8c1ca; background:#d6dde4; color:#94a0ac; cursor:not-allowed; }
.activity-footer.correct { min-height:132px; border-top-color:#a8e3cd; background:#eafbf4; }.activity-footer.wrong { min-height:132px; border-top-color:#f3c3b9; background:#fff1ee; }.activity-footer.wrong .activity-next { border-bottom-color:#b64b37; background:#df654d; }
.feedback-message { flex:1; display:flex; gap:13px; align-items:center; }.feedback-message>span { width:48px; height:48px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#159768; color:white; font-size:24px; }.wrong .feedback-message>span { background:#df654d; }.feedback-message strong { color:#126344; font-size:15px; }.wrong .feedback-message strong { color:#a9402f; }.feedback-message p { margin:5px 0 0; color:#557366; font-size:10px; }.wrong .feedback-message p { color:#805f59; }

@keyframes activityIn { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes nodeBounce { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes carePulse { 0%,100% { transform:scale(1) rotate(0); } 50% { transform:scale(1.12) rotate(8deg); } }
@keyframes halo { 0%,100% { opacity:.45; transform:translate(-50%,-50%) scale(.94); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.06); } }
@keyframes doorOpen { 0%,25%,100% { transform:perspective(300px) rotateY(0); } 50%,75% { transform:perspective(300px) rotateY(-62deg); } }
@keyframes guestMove { 0%,100% { transform:translateX(-8px); } 50% { transform:translateX(15px); } }
@keyframes trayFloat { 0%,100% { transform:translate(-50%,-50%) translateY(0); } 50% { transform:translate(-50%,-50%) translateY(-12px); } }
@keyframes routeNode { 0%,100% { transform:scale(.9); } 50% { transform:scale(1.12); } }
@keyframes standardGlow { 0%,100% { transform:scale(.9) rotate(-5deg); text-shadow:0 0 0 rgba(240,180,41,0); } 50% { transform:scale(1.08) rotate(5deg); text-shadow:0 0 35px rgba(240,180,41,.65); } }
@keyframes calmWave { 0%,100% { transform:scaleY(.65); } 50% { transform:scaleY(1); } }
@keyframes mediaFocus { 0%,100% { transform:scale(1); } 50% { transform:scale(1.035); } }
@keyframes captionIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes celebratePop { from { transform:scale(.2) rotate(-30deg); opacity:0; } to { transform:none; opacity:1; } }
@keyframes confetti { 0%,100% { opacity:.45; margin-top:7px; } 50% { opacity:1; margin-top:-6px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
@media (max-width:900px) {
  .immersive-shell { grid-template-columns:76px minmax(0,1fr); }.path-rail .brand>span,.mini-path-title,.mini-node span { display:none; }.mini-node { justify-content:center; }.path-rail { padding-inline:10px; }
  .concept-activity { grid-template-columns:1fr; }.hospitality-animation { height:250px; }.motion-stage { height:300px; }.application-activity { grid-template-columns:1fr; }.reflection-visual { min-height:210px; }.reflection-copy { padding:32px; }
}
@media (max-width:700px) {
  .path-shell { display:grid; grid-template-columns:0 1fr; }.path-shell>.main-sidebar { display:none; }.path-header { height:58px; padding:0 16px; }.path-content { width:calc(100% - 24px); margin-top:16px; }.unit-banner { padding:23px; }.unit-banner h1 { font-size:24px; }.unit-banner>div:last-child { width:82px; height:82px; border-width:6px; }.unit-banner>div:last-child strong { font-size:18px; }.unit-banner p { display:none; }
  .learning-path { min-height:1010px; }.path-stop.stop-1 { padding-left:7%; }.path-stop.stop-2 { padding-right:7%; }.stop-1 .path-popover { left:calc(7% + 82px); }.stop-2 .path-popover { right:calc(7% + 82px); }.path-popover { width:155px; }.stop-0 .path-popover { left:calc(50% + 46px); }
  .immersive-shell { display:block; }.path-rail { display:none; }.lesson-progress-bar { height:66px; grid-template-columns:34px 1fr 38px; gap:12px; padding:0 12px; }.lesson-progress-bar .care-score { width:38px; min-width:0; grid-template-columns:1fr; }.lesson-progress-bar .care-score small,.lesson-progress-bar .care-score strong { display:none; }.activity-wrap { padding:22px 14px 125px; align-items:start; }.activity-card h1 { font-size:31px; }.hospitality-animation { height:220px; border-radius:19px; }.lesson-media { border-radius:19px; }.motion-stage { height:260px; }.media-controls { grid-template-columns:1fr 1fr; }.media-controls>div { grid-column:1/3; }.media-controls button { justify-content:center; }.concept-activity { gap:24px; }.concept-pills>div { grid-template-columns:100px 1fr; }.coach-bubble { margin-bottom:22px; }.challenge-activity h1 { font-size:28px; }.answer-grid button { min-height:62px; }.reflection-copy { padding:26px 20px; }.reflection-copy h1 { font-size:30px; }.reward-row strong { font-size:13px; }.activity-footer { min-height:86px; padding:13px; position:fixed; left:0; right:0; }.activity-footer.correct,.activity-footer.wrong { min-height:160px; flex-wrap:wrap; }.feedback-message { flex-basis:100%; }.activity-back,.activity-next { min-width:105px; }.activity-footer.correct .activity-back,.activity-footer.wrong .activity-back { display:none; }
}

/* Academy account and cloud-save states */
.login-preview button { border:0; padding:0; background:transparent; color:var(--navy-2); font-size:10px; font-weight:800; cursor:pointer; }
.login-button:disabled { opacity:.65; cursor:wait; }
.academy-loading { min-height:100vh; display:grid; place-content:center; justify-items:center; gap:18px; color:#607083; background:#f4f7fb; }
.academy-loading img { width:86px; height:86px; object-fit:contain; animation:carePulse 2s ease-in-out infinite; }
.academy-loading p { font-size:11px; font-weight:800; letter-spacing:.08em; }
.workspace-bar>div>.workspace-avatar { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:8px; background:var(--gold); color:#17283d; font-size:9px; font-weight:900; }
.live-badge.error { max-width:360px; color:#a9402f; border-color:#f3c3b9; background:#fff1ee; }
.live-badge.error i { background:#df654d; box-shadow:0 0 0 4px rgba(223,101,77,.12); }

/* Public Academy landing page */
.academy-landing { min-height:100vh; overflow:hidden; color:#17283b; background:#fbf8f1; }
.academy-landing a { color:inherit; text-decoration:none; }
.landing-nav { height:88px; display:flex; align-items:center; gap:42px; padding:0 clamp(24px,6vw,92px); position:relative; z-index:5; border-bottom:1px solid rgba(255,255,255,.12); color:#f8f0e2; background:#081d31; }
.landing-brand { display:flex; align-items:center; gap:11px; margin-right:auto; }
.landing-brand img { width:49px; height:49px; object-fit:contain; }
.landing-brand span,.landing-brand strong,.landing-brand small { display:block; }
.landing-brand strong { font-family:Georgia,serif; font-size:15px; font-weight:500; letter-spacing:.02em; }
.landing-brand small { margin-top:2px; color:#d9aa47; font-size:8px; font-weight:900; letter-spacing:.26em; text-transform:uppercase; }
.landing-nav nav { display:flex; gap:30px; }
.landing-nav nav a,.landing-login { color:#dbe3e8; font-size:10px; font-weight:800; }
.landing-nav nav a:hover,.landing-login:hover { color:#f0b429; }
.landing-actions { display:flex; align-items:center; gap:21px; }
.landing-join { padding:12px 18px; border:1px solid #d9aa47; border-radius:7px; color:#10243a; background:#f0b429; font-size:9px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.landing-hero { min-height:710px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:clamp(40px,7vw,110px); align-items:center; padding:80px clamp(24px,7vw,110px) 100px; color:#f8f0e2; background:radial-gradient(circle at 78% 38%,rgba(35,161,114,.18),transparent 30%),linear-gradient(135deg,#081d31 0%,#0b2238 62%,#0a2a34 100%); }
.landing-kicker { display:block; color:#d8a93e; font-size:9px; font-weight:950; letter-spacing:.22em; }
.hero-copy h1 { max-width:790px; margin:22px 0 24px; font-family:Georgia,serif; font-size:clamp(42px,5vw,72px); font-weight:400; line-height:1.04; letter-spacing:-.035em; }
.hero-copy h1 em { color:#efc66c; font-weight:400; }
.hero-copy>p { max-width:650px; color:#bdc9d2; font-size:15px; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:38px; }
.landing-primary { min-height:55px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:0 25px; border-radius:9px; color:#10243a!important; background:#efb52d; box-shadow:0 7px 0 #b87e11; font-size:11px; font-weight:950; letter-spacing:.035em; }
.landing-primary:hover { transform:translateY(-2px); box-shadow:0 9px 0 #b87e11; }
.landing-secondary { color:#f8f0e2!important; border-bottom:1px solid rgba(248,240,226,.4); padding-bottom:4px; font-size:10px; font-weight:800; }
.hero-proof { display:flex; flex-wrap:wrap; gap:0; margin-top:48px; }
.hero-proof span { padding:0 22px; border-left:1px solid rgba(255,255,255,.15); color:#9fb0bd; font-size:9px; letter-spacing:.04em; }
.hero-proof span:first-child { padding-left:0; border:0; }
.hero-proof strong { margin-right:4px; color:#f7efe2; font-size:17px; }
.hero-course-preview { max-width:570px; position:relative; }
.preview-glow { width:420px; height:420px; position:absolute; top:50%; left:50%; border-radius:50%; background:rgba(28,179,123,.12); filter:blur(25px); transform:translate(-50%,-50%); }
.preview-card { position:relative; z-index:2; padding:27px 29px 30px; border:1px solid rgba(255,255,255,.15); border-radius:23px; color:#26394b; background:#fff; box-shadow:0 35px 80px rgba(0,0,0,.32); transform:rotate(1.5deg); }
.preview-top { display:flex; justify-content:space-between; color:#778491; font-size:8px; font-weight:900; letter-spacing:.12em; }
.preview-top strong { color:#159768; }
.preview-meter { height:6px; margin:10px 0 20px; overflow:hidden; border-radius:4px; background:#e8edf0; }.preview-meter i { width:25%; height:100%; display:block; background:#1fb37f; }
.preview-scene { height:174px; display:flex; align-items:end; justify-content:center; gap:10px; position:relative; overflow:hidden; border-radius:16px; padding:18px; color:white; background:linear-gradient(145deg,#0a2439,#0d3f47); }
.preview-scene>span { position:relative; z-index:2; padding:7px 9px; border:1px solid rgba(255,255,255,.22); border-radius:12px; font-size:7px; font-weight:900; letter-spacing:.12em; }
.preview-star { position:absolute; top:33px; left:50%; z-index:2; color:#f4bd3c; font-size:43px; transform:translateX(-50%); animation:standardGlow 2.4s ease-in-out infinite; }
.preview-rings { width:180px; height:180px; position:absolute; top:46%; left:50%; border:1px solid rgba(239,181,45,.27); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 31px rgba(239,181,45,.07),0 0 0 62px rgba(239,181,45,.035); }
.preview-card>small { display:block; margin-top:22px; color:#159768; font-size:7px; font-weight:950; letter-spacing:.18em; }.preview-card h2 { margin:8px 0 18px; font-family:Georgia,serif; font-size:23px; font-weight:500; line-height:1.16; }
.portal-access-preview { display:grid; place-items:center; }
.portal-preview-card { width:min(430px,100%); padding:36px; transform:none; text-align:center; }
.portal-preview-card>img { width:112px; height:112px; border-radius:16px; object-fit:cover; }
.portal-preview-card>p { margin:0 auto 23px; max-width:310px; color:#667480; font-size:11px; line-height:1.65; }
.portal-preview-card>a { display:block; text-decoration:none; }
.portal-login-link { min-height:48px; padding:15px 20px; border-radius:8px; color:#fff; background:#0a8c62; font-size:10px; font-weight:900; }
.portal-create-link { min-height:46px; margin-top:10px; padding:14px 20px; border:1px solid #cbd3d8; border-radius:8px; color:#17324a; font-size:10px; font-weight:850; }
.portal-help-link { margin-top:18px; color:#526777; font-size:9px; font-weight:750; }
.preview-choice { display:flex; align-items:center; gap:12px; margin-top:9px; padding:11px; border:2px solid #e1e6e9; border-bottom-width:4px; border-radius:10px; color:#677584; font-size:9px; font-weight:700; }.preview-choice i { width:28px; height:28px; display:grid; place-items:center; border-radius:7px; background:#eef2f4; font-style:normal; }.preview-choice.selected { color:#0c6849; border-color:#33b986; background:#eefbf6; }.preview-choice.selected i { color:white; background:#159768; }
.preview-points { width:190px; display:grid; grid-template-columns:38px 1fr; gap:2px 10px; align-items:center; position:absolute; right:-30px; bottom:-40px; z-index:3; padding:15px; border:1px solid rgba(255,255,255,.22); border-radius:13px; color:#f8f0e2; background:#13324a; box-shadow:0 16px 35px rgba(0,0,0,.25); transform:rotate(-2deg); }.preview-points>span { width:38px; height:38px; display:grid; grid-row:1/3; place-items:center; border-radius:11px; color:#10243a; background:#f0b429; }.preview-points strong { font-size:10px; }.preview-points small { color:#9fb0bd; font-size:7px; }
.landing-trust { min-height:66px; display:flex; align-items:center; justify-content:center; gap:25px; padding:15px 24px; color:#687687; background:#efe8dc; font-size:8px; font-weight:950; letter-spacing:.14em; }.landing-trust i { width:4px; height:4px; border-radius:50%; background:#d3a135; }
.landing-course { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(55px,9vw,140px); padding:120px clamp(24px,8vw,130px); background:#fbf8f1; }
.landing-section-copy { align-self:start; position:sticky; top:40px; }.landing-section-copy h2,.experience-heading h2,.landing-about h2,.landing-final h2 { margin:17px 0 22px; font-family:Georgia,serif; font-size:clamp(36px,4vw,56px); font-weight:400; line-height:1.08; letter-spacing:-.025em; }.landing-section-copy p,.landing-about p { color:#687686; font-size:14px; line-height:1.8; }.landing-section-copy>a,.landing-about a { display:inline-block; margin-top:27px; color:#0c7956; border-bottom:1px solid #0c7956; padding-bottom:4px; font-size:10px; font-weight:900; }
.learning-outcomes article { display:grid; grid-template-columns:60px 1fr; gap:25px; padding:29px 0; border-top:1px solid #d9d4ca; }.learning-outcomes article:last-child { border-bottom:1px solid #d9d4ca; }.learning-outcomes article>span { color:#c39327; font-family:Georgia,serif; font-size:25px; }.learning-outcomes h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:25px; font-weight:500; }.learning-outcomes p { margin:0; color:#6e7a87; font-size:11px; line-height:1.7; }
.module-roadmap { padding:110px clamp(24px,7vw,110px) 120px; color:#f4eee4; background:#071728; }
.module-roadmap>header { max-width:850px; margin:0 auto 48px; text-align:center; }.module-roadmap>header h2 { margin:15px 0; font-size:clamp(38px,5vw,62px); line-height:1.02; letter-spacing:-.05em; }.module-roadmap>header p { max-width:720px; margin:0 auto; color:#aebdca; font-size:12px; line-height:1.75; }
.module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1320px; margin:auto; }.module-grid article { min-height:270px; padding:28px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:#0a2033; box-shadow:0 14px 34px rgba(0,0,0,.14); }.module-grid article>div { display:flex; align-items:center; justify-content:space-between; gap:14px; }.module-grid article>div span { color:#efbd4c; font-size:27px; font-weight:900; letter-spacing:-.04em; }.module-grid article>div small { color:#dfc98f; font-size:7px; font-weight:950; letter-spacing:.14em; text-align:right; }.module-grid h3 { margin:26px 0 13px; color:#fff; font-size:22px; line-height:1.15; letter-spacing:-.025em; }.module-grid p { margin:0; color:#aebdca; font-size:10px; line-height:1.7; }
.module-roadmap>footer { max-width:1320px; display:grid; grid-template-columns:auto 1fr; gap:18px 28px; margin:22px auto 0; padding:22px 25px; border:1px solid rgba(255,255,255,.12); border-radius:10px; color:#aebdca; background:#0a2033; font-size:9px; line-height:1.6; }.module-roadmap>footer strong { color:#efbd4c; }
.landing-pricing { padding:115px clamp(24px,7vw,110px) 120px; color:#17283b; background:#fff; }
.landing-pricing>header { width:min(740px,100%); margin:0 auto 45px; text-align:center; }.landing-pricing>header h2 { margin:16px 0 14px; font-size:clamp(36px,4vw,54px); line-height:1.08; letter-spacing:-.04em; }.landing-pricing>header p { margin:0; color:#687686; font-size:13px; line-height:1.75; }
.seat-packages { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; max-width:1320px; margin:auto; }.seat-packages article { min-height:390px; display:flex; flex-direction:column; position:relative; padding:29px 26px 25px; border:1px solid #dfe4ec; border-radius:12px; background:#f8fafb; box-shadow:0 12px 30px rgba(4,14,33,.055); }.seat-packages article>span { color:#9a7114; font-size:8px; font-weight:950; letter-spacing:.16em; }.seat-packages h3 { margin:13px 0 27px; color:#1b3043; font-size:24px; }.seat-packages article>div { padding:0 0 22px; border-bottom:1px solid #dfe4ec; }.seat-packages article>div strong,.seat-packages article>div small { display:block; }.seat-packages article>div strong { color:#102338; font-size:38px; letter-spacing:-.045em; }.seat-packages article>div small { margin-top:5px; color:#687686; font-size:8px; font-weight:800; }.seat-packages article>p { color:#637384; font-size:10px; line-height:1.65; }.seat-packages article>a { min-height:45px; display:flex; align-items:center; justify-content:center; margin-top:auto; border:1px solid #c89423; border-radius:8px; color:#17283b; background:#efbd4c; font-size:9px; font-weight:950; }.seat-packages article.recommended { border-color:#c99a32; background:#0b2238; box-shadow:0 16px 38px rgba(4,14,33,.18); }.seat-packages article.recommended>b { position:absolute; top:-12px; left:20px; padding:7px 10px; border-radius:6px; color:#17283b; background:#efbd4c; font-size:7px; letter-spacing:.1em; }.seat-packages article.recommended>span { color:#efc66c; }.seat-packages article.recommended h3,.seat-packages article.recommended>div strong { color:white; }.seat-packages article.recommended>div { border-color:rgba(255,255,255,.14); }.seat-packages article.recommended>div small,.seat-packages article.recommended>p { color:#afbdc8; }.landing-pricing>footer { max-width:1320px; display:grid; grid-template-columns:auto 1fr auto; gap:18px 24px; align-items:center; margin:20px auto 0; padding:20px 23px; border:1px solid #dfe4ec; border-radius:10px; color:#637384; background:#f8fafb; font-size:9px; }.landing-pricing>footer strong { color:#20384c; }.landing-pricing>footer a { color:#0c7956; font-weight:900; }
.landing-experience { padding:115px clamp(24px,8vw,130px) 130px; color:#f7efe2; background:#0b2238; }.experience-heading { display:flex; justify-content:space-between; gap:30px; align-items:start; }.experience-heading h2 { max-width:660px; margin-top:0; }.experience-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px; }.experience-steps article { min-height:330px; position:relative; padding:28px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025)); }.experience-steps article>span { color:#738797; font-size:8px; font-weight:900; letter-spacing:.15em; }.step-icon { width:64px; height:64px; display:grid; place-items:center; margin:55px 0 34px; border:1px solid rgba(239,181,45,.45); border-radius:18px; color:#efb52d; background:rgba(239,181,45,.08); font-size:27px; }.experience-steps h3 { margin:0 0 12px; font-family:Georgia,serif; font-size:25px; font-weight:500; }.experience-steps p { color:#aebbc5; font-size:10px; line-height:1.75; }
.landing-about { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,10vw,160px); align-items:center; padding:120px clamp(24px,10vw,155px); background:#ece3d6; }.about-mark { min-height:440px; display:grid; place-items:center; position:relative; border-radius:120px 120px 18px 18px; overflow:hidden; background:#0a2136; box-shadow:inset 0 0 80px rgba(0,0,0,.25); }.about-mark::before { content:""; width:280px; height:280px; position:absolute; border:1px solid rgba(239,181,45,.28); border-radius:50%; box-shadow:0 0 0 45px rgba(239,181,45,.07),0 0 0 90px rgba(239,181,45,.035); }.about-mark img { width:min(300px,74%); position:relative; z-index:2; }
.landing-final { padding:120px 24px; text-align:center; color:#f7efe2; background:radial-gradient(circle at 50% 30%,rgba(33,181,126,.15),transparent 30%),#071b2e; }.landing-final h2 { margin-bottom:16px; }.landing-final p { color:#adbbc5; }.landing-final .landing-primary { margin-top:28px; }.landing-final>small { display:block; margin-top:23px; color:#8396a5; font-size:8px; letter-spacing:.06em; }
.landing-footer { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; padding:46px clamp(24px,7vw,110px); color:#a8b5bf; background:#051421; }.landing-footer .landing-brand { color:#f8f0e2; }.landing-footer>p { margin:0; text-align:right; font-size:9px; }.landing-footer nav { display:flex; gap:25px; font-size:8px; font-weight:800; }.landing-footer nav a:hover { color:#efb52d; }.landing-footer>small { text-align:right; color:#677988; font-size:7px; }
@media (max-width:1000px) { .landing-nav nav { display:none; }.landing-hero { grid-template-columns:1fr; }.hero-copy { max-width:760px; }.hero-course-preview { width:min(570px,90%); margin:20px auto 0; }.landing-course { grid-template-columns:1fr; }.landing-section-copy { position:static; }.seat-packages { grid-template-columns:repeat(2,1fr); }.landing-about { grid-template-columns:1fr; }.about-mark { min-height:360px; }.landing-footer { grid-template-columns:1fr; }.landing-footer>p,.landing-footer>small { text-align:left; } }
@media (max-width:1000px) { .module-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .landing-nav { height:72px; padding-inline:15px; }.landing-brand img { width:41px; height:41px; }.landing-brand strong { font-size:12px; }.landing-actions { gap:12px; }.landing-login { display:none; }.landing-join { padding:10px 13px; }.landing-hero { min-height:0; padding:65px 20px 85px; }.hero-copy h1 { font-size:42px; }.hero-copy>p { font-size:13px; }.hero-proof { gap:14px; }.hero-proof span { padding:0 12px; }.hero-course-preview { width:100%; }.preview-card { padding:20px; transform:none; }.preview-scene { height:145px; }.preview-card h2 { font-size:20px; }.preview-points { right:5px; bottom:-48px; }.landing-trust { flex-wrap:wrap; gap:12px 18px; padding:20px; }.landing-course,.module-roadmap,.landing-pricing,.landing-experience,.landing-about { padding:82px 20px; }.module-grid { grid-template-columns:1fr; }.module-grid article { min-height:0; }.module-roadmap>footer { grid-template-columns:1fr; }.seat-packages { grid-template-columns:1fr; }.seat-packages article { min-height:335px; }.landing-pricing>footer { grid-template-columns:1fr; }.experience-heading { display:block; }.experience-heading h2 { margin-top:17px; }.experience-steps { grid-template-columns:1fr; }.experience-steps article { min-height:270px; }.step-icon { margin:35px 0 25px; }.about-mark { min-height:300px; }.landing-final { padding:85px 20px; }.landing-footer nav { flex-wrap:wrap; } }

/* Professional learning-hub treatment */
.landing-primary { border:1px solid #d39d24; box-shadow:0 10px 24px rgba(0,0,0,.16); transition:transform .18s,box-shadow .18s; }.landing-primary:hover { transform:translateY(-1px); box-shadow:0 13px 28px rgba(0,0,0,.2); }
.preview-card,.preview-points { transform:none; }.preview-star { width:58px; height:58px; display:grid; place-items:center; top:28px; border:1px solid rgba(239,181,45,.45); border-radius:12px; color:#efc66c; background:rgba(7,27,46,.75); font-size:15px; font-weight:900; letter-spacing:.08em; animation:none; }.preview-points>span { border:1px solid #dfb048; background:transparent; color:#efc66c; font-size:9px; font-weight:900; letter-spacing:.08em; }
.hub-title span,.hub-title strong { display:block; }.hub-title span { color:#8a98a6; font-size:7px; font-weight:900; letter-spacing:.16em; }.hub-title strong { margin-top:3px; color:#22374a; font-size:11px; }
.care-score { min-width:125px; }.care-score>span { width:34px; height:34px; display:grid; place-items:center; border:1px solid #d5a63b; border-radius:7px; color:#9a7114; background:#fff8e7; font-size:8px; font-weight:900; letter-spacing:.06em; animation:none; }.care-score strong { font-size:14px; }.care-score small { font-size:6px; }
.learning-path { width:min(920px,100%); min-height:0; display:grid; gap:12px; margin:28px auto 55px; padding:0; }.learning-path::before { display:none; }
.path-stop,.path-stop.stop-0,.path-stop.stop-1,.path-stop.stop-2 { min-height:94px; display:grid; grid-template-columns:74px 1fr; align-items:center; justify-content:stretch; padding:0; overflow:hidden; border:1px solid #dbe2e8; border-radius:12px; background:white; box-shadow:0 5px 16px rgba(31,53,74,.04); }
.path-stop.current { border-color:#c99a32; box-shadow:0 0 0 3px rgba(201,154,50,.11),0 8px 22px rgba(31,53,74,.06); }.path-stop.done { border-color:#b8d8cc; }
.path-stop>button,.path-stop.current>button,.path-stop.done>button { width:74px; height:100%; min-height:94px; border:0; border-right:1px solid #dbe2e8; border-radius:0; color:#6f7f8e; background:#f2f5f7; box-shadow:none; animation:none; cursor:not-allowed; }.path-stop.current>button { color:#17283b; border-right-color:#d7ac4d; background:#f0bd45; cursor:pointer; }.path-stop.done>button { color:#0b6849; border-right-color:#c4ded5; background:#e8f5f0; cursor:pointer; }
.path-stop>button span { width:auto; height:auto; border:0; border-radius:0; color:inherit; font-size:15px; font-weight:900; letter-spacing:.06em; }
.path-popover,.stop-0 .path-popover,.stop-1 .path-popover,.stop-2 .path-popover { width:auto; position:static; left:auto; right:auto; top:auto; padding:18px 22px; border:0; border-radius:0; opacity:1; background:transparent; box-shadow:none; pointer-events:auto; transform:none; }.path-popover small { color:#83909e; }.path-popover strong { margin-top:7px; color:#24384a; font-size:14px; }.path-popover p { margin-top:6px; }
.path-finish { width:100%; min-height:74px; position:static; left:auto; display:flex; flex-direction:row; gap:15px; align-items:center; justify-content:center; border:1px dashed #c9d2da; border-radius:12px; color:#8a97a4; background:#f7f9fa; transform:none; }.path-finish>span { width:32px; height:32px; display:grid; place-items:center; border:1px solid #cbd4dc; border-radius:7px; font-size:12px; }.path-finish.unlocked { border-style:solid; border-color:#b8d8cc; color:#0b6849; background:#eaf6f1; }
.path-content { width:min(1060px,calc(100% - 40px)); }.unit-banner { border-radius:12px; box-shadow:0 10px 28px rgba(5,28,47,.14); }.unit-banner>div:last-child { border-width:3px; }
.mini-node i { border-radius:7px; box-shadow:none; }.mini-node.active i { animation:none; }.mini-node span strong { font-weight:750; }
.lesson-progress-bar { box-shadow:0 4px 16px rgba(31,53,74,.04); }.lesson-progress-bar .lesson-meter { height:7px; }
.hospitality-animation { border-radius:16px; box-shadow:0 18px 40px rgba(6,20,38,.16); }.scene-star { width:70px; height:70px; display:grid; place-items:center; inset:auto; top:50%; left:50%; color:#f2c76f; border:1px solid rgba(242,199,111,.45); border-radius:14px; font-size:16px; letter-spacing:.08em; animation:none; transform:translate(-50%,-50%); }.scene-tray span { font-size:10px; font-weight:900; letter-spacing:.08em; }
.answer-grid button { min-height:64px; border-width:1px; border-bottom-width:1px; border-radius:9px; box-shadow:0 3px 9px rgba(31,53,74,.03); }.answer-grid button:hover { transform:none; border-color:#96a8b7; box-shadow:0 5px 13px rgba(31,53,74,.07); }
.activity-back,.activity-next { min-height:46px; border-radius:7px; letter-spacing:.08em; }.activity-back { border-width:1px; }.activity-next { border-bottom-width:0; box-shadow:0 5px 13px rgba(11,109,74,.15); }
.completion-seal { width:250px; display:flex; align-items:center; gap:14px; margin:0 auto 30px; padding:14px 17px; border:1px solid #a9d8c7; border-radius:10px; color:#0c6e4d; background:#edf8f4; text-align:left; }.completion-seal span { width:39px; height:39px; display:grid; place-items:center; border-radius:8px; color:white; background:#17885f; font-size:20px; }.completion-seal small { font-size:8px; font-weight:900; letter-spacing:.14em; }.reward-row { border-radius:9px; }
.academy-loading img { animation:none; }
@media (max-width:700px) { .hub-title span { display:none; }.hub-title strong { font-size:10px; }.path-content { width:calc(100% - 24px); }.learning-path { min-height:0; }.path-stop,.path-stop.stop-0,.path-stop.stop-1,.path-stop.stop-2 { grid-template-columns:58px 1fr; min-height:88px; }.path-stop>button,.path-stop.current>button,.path-stop.done>button { width:58px; min-height:88px; }.path-popover,.stop-0 .path-popover,.stop-1 .path-popover,.stop-2 .path-popover { width:auto; padding:15px; }.path-popover strong { font-size:12px; }.path-popover p { font-size:8px; } }

/* Five-session Foundations completion regimen */
.regimen-summary { display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; overflow:hidden; border:1px solid #dce3e8; border-radius:10px; background:white; }.regimen-summary>div { display:flex; align-items:baseline; gap:9px; padding:15px 19px; border-right:1px solid #e2e7eb; }.regimen-summary>div:last-child { border:0; }.regimen-summary strong { color:#193247; font-size:18px; }.regimen-summary span { color:#778695; font-size:8px; font-weight:800; letter-spacing:.04em; }
.completion-plan { margin-top:34px; overflow:hidden; border:1px solid #d8e0e6; border-radius:13px; background:white; box-shadow:0 8px 25px rgba(31,53,74,.05); }.completion-plan>header { display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:end; padding:32px 34px 28px; border-bottom:1px solid #e0e6ea; background:linear-gradient(135deg,#f8fafb,#f2f5f7); }.completion-plan h2 { margin:5px 0 0; color:#1b3043; font-size:25px; letter-spacing:-.025em; }.completion-plan>header>p { margin:0; color:#647585; font-size:10px; line-height:1.7; }
.completion-standard { display:flex; flex-wrap:wrap; gap:10px 22px; padding:16px 34px; border-bottom:1px solid #e4e9ed; color:#667685; background:#fbfcfc; font-size:8px; }.completion-standard strong { color:#23394c; letter-spacing:.06em; text-transform:uppercase; }.completion-standard span::before { content:"✓"; margin-right:7px; color:#16835d; font-weight:900; }
.session-list { padding:0 34px; }.session-list article { display:grid; grid-template-columns:48px minmax(170px,.7fr) minmax(220px,1.3fr) 70px; gap:20px; align-items:center; min-height:105px; border-bottom:1px solid #e3e8ec; }.session-list article:last-child { border:0; }.session-status { width:38px; height:38px; display:grid; place-items:center; border:1px solid #cbd4dc; border-radius:8px; color:#7b8996; background:#f5f7f8; font-size:10px; font-weight:900; }.session-list article.complete .session-status { color:#0d6c4d; border-color:#b7d8cb; background:#eaf6f1; }.session-list article.current .session-status { color:#17283b; border-color:#d4a43b; background:#efbf50; }.session-list article>div:nth-child(2)>span,.session-application small { color:#8693a0; font-size:7px; font-weight:900; letter-spacing:.12em; }.session-list h3 { margin:5px 0; color:#22384a; font-size:13px; }.session-list article>div:nth-child(2)>p { margin:0; color:#758392; font-size:8px; }.session-application { padding-left:20px; border-left:1px solid #e2e7eb; }.session-application p { margin:5px 0 0; color:#607182; font-size:9px; line-height:1.55; }.session-list article>strong { justify-self:end; color:#929daa; font-size:8px; letter-spacing:.06em; text-transform:uppercase; }.session-list article.current>strong { color:#996f12; }.session-list article.complete>strong { color:#0d7653; }
.completion-plan>footer { display:grid; grid-template-columns:repeat(3,1fr) auto; gap:24px; align-items:center; padding:22px 34px; color:#d9e1e7; background:#0d2a40; }.completion-plan>footer div strong,.completion-plan>footer div span { display:block; }.completion-plan>footer div strong { color:#8ea0ae; font-size:7px; letter-spacing:.1em; text-transform:uppercase; }.completion-plan>footer div span { margin-top:5px; color:#edf2f5; font-size:9px; }.completion-plan>footer button { min-height:42px; padding:0 18px; border:1px solid #d3a33a; border-radius:7px; color:#16283a; background:#efbd4c; font-size:9px; font-weight:900; cursor:pointer; }
@media (max-width:900px) { .completion-plan>header { grid-template-columns:1fr; gap:14px; }.session-list article { grid-template-columns:44px 1fr 75px; padding:17px 0; }.session-application { grid-column:2/4; padding:10px 0 0; border-left:0; border-top:1px solid #edf0f2; }.completion-plan>footer { grid-template-columns:repeat(3,1fr); }.completion-plan>footer button { grid-column:1/4; } }
@media (max-width:700px) { .regimen-summary { grid-template-columns:1fr; }.regimen-summary>div { border-right:0; border-bottom:1px solid #e2e7eb; }.completion-plan>header,.session-list,.completion-standard,.completion-plan>footer { padding-left:18px; padding-right:18px; }.completion-plan>header { padding-top:24px; }.completion-standard { display:grid; }.session-list article { grid-template-columns:38px 1fr; gap:12px; }.session-list article>strong { grid-column:2; justify-self:start; }.session-application { grid-column:2; }.completion-plan>footer { grid-template-columns:1fr; }.completion-plan>footer button { grid-column:1; } }

/* Unified Manager's Table brand language */
.academy-landing { color:#111a2c; background:#eef2f6; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.landing-nav,.landing-hero,.landing-experience,.landing-final,.landing-footer,.login-story,.main-sidebar,.lesson-rail {
  background-color:#061426;
  background-image:linear-gradient(rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(180deg,#07172b,#04101f);
  background-size:42px 42px,42px 42px,auto;
}
.landing-nav { border-bottom-color:rgba(255,255,255,.09); }
.landing-brand strong,.landing-section-copy h2,.experience-heading h2,.landing-about h2,.landing-final h2,.learning-outcomes h3,.preview-card h2 { font-family:inherit; font-weight:850; letter-spacing:-.04em; }
.landing-course,.landing-about,.login-panel,.workspace,.path-workspace,.immersive-stage { background-color:#eef2f6; background-image:linear-gradient(rgba(18,55,86,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(18,55,86,.025) 1px,transparent 1px); background-size:64px 64px; }
.landing-trust { color:#607083; background:#fff; border-bottom:1px solid #dfe4ec; box-shadow:0 5px 18px rgba(4,14,33,.035); }
.learning-outcomes { display:grid; gap:12px; }
.learning-outcomes article,.landing-about>div:last-child { border:1px solid #dfe4ec; border-radius:12px; background:#fff; box-shadow:0 12px 34px rgba(4,14,33,.055); }
.learning-outcomes article { padding:25px 27px; }
.learning-outcomes article:last-child { border-bottom:1px solid #dfe4ec; }
.landing-about>div:last-child { padding:clamp(28px,4vw,52px); }
.about-mark { border-radius:18px; }
.experience-steps article { border-radius:12px; box-shadow:0 12px 34px rgba(0,0,0,.1); }
.landing-final>img { width:112px; height:112px; display:block; margin:0 auto 22px; border-radius:12px; object-fit:cover; box-shadow:0 12px 30px rgba(0,0,0,.22); }
.landing-primary,.landing-join,.primary-button,.login-button { border-radius:9px; }
.login-card,.lesson-card,.course-card,.progress-panel,.completion-plan,.unit-banner { border-color:#dfe4ec; border-radius:12px; box-shadow:0 12px 34px rgba(4,14,33,.055); }
.login-panel { background-color:#eef2f6; }
.login-card input { border-color:#dfe4ec; border-radius:9px; }
.workspace-bar,.path-header,.course-topbar,.lesson-progress-bar { border-color:#dfe4ec; }

.academy-access-shell { min-height:100vh; display:grid; place-items:center; padding:28px; color:#111a2c; background-color:#061426; background-image:linear-gradient(rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(180deg,#07172b,#04101f); background-size:42px 42px,42px 42px,auto; }
.academy-access-shell>section { width:min(560px,100%); padding:clamp(30px,6vw,58px); text-align:center; border:1px solid #dfe4ec; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.academy-access-shell img { width:108px; height:108px; display:block; margin:0 auto 22px; border-radius:12px; object-fit:cover; }
.academy-access-shell section>span { color:#9a7114; font-size:8px; font-weight:900; letter-spacing:.18em; }
.academy-access-shell h1 { margin:15px 0 12px; color:#15283a; font-size:clamp(28px,5vw,40px); letter-spacing:-.04em; }
.academy-access-shell p { max-width:430px; margin:0 auto; color:#687687; font-size:12px; line-height:1.7; }
.academy-access-shell section>div { display:flex; justify-content:center; gap:10px; margin-top:26px; }
.academy-access-shell a,.academy-access-shell button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; padding:0 17px; border:1px solid #dfe4ec; border-radius:9px; color:#20384c; background:#f7f9fb; font-size:9px; font-weight:850; text-decoration:none; cursor:pointer; }
  .academy-access-shell a:first-child { color:#17283b; border-color:#d3a33a; background:#efbd4c; }
  .academy-access-shell button { margin-top:14px; border:0; color:#758392; background:transparent; }
  .academy-access-shell .password-card { text-align:left; }
  .password-card>img { margin-left:auto; margin-right:auto; }
  .password-card>span,.password-card>h1,.password-card>p { display:block; text-align:center; }
  .password-form { margin-top:24px; }
  .password-form>p { margin-bottom:22px; color:#687687; font-size:12px; line-height:1.7; text-align:left; }
  .password-form label { display:block; margin:16px 0 7px; color:#20384c; font-size:10px; font-weight:850; }
  .password-form input { width:100%; height:46px; padding:0 13px; border:1px solid #dfe4ec; border-radius:9px; color:#15283a; background:#fff; outline:none; }
  .password-form input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,154,75,.12); }
  .password-form .login-button { display:flex; width:100%; color:#17283b; border:1px solid #d3a33a; background:#efbd4c; }
  .password-form .auth-back-link { display:block; min-height:0; margin-top:20px; padding:0; border:0; color:#687687; background:transparent; text-align:center; }
@media (max-width:700px) { .learning-outcomes article { grid-template-columns:42px 1fr; gap:15px; padding:22px 18px; }.landing-about>div:last-child { padding:26px 20px; }.academy-access-shell section>div { flex-direction:column; }.academy-access-shell a { width:100%; } }

/* Foundations assessment, outcomes, and completion credential */
.course-outcomes { margin-top:34px; overflow:hidden; border:1px solid #d8e0e6; border-radius:13px; background:white; box-shadow:0 8px 25px rgba(31,53,74,.05); }
.course-outcomes>header { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:31px 34px 27px; border-bottom:1px solid #e1e6ea; background:linear-gradient(135deg,#f8fafb,#f2f5f7); }
.course-outcomes h2 { margin:6px 0 0; color:#1b3043; font-size:25px; letter-spacing:-.025em; }.course-outcomes>header>p { margin:0; color:#647585; font-size:10px; line-height:1.7; }
.course-outcomes>div { display:grid; grid-template-columns:repeat(2,1fr); }.course-outcomes article { min-height:86px; display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:center; padding:19px 27px; border-right:1px solid #e5e9ed; border-bottom:1px solid #e5e9ed; }.course-outcomes article:nth-child(even) { border-right:0; }.course-outcomes article:nth-last-child(-n+2) { border-bottom:0; }.course-outcomes article>span { width:32px; height:32px; display:grid; place-items:center; border-radius:7px; color:#946b10; background:#fff5d9; font-size:8px; font-weight:900; }.course-outcomes article p { margin:0; color:#455a6c; font-size:10px; line-height:1.55; }
.assessment-brief { padding:clamp(32px,6vw,62px); }.assessment-brief>h1 { max-width:680px; }.assessment-brief>p { max-width:760px; color:#647585; line-height:1.75; }.assessment-standards { display:grid; grid-template-columns:repeat(3,1fr); margin:30px 0; overflow:hidden; border:1px solid #dce3e8; border-radius:10px; }.assessment-standards div { padding:19px; text-align:center; border-right:1px solid #e2e7eb; }.assessment-standards div:last-child { border:0; }.assessment-standards strong,.assessment-standards span { display:block; }.assessment-standards strong { color:#173247; font-size:25px; }.assessment-standards span { margin-top:4px; color:#778695; font-size:8px; font-weight:800; }.assessment-brief ul { display:grid; grid-template-columns:repeat(2,1fr); gap:9px 24px; margin:0; padding:0; list-style:none; }.assessment-brief li { position:relative; padding:12px 12px 12px 35px; border:1px solid #e1e6ea; border-radius:8px; color:#526577; font-size:9px; line-height:1.55; }.assessment-brief li::before { content:"✓"; position:absolute; left:13px; color:#15805a; font-weight:900; }
.final-assessment { width:min(980px,calc(100% - 24px)); padding:0; }.final-assessment>header { padding:34px 38px 28px; border-bottom:1px solid #e1e6ea; }.final-assessment>header h1 { margin:9px 0 8px; }.final-assessment>header p { margin:0; color:#687889; font-size:11px; }.assessment-list>section { padding:29px 38px; border-bottom:1px solid #e2e7eb; }.assessment-list>section.passed { background:#fbfefc; }.assessment-list>section.missed { background:#fffaf3; }.assessment-question { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:start; }.assessment-question>span { width:34px; height:34px; display:grid; place-items:center; border-radius:7px; color:#6d7c8b; background:#eef2f5; font-size:8px; font-weight:900; }.assessment-question small { color:#9a7114; font-size:7px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.assessment-question h2 { margin:5px 0 15px; color:#1e3346; font-size:17px; line-height:1.35; letter-spacing:-.02em; }.assessment-options { display:grid; gap:8px; padding-left:56px; }.assessment-options button { min-height:48px; display:grid; grid-template-columns:30px 1fr; gap:12px; align-items:center; padding:9px 13px; text-align:left; border:1px solid #dce3e9; border-radius:8px; color:#4d6071; background:#fff; font-size:9px; line-height:1.5; cursor:pointer; }.assessment-options button i { width:26px; height:26px; display:grid; place-items:center; border-radius:6px; color:#6c7a88; background:#f0f3f5; font-style:normal; font-weight:900; }.assessment-options button.selected { border-color:#c89b38; box-shadow:0 0 0 2px rgba(200,155,56,.1); }.assessment-options button.correct { border-color:#68b796; color:#0f694c; background:#edf8f3; }.assessment-options button.correct i { color:white; background:#16865f; }.assessment-options button:disabled { cursor:default; opacity:1; }.assessment-explanation { margin:13px 0 0 56px; padding:11px 13px; border-left:3px solid #d0a343; color:#617181; background:#fff8e9; font-size:9px; line-height:1.55; }.passed .assessment-explanation { border-color:#2b9b73; background:#edf8f3; }.assessment-result { display:grid; grid-template-columns:120px 1fr; gap:22px; align-items:center; margin:28px 38px 36px; padding:22px; border:1px solid; border-radius:10px; }.assessment-result>strong { font-size:30px; text-align:center; }.assessment-result h2 { margin:0 0 5px; font-size:17px; }.assessment-result p { margin:0; font-size:9px; line-height:1.55; }.assessment-result.pass { color:#0d674a; border-color:#a9d7c6; background:#edf8f4; }.assessment-result.review { color:#7e5813; border-color:#e0c889; background:#fff8e7; }
.path-finish { cursor:not-allowed; }.path-finish.unlocked { cursor:pointer; }.path-finish.unlocked:hover { transform:translateY(-1px); box-shadow:0 7px 18px rgba(21,151,104,.1); }
.certificate-shell { min-height:100vh; padding:28px; color:#111a2c; background-color:#061426; background-image:linear-gradient(rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(180deg,#07172b,#04101f); background-size:42px 42px,42px 42px,auto; }.certificate-actions { width:min(980px,100%); display:flex; justify-content:space-between; margin:0 auto 18px; }.certificate-actions button { min-height:40px; padding:0 15px; border:1px solid rgba(255,255,255,.18); border-radius:8px; color:#dce5ed; background:rgba(255,255,255,.06); font-size:9px; font-weight:850; cursor:pointer; }.certificate-actions button:last-child { color:#17283b; border-color:#d3a33a; background:#efbd4c; }.course-certificate { width:min(980px,100%); min-height:690px; display:flex; flex-direction:column; align-items:center; margin:auto; padding:48px clamp(28px,7vw,78px); position:relative; overflow:hidden; text-align:center; border:10px solid #fff; outline:1px solid #c9a54e; outline-offset:-22px; background:#fbf8f0; box-shadow:0 28px 80px rgba(0,0,0,.35); }.course-certificate::before,.course-certificate::after { content:""; width:250px; height:250px; position:absolute; border:1px solid rgba(194,153,58,.18); border-radius:50%; }.course-certificate::before { top:-150px; left:-110px; }.course-certificate::after { right:-110px; bottom:-150px; }.course-certificate>img { width:92px; height:92px; object-fit:contain; }.certificate-kicker { margin-top:18px; color:#9b7218; font-size:8px; font-weight:900; letter-spacing:.22em; }.course-certificate h1 { margin:11px 0 28px; color:#173047; font-size:clamp(34px,5vw,54px); letter-spacing:-.04em; }.course-certificate>p { margin:7px 0; color:#667482; font-size:11px; }.course-certificate h2 { margin:5px 0 9px; padding:0 30px 8px; border-bottom:1px solid #caa64d; color:#142d44; font-size:clamp(28px,4vw,43px); }.course-certificate h3 { margin:8px 0 27px; color:#1b3850; font-size:22px; }.certificate-standard { display:grid; grid-template-columns:repeat(3,1fr); width:min(650px,100%); border:1px solid #ddd7c9; }.certificate-standard span { padding:15px; color:#77828d; font-size:7px; border-right:1px solid #ddd7c9; }.certificate-standard span:last-child { border:0; }.certificate-standard strong { display:block; margin-bottom:4px; color:#173047; font-size:14px; }.certificate-copy { max-width:650px; line-height:1.7!important; }.course-certificate>footer { width:100%; display:grid; grid-template-columns:1fr 74px 1fr; gap:25px; align-items:end; margin-top:auto; padding-top:32px; }.course-certificate>footer>div:not(.certificate-seal) { padding-top:10px; border-top:1px solid #9ca6ae; }.course-certificate>footer strong,.course-certificate>footer span { display:block; }.course-certificate>footer strong { color:#213b50; font-size:10px; }.course-certificate>footer span { margin-top:4px; color:#7e8993; font-size:7px; }.certificate-seal { width:68px; height:68px; display:grid; place-items:center; border:2px solid #bd9131; border-radius:50%; color:#9a7018; font-size:13px; font-weight:900; box-shadow:inset 0 0 0 4px #fbf8f0,inset 0 0 0 5px #d9bd79; }
@media (max-width:760px) { .course-outcomes>header { grid-template-columns:1fr; gap:12px; }.course-outcomes>div { grid-template-columns:1fr; }.course-outcomes article,.course-outcomes article:nth-child(even),.course-outcomes article:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid #e5e9ed; }.course-outcomes article:last-child { border-bottom:0; }.assessment-brief ul { grid-template-columns:1fr; }.assessment-standards { grid-template-columns:1fr; }.assessment-standards div { border-right:0; border-bottom:1px solid #e2e7eb; }.final-assessment>header,.assessment-list>section { padding-left:18px; padding-right:18px; }.assessment-options { padding-left:0; }.assessment-explanation { margin-left:0; }.assessment-result { grid-template-columns:1fr; margin-inline:18px; text-align:center; }.certificate-shell { padding:12px; }.course-certificate { min-height:720px; padding:34px 24px; outline-offset:-17px; }.certificate-standard { grid-template-columns:1fr; }.certificate-standard span { border-right:0; border-bottom:1px solid #ddd7c9; }.course-certificate>footer { grid-template-columns:1fr; }.certificate-seal { grid-row:1; margin:auto; }.certificate-actions { gap:8px; }.certificate-actions button { flex:1; } }
@media print { body { background:white!important; }.certificate-shell { min-height:0; padding:0; background:white; }.certificate-actions { display:none; }.course-certificate { width:100%; min-height:98vh; box-shadow:none; break-inside:avoid; } }

/* Public certificate verification */
.certificate-actions a { min-height:40px; display:flex; align-items:center; padding:0 15px; border:1px solid rgba(255,255,255,.18); border-radius:8px; color:#dce5ed; background:rgba(255,255,255,.06); font-size:9px; font-weight:850; }.certificate-number { margin:22px 0 0; padding:13px 23px; border:1px solid #d8c58f; background:#fffdf6; }.certificate-number span,.certificate-number strong,.certificate-number small { display:block; }.certificate-number span { color:#98701c; font-size:7px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.certificate-number strong { margin:6px 0; color:#1b3850; font-size:12px; letter-spacing:.08em; }.certificate-number small { color:#78838d; font-size:7px; }
.verification-page { min-height:100vh; color:#17283b; background-color:#eef2f6; background-image:linear-gradient(rgba(18,55,86,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(18,55,86,.025) 1px,transparent 1px); background-size:64px 64px; }.verification-hero { padding:82px clamp(24px,9vw,150px) 70px; color:#f8f0e2; background:linear-gradient(135deg,#07172b,#0b2a3a); }.verification-hero>span { color:#e9b64b; font-size:8px; font-weight:900; letter-spacing:.18em; }.verification-hero h1 { margin:14px 0 15px; font-size:clamp(44px,7vw,76px); letter-spacing:-.055em; }.verification-hero>p { max-width:660px; color:#bdc9d2; font-size:13px; line-height:1.7; }.verification-hero form { max-width:820px; margin-top:34px; }.verification-hero label { display:block; margin-bottom:8px; color:#d9e2e9; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.verification-hero form>div { display:grid; grid-template-columns:1fr auto; gap:10px; }.verification-hero input { min-width:0; height:52px; padding:0 16px; border:1px solid rgba(255,255,255,.2); border-radius:8px; color:#17283b; background:#fff; font:inherit; font-size:12px; letter-spacing:.05em; outline:none; text-transform:uppercase; }.verification-hero input:focus { border-color:#e8b647; box-shadow:0 0 0 3px rgba(232,182,71,.18); }.verification-hero button { min-height:52px; padding:0 23px; border:1px solid #c89423; border-radius:8px; color:#17283b; background:#efbd4c; font-size:9px; font-weight:900; cursor:pointer; }.verification-hero button:disabled { opacity:.5; cursor:not-allowed; }.verification-result { width:min(980px,calc(100% - 48px)); min-height:330px; display:grid; place-items:center; margin:-24px auto 50px; position:relative; }.verification-result article,.verification-empty { width:100%; padding:42px; border:1px solid #d8e0e6; border-radius:13px; background:#fff; box-shadow:0 15px 45px rgba(4,14,33,.1); }.verification-result article { display:grid; grid-template-columns:75px 1fr; gap:28px; }.verification-mark { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; font-size:25px; font-weight:900; }.verification-result article.valid .verification-mark { color:#08734f; background:#e4f5ee; }.verification-result article.invalid .verification-mark { color:#9b4942; background:#fbecea; }.verification-result article span { color:#9a741d; font-size:8px; font-weight:900; letter-spacing:.16em; }.verification-result article h2 { margin:9px 0 8px; font-size:30px; letter-spacing:-.04em; }.verification-result article p { color:#617486; font-size:11px; line-height:1.7; }.verification-result article a { color:#087856; font-weight:850; }.verification-result dl { display:grid; grid-template-columns:repeat(3,1fr); margin:28px 0 0; border:1px solid #e0e6ea; }.verification-result dl>div { padding:15px; border-right:1px solid #e0e6ea; }.verification-result dl>div:last-child { border:0; }.verification-result dt { color:#81909c; font-size:7px; text-transform:uppercase; }.verification-result dd { margin:6px 0 0; color:#2a4356; font-size:10px; font-weight:850; }.verification-empty { text-align:center; }.verification-empty .certificate-seal { margin:0 auto 18px; }.verification-empty strong { display:block; color:#294256; }.verification-empty p { max-width:650px; margin:10px auto 0; color:#718291; font-size:10px; line-height:1.7; }.verification-footer { display:flex; justify-content:center; gap:20px; padding:0 24px 60px; color:#708190; font-size:9px; }.verification-footer a { color:#087856; font-weight:900; }
@media (max-width:700px) { .verification-hero { padding:55px 18px 60px; }.verification-hero form>div { grid-template-columns:1fr; }.verification-result { width:calc(100% - 28px); }.verification-result article,.verification-empty { padding:27px 21px; }.verification-result article { grid-template-columns:1fr; }.verification-result dl { grid-template-columns:1fr; }.verification-result dl>div { border-right:0; border-bottom:1px solid #e0e6ea; }.verification-footer { align-items:center; flex-direction:column; text-align:center; } }

/* Academy sales and learner policies */
.purchase-disclosure { max-width:1320px; display:grid; grid-template-columns:auto 1fr auto; gap:18px 24px; align-items:center; margin:12px auto 0; padding:17px 23px; border:1px solid #d7dfE7; border-radius:10px; color:#5f7080; background:#fffaf0; font-size:9px; line-height:1.55; }
.purchase-disclosure strong { color:#20384c; }.purchase-disclosure a { color:#0c7956; font-weight:900; }
.policy-page { min-height:100vh; color:#17283b; background-color:#eef2f6; background-image:linear-gradient(rgba(18,55,86,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(18,55,86,.025) 1px,transparent 1px); background-size:64px 64px; }
.policy-nav { height:88px; display:flex; align-items:center; gap:30px; padding:0 clamp(24px,6vw,92px); color:#f8f0e2; background-color:#061426; background-image:linear-gradient(rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(180deg,#07172b,#04101f); background-size:42px 42px,42px 42px,auto; }
.policy-nav>a:last-child { margin-left:auto; color:#efc66c; font-size:9px; font-weight:900; }
.policy-hero { padding:90px clamp(24px,9vw,150px) 78px; color:#f8f0e2; background:linear-gradient(135deg,#07172b,#0b2a3a); }
.policy-hero h1 { max-width:760px; margin:18px 0 20px; font-size:clamp(46px,7vw,78px); line-height:1; letter-spacing:-.055em; }.policy-hero p { max-width:650px; color:#bdc9d2; font-size:15px; line-height:1.75; }.policy-hero small { display:block; margin-top:28px; color:#90a1af; font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.policy-index { width:min(1120px,calc(100% - 48px)); display:grid; grid-template-columns:repeat(5,1fr); margin:-25px auto 55px; position:relative; z-index:2; overflow:hidden; border:1px solid #dfe4ec; border-radius:12px; background:#fff; box-shadow:0 16px 40px rgba(4,14,33,.1); }.policy-index a { min-height:92px; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:16px; color:#31485b; border-right:1px solid #e4e8ec; font-size:9px; font-weight:850; }.policy-index a:last-child { border:0; }.policy-index span { color:#b18322; font-size:8px; letter-spacing:.12em; }
.policy-list { width:min(980px,calc(100% - 48px)); margin:0 auto 70px; }.policy-list article { display:grid; grid-template-columns:300px 1fr; gap:65px; padding:44px 0; scroll-margin-top:30px; border-top:1px solid #ccd6de; }.policy-list article:last-child { border-bottom:1px solid #ccd6de; }.policy-list article>div:first-child>span { color:#b18322; font-size:9px; font-weight:900; letter-spacing:.15em; }.policy-list h2 { margin:12px 0 0; color:#183047; font-size:27px; letter-spacing:-.035em; }.policy-list article>div:last-child { color:#586b7c; font-size:12px; line-height:1.8; }.policy-list article>div:last-child p:first-child { margin-top:0; }.policy-list article>div:last-child p:last-child { margin-bottom:0; }.policy-list article strong { color:#243e53; }.policy-list article a { color:#0c7956; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.policy-contact { width:min(980px,calc(100% - 48px)); margin:0 auto 90px; padding:42px; border:1px solid #d8e0e6; border-radius:13px; background:#fff; box-shadow:0 12px 34px rgba(4,14,33,.06); }.policy-contact h2 { margin:12px 0 9px; font-size:29px; letter-spacing:-.04em; }.policy-contact p { max-width:660px; color:#627485; font-size:11px; line-height:1.7; }.policy-contact a { display:inline-block; margin-top:14px; color:#0c7956; font-size:10px; font-weight:900; }.policy-footer { grid-template-columns:auto 1fr auto auto; }
@media (max-width:850px) { .purchase-disclosure { grid-template-columns:1fr; }.policy-index { grid-template-columns:1fr; }.policy-index a { min-height:58px; border-right:0; border-bottom:1px solid #e4e8ec; }.policy-list article { grid-template-columns:1fr; gap:20px; }.policy-footer { grid-template-columns:1fr; } }
@media (max-width:600px) { .policy-nav { height:74px; }.policy-nav .landing-brand img { width:40px; height:40px; }.policy-hero { padding-top:64px; }.policy-index,.policy-list,.policy-contact { width:calc(100% - 28px); }.policy-list article { padding:34px 4px; }.policy-contact { padding:28px 22px; } }
.path-builder { min-height:100vh; color:#17283b; background:#edf1f4; }.path-builder-hero { padding:78px clamp(24px,8vw,120px) 62px; color:#f7f0e4; background:linear-gradient(135deg,#07172b,#0b2a3a); text-align:center; }.path-builder-hero h1 { margin:13px 0; font-size:clamp(47px,7vw,82px); line-height:.95; letter-spacing:-.055em; }.path-builder-hero p { max-width:740px; margin:0 auto; color:#b8c6d0; font-size:12px; line-height:1.75; }
.bundle-switcher { width:min(980px,calc(100% - 48px)); display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:-28px auto 55px; }.bundle-switcher button { min-height:145px; display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid #d6dfe5; border-radius:12px; color:#1d3548; background:#fff; box-shadow:0 14px 36px rgba(7,24,42,.09); cursor:pointer; }.bundle-switcher button.active { color:#f7f0e4; border-color:#d6a338; background:#0b273a; }.bundle-switcher span,.bundle-switcher small { font-size:8px; font-weight:900; letter-spacing:.11em; }.bundle-switcher span { color:#a67a1b; }.bundle-switcher button.active span { color:#efbd4c; }.bundle-switcher strong { margin:14px 0 7px; font-size:27px; }.bundle-switcher small { color:#71818e; }.bundle-switcher button.active small { color:#b9c6cf; }
.path-selection { width:min(1180px,calc(100% - 48px)); margin:0 auto; }.path-selection>header { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:20px; }.path-selection h2 { margin:8px 0 0; font-size:clamp(30px,4vw,45px); letter-spacing:-.045em; }.path-selection>header>strong { color:#966f17; font-size:15px; }.path-selection>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.path-selection>div>button { min-height:210px; display:grid; grid-template-columns:45px 1fr 35px; gap:16px; align-items:start; padding:24px; border:1px solid #d6dfe5; border-radius:12px; color:#20394c; background:#fff; text-align:left; cursor:pointer; }.path-selection>div>button.selected { border-color:#c99a32; background:#fff9e9; box-shadow:0 10px 28px rgba(21,44,61,.07); }.path-selection>div>button:disabled { cursor:default; }.path-selection>div>button:not(.selected):disabled { opacity:.48; }.path-selection button>span { color:#c09022; font-size:22px; font-weight:900; }.path-selection button small { color:#9c741c; font-size:7px; font-weight:950; letter-spacing:.13em; }.path-selection button h3 { margin:10px 0 8px; font-size:21px; letter-spacing:-.035em; }.path-selection button p { margin:0; color:#687a88; font-size:9px; line-height:1.7; }.path-selection button i { width:31px; height:31px; display:grid; place-items:center; border:1px solid #cbd5dc; border-radius:50%; color:#758591; font-style:normal; font-weight:900; }.path-selection button.selected i { color:#fff; border-color:#087856; background:#087856; }
.path-order-summary { width:min(1180px,calc(100% - 48px)); display:grid; grid-template-columns:1fr auto; gap:38px; align-items:center; margin:28px auto 0; padding:30px; border-radius:13px; color:#f7f0e4; background:#0a2437; }.path-order-summary h2 { margin:8px 0; font-size:29px; }.path-order-summary p { max-width:760px; margin:0; color:#b4c2cc; font-size:9px; line-height:1.7; }.path-order-summary>div:last-child { min-width:220px; text-align:right; }.path-order-summary>div:last-child>span { display:block; }.path-order-summary s { color:#82939f; font-size:15px; }.path-order-summary>div:last-child strong { margin-left:8px; color:#efbd4c; font-size:34px; }.path-order-summary>div:last-child small { display:block; color:#b7c4cd; font-size:8px; }.path-order-summary button { min-height:47px; width:100%; margin-top:15px; border:1px solid #d2a133; border-radius:8px; color:#17283b; background:#efbd4c; font:inherit; font-size:9px; font-weight:950; cursor:pointer; }.path-order-summary button:disabled { opacity:.45; cursor:not-allowed; }.path-builder-note { width:min(1180px,calc(100% - 48px)); margin:14px auto 70px; color:#6b7c89; font-size:8px; line-height:1.6; text-align:center; }
@media (max-width:760px) { .path-builder-hero { padding:60px 20px 55px; }.bundle-switcher { width:calc(100% - 28px); grid-template-columns:1fr; margin-top:-20px; }.bundle-switcher button { min-height:0; }.path-selection { width:calc(100% - 28px); }.path-selection>header { align-items:flex-start; flex-direction:column; }.path-selection>div { grid-template-columns:1fr; }.path-selection>div>button { min-height:0; grid-template-columns:35px 1fr 32px; gap:10px; padding:20px 16px; }.path-order-summary { width:calc(100% - 28px); grid-template-columns:1fr; gap:20px; padding:23px 20px; }.path-order-summary>div:last-child { min-width:0; text-align:left; }.path-builder-note { width:calc(100% - 28px); } }

/* Manager dashboard and employee reporting */
.manager-shell { min-height:100vh; display:grid; grid-template-columns:275px 1fr; color:#182b3d; background:#eef2f6; }
.manager-sidebar { min-height:100vh; display:flex; flex-direction:column; padding:24px 18px 18px; color:#e7edf2; background-color:#061426; background-image:linear-gradient(rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(118,151,199,.055) 1px,transparent 1px),linear-gradient(180deg,#07172b,#04101f); background-size:42px 42px,42px 42px,auto; }.manager-sidebar .landing-brand { margin:0 8px 26px; }.manager-org { padding:18px 15px; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.04); }.manager-org small,.manager-org strong { display:block; }.manager-org small { color:#d4a53d; font-size:7px; font-weight:900; letter-spacing:.15em; }.manager-org strong { margin-top:7px; font-size:12px; }.manager-sidebar nav { display:grid; gap:5px; margin-top:28px; }.manager-sidebar nav a,.manager-sidebar nav button { min-height:44px; display:flex; align-items:center; gap:12px; padding:0 13px; border:0; border-radius:8px; color:#aebbc6; background:transparent; font:inherit; font-size:9px; font-weight:800; text-align:left; cursor:pointer; }.manager-sidebar nav a.active { color:white; background:rgba(255,255,255,.09); }.manager-sidebar nav span { width:21px; color:#e7b94e; text-align:center; }.manager-profile { display:flex; align-items:center; gap:11px; margin-top:auto; padding:15px 10px 3px; border-top:1px solid rgba(255,255,255,.1); }.manager-profile>span { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:#17283b; background:#efbd4c; font-size:9px; font-weight:900; }.manager-profile strong,.manager-profile small { display:block; }.manager-profile strong { font-size:9px; }.manager-profile small { margin-top:3px; color:#8fa0ae; font-size:7px; }
.manager-workspace { min-width:0; }.manager-topbar { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,4vw,58px); border-bottom:1px solid #dbe2e7; background:#fff; }.manager-topbar span,.manager-topbar strong { display:block; }.manager-topbar span { color:#8c9aa7; font-size:7px; font-weight:900; letter-spacing:.14em; }.manager-topbar strong { margin-top:4px; font-size:13px; }.manager-topbar a { color:#0b7956; font-size:9px; font-weight:850; }.manager-dashboard { padding:45px clamp(24px,4vw,58px) 65px; }.manager-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; }.manager-heading h1 { margin:7px 0 8px; color:#182e42; font-size:clamp(35px,4vw,52px); letter-spacing:-.055em; }.manager-heading p { margin:0; color:#68798a; font-size:11px; }.manager-heading button { min-height:43px; padding:0 17px; border:1px solid #c89423; border-radius:8px; color:#17283b; background:#efbd4c; font-size:9px; font-weight:900; cursor:pointer; }.manager-heading button:disabled { opacity:.45; cursor:not-allowed; }
.manager-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:32px; }.manager-stats article { min-height:145px; padding:22px; border:1px solid #dbe2e7; border-radius:11px; background:#fff; box-shadow:0 9px 25px rgba(17,38,58,.045); }.manager-stats span,.manager-stats strong,.manager-stats small { display:block; }.manager-stats span { color:#8a711e; font-size:7px; font-weight:900; letter-spacing:.12em; }.manager-stats strong { margin:18px 0 7px; color:#1a3449; font-size:34px; letter-spacing:-.05em; }.manager-stats small { color:#7c8b98; font-size:8px; }
.report-panel { margin-top:25px; overflow:hidden; border:1px solid #d8e0e6; border-radius:12px; background:#fff; box-shadow:0 12px 32px rgba(17,38,58,.05); }.report-panel>header { display:flex; align-items:end; justify-content:space-between; gap:28px; padding:25px 27px; border-bottom:1px solid #e0e6ea; }.report-panel h2 { margin:6px 0 0; font-size:21px; letter-spacing:-.035em; }.report-controls { display:flex; gap:8px; }.report-controls input,.report-controls select { height:39px; padding:0 12px; border:1px solid #d5dde3; border-radius:7px; color:#344d60; background:#f9fbfc; font:inherit; font-size:8px; outline:none; }.report-controls input { width:210px; }.report-controls input:focus,.report-controls select:focus { border-color:#c99b33; box-shadow:0 0 0 3px rgba(201,155,51,.1); }.report-table-wrap { overflow-x:auto; }.report-panel table { width:100%; border-collapse:collapse; min-width:900px; }.report-panel th { padding:13px 18px; color:#81909c; background:#f8fafb; font-size:7px; letter-spacing:.09em; text-align:left; text-transform:uppercase; }.report-panel td { padding:17px 18px; border-top:1px solid #edf0f2; color:#5a6e7e; font-size:9px; vertical-align:middle; }.report-panel td:first-child strong,.report-panel td:first-child small { display:block; }.report-panel td:first-child strong { color:#243b4e; font-size:10px; }.report-panel td:first-child small { margin-top:4px; color:#8794a0; font-size:7px; }.report-status { display:inline-block; padding:6px 8px; border-radius:6px; font-size:7px; font-weight:900; }.report-status.completed { color:#0b714f; background:#e7f5ef; }.report-status.in_progress { color:#7c5912; background:#fff4d8; }.report-status.not_started { color:#536b7c; background:#edf2f5; }.report-status.not_enrolled { color:#9a4a45; background:#fbeceb; }.employee-progress { display:grid; grid-template-columns:90px auto; gap:4px 10px; align-items:center; }.employee-progress>div { height:6px; overflow:hidden; border-radius:3px; background:#e5eaee; }.employee-progress>div span { height:100%; display:block; background:#199a6d; }.employee-progress strong { color:#294256; font-size:8px; }.employee-progress small { grid-column:1; color:#84929e; font-size:7px; }.certificate-ready { color:#0b7653; font-weight:850; }.certificate-ready small { color:#768794; font-weight:500; }.report-empty { display:flex; flex-direction:column; align-items:center; padding:50px; color:#708190; }.report-empty strong { color:#2c4558; }.report-empty span { margin-top:6px; font-size:9px; }.manager-privacy { display:grid; grid-template-columns:auto 1fr; gap:22px; margin-top:14px; padding:17px 20px; border:1px solid #d8e0e6; border-radius:9px; color:#667888; background:#f8fafb; font-size:8px; line-height:1.6; }.manager-privacy strong { color:#274054; }.manager-state { min-height:100vh; display:grid; place-items:center; align-content:center; gap:10px; padding:30px; text-align:center; color:#e7edf2; background:#061426; }.manager-state img { width:110px; height:110px; margin-bottom:12px; border-radius:12px; object-fit:cover; }.manager-state>span { color:#efbd4c; font-size:8px; font-weight:900; letter-spacing:.17em; }.manager-state h1 { margin:6px 0; font-size:clamp(30px,5vw,45px); }.manager-state p { max-width:560px; color:#aebbc6; line-height:1.7; }.manager-state>div { display:flex; gap:10px; margin-top:13px; }.manager-state a { padding:12px 15px; border:1px solid rgba(255,255,255,.16); border-radius:8px; color:#e7edf2; font-size:9px; font-weight:850; }.sr-only { width:1px; height:1px; position:absolute; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:1000px) { .manager-shell { grid-template-columns:1fr; }.manager-sidebar { min-height:0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:13px 20px; }.manager-sidebar .landing-brand { margin:0; }.manager-org { display:none; }.manager-sidebar nav { display:flex; justify-content:center; margin:0; }.manager-sidebar nav a,.manager-sidebar nav button { min-height:38px; }.manager-profile { margin:0; padding:0; border:0; }.manager-profile div { display:none; }.manager-stats { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .manager-sidebar { grid-template-columns:1fr auto; }.manager-sidebar nav { grid-column:1/3; overflow-x:auto; justify-content:start; }.manager-sidebar nav a,.manager-sidebar nav button { flex:0 0 auto; }.manager-topbar { height:66px; }.manager-dashboard { padding:28px 14px 45px; }.manager-heading { align-items:start; flex-direction:column; }.manager-heading button { width:100%; }.manager-stats { grid-template-columns:1fr 1fr; }.manager-stats article { min-height:125px; padding:18px; }.report-panel>header { align-items:stretch; flex-direction:column; }.report-controls { flex-direction:column; }.report-controls input,.report-controls select { width:100%; }.manager-privacy { grid-template-columns:1fr; }.manager-topbar a { display:none; } }

/* Bulk organization seat assignment */
.seat-dashboard { padding:45px clamp(24px,4vw,58px) 65px; }.seat-dashboard>header { max-width:760px; }.seat-dashboard>header h1 { margin:7px 0 10px; color:#182e42; font-size:clamp(35px,4vw,52px); letter-spacing:-.055em; }.seat-dashboard>header p { color:#657789; font-size:11px; line-height:1.7; }.seat-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr); gap:18px; align-items:start; margin-top:30px; }.seat-form-card,.seat-summary { border:1px solid #d8e0e6; border-radius:12px; background:#fff; box-shadow:0 12px 32px rgba(17,38,58,.05); }.seat-form-card { padding:30px; }.seat-form-card label { display:block; margin-bottom:8px; color:#344d60; font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.seat-form-card select,.seat-form-card textarea { width:100%; border:1px solid #d4dde4; border-radius:8px; color:#2f4659; background:#f9fbfc; font:inherit; outline:none; }.seat-form-card select { height:45px; padding:0 13px; }.seat-form-card textarea { margin-top:0; padding:14px; resize:vertical; font-size:10px; line-height:1.65; }.seat-form-card select:focus,.seat-form-card textarea:focus { border-color:#c99b33; box-shadow:0 0 0 3px rgba(201,155,51,.1); }.roster-label { display:flex; justify-content:space-between; align-items:center; margin-top:24px; }.roster-label label { margin:0; }.csv-upload { color:#0c7956!important; cursor:pointer; text-transform:none!important; }.csv-upload input { width:1px; height:1px; position:absolute; overflow:hidden; opacity:0; }.email-checks { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:12px; overflow:hidden; border:1px solid #dde4e9; border-radius:8px; background:#dde4e9; }.email-checks span { padding:12px; color:#788895; background:#f8fafb; font-size:7px; }.email-checks strong { display:block; margin-bottom:3px; color:#334c60; font-size:14px; }.email-checks span.ready strong { color:#0b7956; }.email-checks span.error strong { color:#a44742; }.assignment-alert { margin:12px 0 0; padding:12px 13px; border-radius:7px; font-size:8px; line-height:1.55; }.assignment-alert.error { color:#8f3e39; border:1px solid #efc8c4; background:#fff1f0; }.assignment-alert.success { color:#0c6e4f; border:1px solid #b9ddcf; background:#edf8f3; }.assignment-alert strong { display:block; margin-bottom:3px; }.seat-form-card form>button { width:100%; min-height:48px; margin-top:18px; border:1px solid #c89423; border-radius:8px; color:#17283b; background:#efbd4c; font-size:9px; font-weight:950; cursor:pointer; }.seat-form-card form>button:disabled { opacity:.45; cursor:not-allowed; }.seat-policy { display:block; margin-top:12px; color:#7b8996; font-size:7px; line-height:1.6; }.seat-summary { padding:27px; position:sticky; top:20px; }.seat-summary h2 { margin:10px 0 7px; font-size:22px; letter-spacing:-.035em; }.seat-summary>p { color:#7b8996; font-size:8px; line-height:1.6; }.seat-meter { height:8px; margin:24px 0; overflow:hidden; border-radius:5px; background:#e5eaee; }.seat-meter span { height:100%; display:block; background:linear-gradient(90deg,#16865f,#29b982); }.seat-summary dl { margin:0; }.seat-summary dl>div { display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-top:1px solid #e6eaed; }.seat-summary dt { color:#71818f; font-size:8px; }.seat-summary dd { margin:0; color:#2a4356; font-size:15px; font-weight:900; }.seat-summary dl>div.available dt,.seat-summary dl>div.available dd { color:#0c7654; }.seat-help { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }.seat-help div { padding:18px; border:1px solid #dbe2e7; border-radius:9px; background:#f8fafb; }.seat-help strong,.seat-help span { display:block; }.seat-help strong { color:#30495c; font-size:9px; }.seat-help span { margin-top:5px; color:#788895; font-size:8px; line-height:1.55; }
.seat-layout.enrollment-layout { grid-template-columns:minmax(0,1fr); }
@media (max-width:900px) { .seat-layout { grid-template-columns:1fr; }.seat-summary { position:static; }.email-checks { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .seat-dashboard { padding:28px 14px 45px; }.seat-form-card,.seat-summary { padding:20px 16px; }.roster-label { align-items:start; flex-direction:column; gap:7px; }.seat-help { grid-template-columns:1fr; } }

/* Learner module dashboard */
.module-dashboard { min-height:100vh; color:#182b3d; background:#eef2f6; }
.certificate-name-panel { width:min(1180px,calc(100% - 48px)); display:grid; grid-template-columns:1fr minmax(320px,.8fr); gap:42px; align-items:end; margin:28px auto 0; padding:28px 32px; border:1px solid #d5ab48; border-radius:12px; background:#fff9eb; box-shadow:0 12px 30px rgba(26,48,67,.06); }.certificate-name-panel h2 { margin:8px 0; font-size:25px; letter-spacing:-.035em; }.certificate-name-panel p { margin:0; color:#667886; font-size:9px; line-height:1.65; }.certificate-name-panel label { display:block; margin-bottom:7px; color:#334d60; font-size:8px; font-weight:900; }.certificate-name-panel form>div { display:grid; grid-template-columns:1fr auto; gap:9px; }.certificate-name-panel input { min-width:0; height:46px; padding:0 13px; border:1px solid #cbd5dc; border-radius:7px; font:inherit; }.certificate-name-panel button { min-height:46px; padding:0 18px; border:1px solid #b8861d; border-radius:7px; color:#17283b; background:#efbd4c; font:inherit; font-size:8px; font-weight:900; cursor:pointer; }.certificate-name-panel button:disabled { opacity:.55; cursor:not-allowed; }
.certification-progress-panel { width:min(1180px,calc(100% - 48px)); display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; margin:28px auto 0; padding:28px 32px; border:1px solid #d5ab48; border-radius:12px; background:linear-gradient(135deg,#fffaf0,#f5ead0); box-shadow:0 12px 30px rgba(26,48,67,.06); }.certification-progress-panel h2 { margin:8px 0; font-size:26px; letter-spacing:-.035em; }.certification-progress-panel p { max-width:760px; margin:0; color:#657787; font-size:10px; line-height:1.7; }.certification-progress-count { min-width:118px; display:flex; justify-content:center; align-items:baseline; padding:18px; border:1px solid #d4b260; border-radius:10px; background:#fffdf7; color:#173047; }.certification-progress-count strong { font-family:Georgia,serif; font-size:42px; }.certification-progress-count span { margin-left:5px; color:#98701c; font-size:15px; font-weight:800; }.certification-progress-panel>a { grid-column:1/-1; width:max-content; color:#087856; font-size:10px; font-weight:900; }.certification-progress-panel.certified { color:#f8f0e2; border-color:#bf9131; background:linear-gradient(135deg,#07172b,#12334a); }.certification-progress-panel.certified p { color:#c4d0d9; }.certification-progress-panel.certified .certification-progress-count { background:#f8f0e2; }.official-certification { width:min(1200px,100%); aspect-ratio:3/2; position:relative; margin:auto; overflow:hidden; background:#f5ead0; box-shadow:0 28px 80px rgba(0,0,0,.38); }.official-certification>img { width:100%; height:100%; display:block; object-fit:cover; }.official-certification-name,.official-certification-date,.official-certification-id { position:absolute; color:#071b38; text-align:center; white-space:nowrap; }.official-certification-name { width:58%; left:21%; top:42.5%; font-family:Georgia,"Times New Roman",serif; font-size:clamp(25px,5.2vw,76px); font-weight:500; line-height:1; font-variant:small-caps; letter-spacing:.01em; }.official-certification-date { width:16%; left:23.2%; top:87.2%; font-family:Georgia,"Times New Roman",serif; font-size:clamp(8px,1.45vw,21px); font-style:italic; }.official-certification-id { width:18%; right:21.9%; top:87.2%; font-family:Georgia,"Times New Roman",serif; font-size:clamp(7px,1.2vw,18px); font-style:italic; letter-spacing:.04em; }
.module-dashboard-nav { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:12px clamp(20px,5vw,76px); color:#f8f0e2; background:#061426; }
.module-dashboard-nav nav { display:flex; align-items:center; gap:22px; }.module-dashboard-nav nav a,.module-dashboard-nav nav button { border:0; color:#c8d2da; background:none; font:inherit; font-size:9px; font-weight:850; cursor:pointer; }.module-dashboard-nav nav a:hover,.module-dashboard-nav nav button:hover { color:#efbd4c; }
.module-dashboard-hero { display:grid; grid-template-columns:1fr auto; gap:45px; align-items:center; padding:68px clamp(24px,7vw,108px); color:#f8f0e2; background:linear-gradient(135deg,#07172b,#0b2a3a); }.module-dashboard-hero h1 { margin:12px 0; font-size:clamp(42px,6vw,68px); line-height:1; letter-spacing:-.055em; }.module-dashboard-hero p { max-width:650px; color:#b9c6d0; font-size:12px; line-height:1.7; }.module-dashboard-hero aside { min-width:345px; display:grid; grid-template-columns:70px 1fr 1fr; gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.12); }.module-dashboard-hero aside>span,.module-dashboard-hero aside>div { min-height:92px; display:grid; place-items:center; align-content:center; background:#0a2134; }.module-dashboard-hero aside>span { color:#efbd4c; font-size:22px; font-weight:900; }.module-dashboard-hero aside strong,.module-dashboard-hero aside small { display:block; text-align:center; }.module-dashboard-hero aside strong { font-size:25px; }.module-dashboard-hero aside small { margin-top:6px; color:#93a4b2; font-size:7px; font-weight:900; letter-spacing:.1em; }
.dashboard-alert { width:min(1180px,calc(100% - 48px)); margin:22px auto 0; padding:13px 16px; border:1px solid #ecc6c1; border-radius:8px; color:#8d3e39; background:#fff1ef; font-size:9px; }
.owned-modules,.academy-buy-options { width:min(1180px,calc(100% - 48px)); margin:55px auto; }.owned-modules>header { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:22px; }.owned-modules h2,.academy-buy-options h2,.bundle-credit-panel h2 { margin:8px 0 0; font-size:clamp(29px,4vw,42px); letter-spacing:-.045em; }.owned-modules>header>small { color:#748594; font-size:8px; }
.module-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.owned-module-card { min-height:270px; display:grid; grid-template-columns:180px 1fr; overflow:hidden; border:1px solid #d8e0e6; border-radius:12px; background:white; box-shadow:0 12px 32px rgba(17,38,58,.06); }.module-card-art { min-height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:22px; color:#efbd4c; background:linear-gradient(145deg,#082139,#051426); }.module-card-art>span { font-size:10px; font-weight:900; letter-spacing:.16em; }.module-card-art img { width:92px; height:92px; align-self:center; object-fit:cover; border-radius:50%; }.owned-module-card>div:last-child { display:flex; flex-direction:column; align-items:start; padding:27px; }.owned-module-card .pill { padding:6px 8px; border-radius:5px; color:#667986; background:#eef2f4; font-size:7px; font-weight:900; }.owned-module-card .pill.complete { color:#08724f; background:#e5f5ee; }.owned-module-card h3 { margin:15px 0 9px; font-size:23px; letter-spacing:-.035em; }.owned-module-card p { color:#667989; font-size:9px; line-height:1.65; }.owned-module-card a { margin-top:auto; color:#087856; font-size:9px; font-weight:900; }
.empty-module-card { display:grid; grid-template-columns:130px 1fr; gap:30px; align-items:center; padding:30px; border:1px solid #d8e0e6; border-radius:12px; background:white; }.empty-module-card img { width:120px; height:120px; border-radius:10px; object-fit:cover; }.empty-module-card h3 { margin:0 0 8px; font-size:24px; }.empty-module-card p { max-width:680px; color:#687a89; font-size:10px; line-height:1.7; }.empty-module-card a { display:inline-block; margin-top:12px; color:#087856; font-size:9px; font-weight:900; }
.bundle-credit-panel { width:min(1180px,calc(100% - 48px)); display:flex; align-items:center; justify-content:space-between; gap:30px; margin:55px auto; padding:35px 40px; border:1px solid #d3bd81; border-radius:12px; background:#fff9e9; }.bundle-credit-panel p { color:#6e725f; font-size:9px; }.bundle-credit-panel>a { flex:0 0 auto; padding:14px 18px; border-radius:8px; color:#17283b; background:#efbd4c; font-size:9px; font-weight:900; }
.academy-buy-options { padding-top:46px; border-top:1px solid #ccd6de; }.academy-buy-options>header { max-width:760px; }.academy-buy-options>header p { color:#677989; font-size:10px; line-height:1.7; }.academy-buy-options>div { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:25px; }.academy-buy-options article { display:flex; flex-direction:column; min-height:250px; padding:28px; border:1px solid #d8e0e6; border-radius:11px; background:white; }.academy-buy-options article>span { color:#a77c1e; font-size:8px; font-weight:900; letter-spacing:.13em; }.academy-buy-options article h3 { margin:16px 0 10px; font-size:35px; }.academy-buy-options article p { color:#687a89; font-size:9px; line-height:1.65; }.academy-buy-options article a { margin-top:auto; color:#087856; font-size:9px; font-weight:900; }
@media (max-width:900px) { .module-dashboard-hero { grid-template-columns:1fr; }.module-dashboard-hero aside { min-width:0; }.module-card-grid,.academy-buy-options>div { grid-template-columns:1fr; } }
@media (max-width:650px) { .module-dashboard-nav { align-items:flex-start; flex-direction:column; gap:12px; padding:14px 18px; }.module-dashboard-nav nav { width:100%; justify-content:space-between; gap:8px; }.module-dashboard-hero { padding:48px 18px; }.module-dashboard-hero aside { grid-template-columns:1fr 1fr; }.module-dashboard-hero aside>span { grid-column:1/3; min-height:60px; }.owned-modules,.academy-buy-options,.bundle-credit-panel { width:calc(100% - 28px); }.owned-modules>header,.bundle-credit-panel { align-items:flex-start; flex-direction:column; }.owned-module-card { grid-template-columns:1fr; }.module-card-art { min-height:150px; }.empty-module-card { grid-template-columns:1fr; }.empty-module-card img { width:90px; height:90px; } }
@media (max-width:760px) { .certificate-name-panel,.certification-progress-panel { width:calc(100% - 28px); grid-template-columns:1fr; gap:20px; padding:24px 20px; }.certificate-name-panel form>div { grid-template-columns:1fr; }.certificate-name-panel button { width:100%; }.certification-progress-count { width:100%; }.module-dashboard-nav nav { flex-wrap:wrap; } }
@media print { .official-certification { width:100%; box-shadow:none; } }

/* Accessible mobile touch targets */
@media (max-width:700px) {
  .workspace-bar>div>button,.workspace-bar>div>a { width:44px; height:44px; }
  .path-header>button,.section-heading button,.course-info button,.module-dashboard-nav nav a,.module-dashboard-nav nav button,.certificate-actions button,.certificate-actions a,.toolkit-nav>div a,.toolkit-nav button { min-height:44px; }
  .path-header>button,.section-heading button,.course-info button,.module-dashboard-nav nav a,.module-dashboard-nav nav button { display:inline-flex; align-items:center; padding-block:10px; }
}

/* Foundations premium course additions */
.lesson-standard { margin:22px 0; padding:17px 19px; border-left:3px solid #ddb04b; color:#243d51; background:#fff8e7; }.lesson-standard small,.lesson-standard strong { display:block; }.lesson-standard small { margin-bottom:7px; color:#9b7119; font-size:7px; font-weight:950; letter-spacing:.14em; }.lesson-standard strong { font-size:11px; line-height:1.6; }.toolkit-link { display:inline-block; margin-top:25px; padding:12px 16px; border:1px solid #c79526; border-radius:8px; color:#1b3043; background:#efbd4c; font-size:9px; font-weight:900; }.dashboard-toolkit-link { display:block; margin-top:18px; padding-top:14px; border-top:1px solid #e2e6e9; color:#087856; font-size:9px; font-weight:900; }
.decision-framework { margin:22px 0; overflow:hidden; border:1px solid #c9d6df; border-radius:14px; background:#f8fbfc; }.decision-framework header { padding:18px 20px; color:#fff; background:#17364b; }.decision-framework header small,.framework-rule small { display:block; color:#efbd4c; font-size:7px; font-weight:950; letter-spacing:.15em; }.decision-framework h2 { margin:5px 0 4px; font:800 21px/1.15 Georgia,serif; }.decision-framework header p { margin:0; color:#dce7ed; font-size:10px; }.decision-framework ol { display:grid; gap:0; margin:0; padding:0; list-style:none; counter-reset:model-step; }.decision-framework li { display:grid; grid-template-columns:26px 115px 1fr; align-items:start; gap:9px; padding:12px 18px; border-bottom:1px solid #dfe7eb; counter-increment:model-step; }.decision-framework li:before { content:counter(model-step); display:grid; width:22px; height:22px; place-items:center; border-radius:50%; color:#fff; background:#087856; font-size:8px; font-weight:900; }.decision-framework li strong { color:#16384a; font-size:10px; }.decision-framework li span { color:#647482; font-size:9px; line-height:1.5; }.framework-rule { padding:14px 18px; background:#fff4d8; }.framework-rule small { color:#926b16; margin-bottom:5px; }.framework-rule strong { color:#293f4e; font-size:10px; line-height:1.55; }
.course-value { padding:90px clamp(24px,8vw,130px); color:#f4eee4; background:#071728; }.course-value>header { max-width:810px; }.course-value>header h2 { margin:14px 0; font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.05em; }.course-value>header p { max-width:680px; color:#aebdca; font-size:12px; line-height:1.75; }.course-value>div { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:40px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.13); }.course-value article { min-height:250px; padding:30px; background:#0a2033; }.course-value article strong { display:block; color:#efbd4c; font-size:48px; letter-spacing:-.05em; }.course-value article span { display:block; margin:8px 0 18px; color:#f4eee4; font-size:8px; font-weight:950; letter-spacing:.13em; }.course-value article p { color:#9fb0bd; font-size:9px; line-height:1.7; }.course-value>footer { display:flex; justify-content:space-between; gap:25px; margin-top:22px; color:#98aab7; font-size:9px; }.course-value>footer a { color:#efbd4c; font-weight:900; }
@media (max-width:900px) { .course-value>div { grid-template-columns:1fr 1fr; } }
@media (max-width:550px) { .course-value { padding:65px 18px; }.course-value>div { grid-template-columns:1fr; }.course-value article { min-height:0; }.course-value>footer { align-items:flex-start; flex-direction:column; } }

/* Foundations shift toolkit */
.toolkit-page { min-height:100vh; color:#1b3043; background:#edf1f4; }.toolkit-nav { min-height:82px; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:12px clamp(20px,6vw,90px); color:#f8f0e2; background:#061426; }.toolkit-nav>div { display:flex; align-items:center; gap:14px; }.toolkit-nav>div a,.toolkit-nav button { padding:11px 14px; border:1px solid rgba(255,255,255,.16); border-radius:7px; color:#e7edf2; background:rgba(255,255,255,.05); font:inherit; font-size:8px; font-weight:900; cursor:pointer; }.toolkit-nav button { color:#17283b; border-color:#d9a836; background:#efbd4c; }
.toolkit-cover { min-height:390px; display:grid; grid-template-columns:230px 1fr; gap:55px; align-items:center; padding:65px clamp(24px,10vw,160px); color:#f8f0e2; background-color:#07182a; background-image:linear-gradient(rgba(106,142,174,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(106,142,174,.07) 1px,transparent 1px),linear-gradient(135deg,#07182a,#0b2d3d); background-size:48px 48px,48px 48px,auto; }.toolkit-cover img { width:220px; height:220px; object-fit:cover; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.28); }.toolkit-cover span,.toolkit-content article>span,.toolkit-content article>header>span,.manager-observation>div>span { color:#efbd4c; font-size:8px; font-weight:950; letter-spacing:.17em; }.toolkit-cover h1 { margin:12px 0 14px; font-size:clamp(54px,8vw,92px); line-height:.9; letter-spacing:-.06em; }.toolkit-cover p { max-width:700px; color:#b9c7d1; font-size:13px; line-height:1.7; }
.toolkit-content { width:min(1120px,calc(100% - 48px)); margin:55px auto 80px; }.toolkit-standard,.toolkit-grid>article,.shift-practice-plan,.manager-observation { border:1px solid #d8e0e6; border-radius:12px; background:white; box-shadow:0 12px 32px rgba(17,38,58,.05); }.toolkit-standard { padding:38px; }.toolkit-standard h2,.toolkit-grid h2,.shift-practice-plan h2,.manager-observation h2 { margin:10px 0 18px; font-size:clamp(25px,4vw,38px); letter-spacing:-.045em; }.toolkit-standard>div { display:grid; grid-template-columns:repeat(4,1fr); margin-top:28px; border:1px solid #e1e6ea; }.toolkit-standard section { padding:22px; border-right:1px solid #e1e6ea; }.toolkit-standard section:last-child { border:0; }.toolkit-standard section strong { color:#1b7658; font-size:10px; }.toolkit-standard section p,.toolkit-grid article p,.toolkit-grid li { color:#657786; font-size:9px; line-height:1.7; }
.toolkit-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:15px; }.toolkit-grid>article { padding:32px; }.toolkit-grid dl { margin:22px 0 0; }.toolkit-grid dl>div { padding:14px 0; border-top:1px solid #e4e8eb; }.toolkit-grid dt { color:#274155; font-size:10px; font-weight:900; }.toolkit-grid dd { margin:5px 0 0; color:#687a89; font-size:9px; line-height:1.6; }.toolkit-script { padding:17px; border:1px solid #e4d29f; border-radius:8px; color:#40505c!important; background:#fff9e8; font-weight:750; }.toolkit-grid ul { padding-left:18px; }
.shift-practice-plan { margin-top:15px; padding:38px; }.shift-practice-plan>header p { max-width:700px; color:#677988; font-size:10px; line-height:1.7; }.commitment-lines { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:28px 0; }.commitment-lines p { min-height:55px; margin:0; padding:0 0 12px; border-bottom:1px solid #9eabb4; color:#516576; font-size:9px; }.shift-tracker { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.shift-tracker section { min-height:150px; display:grid; grid-template-columns:1fr 1fr; gap:11px; padding:18px; border:1px solid #dce3e8; border-radius:8px; }.shift-tracker section:last-child { grid-column:1/3; }.shift-tracker strong { grid-column:1/3; color:#a0761b; font-size:8px; letter-spacing:.12em; }.shift-tracker span { min-height:30px; color:#6d7e8b; border-bottom:1px solid #cdd5db; font-size:8px; }
.manager-observation { display:grid; grid-template-columns:.75fr 1.25fr; gap:45px; margin-top:15px; padding:38px; }.manager-observation>div p { color:#687a89; font-size:9px; }.manager-observation>section label { display:block; margin:12px 0 7px; color:#345063; font-size:8px; font-weight:900; }.manager-observation>section p { color:#526777; font-size:9px; line-height:1.8; }.manager-observation>section i { height:35px; display:block; border-bottom:1px solid #aeb9c1; }.manager-observation footer { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:20px; }.manager-observation footer span { padding-bottom:13px; border-bottom:1px solid #aeb9c1; color:#75848f; font-size:8px; }.toolkit-footer { display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; padding:28px clamp(24px,7vw,110px); color:#b8c5cf; background:#061426; }.toolkit-footer img { width:55px; height:55px; border-radius:8px; object-fit:cover; }.toolkit-footer p,.toolkit-footer small { font-size:8px; }.toolkit-footer small { max-width:350px; text-align:right; }
@media (max-width:800px) { .toolkit-cover { grid-template-columns:1fr; }.toolkit-cover img { width:145px; height:145px; }.toolkit-standard>div,.toolkit-grid,.manager-observation { grid-template-columns:1fr; }.toolkit-standard section { border-right:0; border-bottom:1px solid #e1e6ea; }.shift-tracker { grid-template-columns:1fr; }.shift-tracker section:last-child { grid-column:auto; }.toolkit-footer { grid-template-columns:auto 1fr; }.toolkit-footer small { grid-column:1/3; text-align:left; } }
@media print { .toolkit-page { color:#17283b; background:white; }.toolkit-nav { display:none; }.toolkit-cover { min-height:280px; print-color-adjust:exact; -webkit-print-color-adjust:exact; }.toolkit-content { width:100%; margin:28px 0; }.toolkit-standard,.toolkit-grid>article,.shift-practice-plan,.manager-observation { break-inside:avoid; box-shadow:none; }.shift-tracker section { break-inside:avoid; }.toolkit-footer { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }

/* Global accessibility and interaction safeguards */
:focus-visible { outline:3px solid #f0bd49; outline-offset:3px; }
.skip-link { position:fixed; z-index:9999; top:10px; left:10px; padding:12px 16px; color:#07182a; background:#f0bd49; border-radius:7px; font-weight:900; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.observation-label { display:block; margin:12px 0 7px; color:#345063; font-size:8px; font-weight:900; }
.lesson-review-check { display:flex; align-items:center; gap:9px; min-height:44px; color:#2e4352; font-size:9px; font-weight:850; }
.lesson-review-check input { width:20px; height:20px; accent-color:#087856; }
@media (max-width:700px) {
  button,a,input[type="button"],input[type="submit"] { min-height:44px; }
  .landing-footer a,.landing-nav a,.dashboard-action,.main-nav a,.main-nav button,.mini-node,.media-controls button,.activity-back,.activity-next { min-height:44px; }
  .manager-mobile-nav,.manager-topbar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px; overflow:visible; }
  .manager-mobile-nav a,.manager-topbar nav a,.manager-topbar nav button { width:100%; justify-content:center; text-align:center; }
  .activity-footer { gap:10px; }
  .lesson-review-check { width:100%; order:-1; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
.path-order-summary>div:last-child { min-width:250px; }
.path-order-summary label { display:block; margin:13px 0 6px; color:#dce6ec; font-size:8px; font-weight:900; }
.path-order-summary input { min-height:44px; width:100%; padding:0 12px; border:1px solid #5c7180; border-radius:7px; color:#17283b; background:#fff; font:inherit; font-size:10px; }
.path-order-summary button { margin-top:10px; }
.path-builder-error { width:min(1180px,calc(100% - 48px)); margin:14px auto; padding:11px 14px; border:1px solid #e5b2ad; border-radius:8px; color:#94423d; background:#fff1ef; font-size:8px; line-height:1.6; text-align:center; }
.saved-learning-paths { width:min(1180px,calc(100% - 48px)); margin:55px auto; }
.saved-learning-paths>header h2 { margin:8px 0 20px; font-size:clamp(29px,4vw,42px); letter-spacing:-.045em; }
.saved-learning-paths article { padding:23px 25px; border:1px solid #d8e0e6; border-radius:11px; background:#fff; }
.saved-learning-paths article+article { margin-top:10px; }
.saved-learning-paths article>div { display:flex; justify-content:space-between; gap:20px; }
.saved-learning-paths article strong,.saved-learning-paths article span { font-size:8px; font-weight:950; letter-spacing:.11em; }
.saved-learning-paths article strong { color:#9d741b; }
.saved-learning-paths article span { color:#087856; }
.saved-learning-paths article p { margin:12px 0 0; color:#657887; font-size:9px; line-height:1.7; }
@media (max-width:650px) {
  .saved-learning-paths { width:calc(100% - 28px); }
  .saved-learning-paths article>div { align-items:flex-start; flex-direction:column; gap:8px; }
  .path-builder-error { width:calc(100% - 28px); }
}
.learner-next-step { width:min(1180px,calc(100% - 48px)); display:flex; justify-content:space-between; align-items:center; gap:30px; margin:-26px auto 28px; padding:28px 32px; border:1px solid #d7b456; border-radius:14px; color:#f7f0e4; background:#102d40; box-shadow:0 18px 45px rgba(7,24,42,.16); }
.learner-next-step h2 { margin:7px 0; font-size:clamp(23px,3vw,34px); }.learner-next-step p { max-width:720px; margin:0; color:#c3d0d8; font-size:10px; line-height:1.7; }.learner-next-step a { flex:0 0 auto; min-height:46px; display:inline-flex; align-items:center; padding:0 19px; border-radius:8px; color:#152c3d; background:#efbd4c; font-size:9px; font-weight:900; }
.narration-speed { display:flex; align-items:center; gap:7px; color:#dce6eb; font-size:8px; font-weight:800; }.narration-speed select { min-height:40px; padding:0 7px; border:1px solid rgba(255,255,255,.25); border-radius:6px; color:#eef4f6; background:#18384c; }.lesson-transcript { margin-top:12px; border:1px solid #dce4e9; border-radius:9px; background:#fff; }.lesson-transcript summary { min-height:44px; display:flex; align-items:center; padding:0 15px; color:#244155; font-size:9px; font-weight:900; cursor:pointer; }.lesson-transcript section { padding:10px 15px; border-top:1px solid #e6ebee; }.lesson-transcript strong { color:#0b7857; font-size:8px; }.lesson-transcript p { margin:4px 0 0; color:#5f7180; font-size:9px; line-height:1.6; }
@media (max-width:700px) { .learner-next-step { width:calc(100% - 28px); align-items:flex-start; flex-direction:column; margin:-16px auto 22px; padding:23px 20px; }.learner-next-step a { width:100%; justify-content:center; }.narration-speed select { min-height:44px; } }
.assignment-capacity-notice { display:grid; gap:7px; margin:15px 0; padding:16px; border:1px solid #e2c36b; border-radius:9px; color:#324b5b; background:#fff8e4; }.assignment-capacity-notice strong { color:#7d5a0c; font-size:10px; }.assignment-capacity-notice span { font-size:9px; line-height:1.6; }.assignment-capacity-notice a { color:#087856; font-size:9px; font-weight:900; }
@media (max-width:700px) {
  .manager-sidebar { grid-template-columns:1fr; }
  .manager-sidebar nav { grid-column:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; }
  .manager-sidebar nav a,.manager-sidebar nav button { width:100%; min-height:44px; justify-content:flex-start; }
  .manager-profile { grid-column:1; }
  .manager-heading button,.report-controls input,.report-controls select,.media-controls button,.media-controls select,.lesson-progress-bar>button { min-height:44px; }
  .lesson-progress-bar>button { min-width:44px; }
}
.pending-invitations { margin-top:18px; overflow:hidden; border:1px solid #d8e0e6; border-radius:12px; background:#fff; box-shadow:0 12px 32px rgba(17,38,58,.05); }.pending-invitations>header { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:24px 27px; border-bottom:1px solid #e0e6ea; }.pending-invitations h2 { margin:6px 0 4px; font-size:21px; }.pending-invitations header p { color:#718291; font-size:9px; }.pending-invitations header a { color:#087856; font-size:9px; font-weight:900; }.pending-invitations article { min-height:76px; display:grid; grid-template-columns:1fr auto auto; gap:20px; align-items:center; padding:14px 27px; border-top:1px solid #edf0f2; }.pending-invitations article:first-child { border-top:0; }.pending-invitations article div strong,.pending-invitations article div span,.pending-invitations article div small { display:block; }.pending-invitations article div strong { color:#243b4e; font-size:10px; }.pending-invitations article div span { margin-top:5px; color:#536a7a; font-size:8px; }.pending-invitations article div small { margin-top:5px; color:#7b8b97; font-size:8px; }.pending-invitations article div a { color:inherit; text-decoration-thickness:1px; text-underline-offset:2px; }.pending-invitations button { min-height:44px; padding:0 14px; border:1px solid #b98a25; border-radius:7px; color:#17283b; background:#efbd4c; font:inherit; font-size:8px; font-weight:900; cursor:pointer; }.pending-invitations button:disabled { opacity:.55; cursor:not-allowed; }.reminder-state { padding:6px 8px; border-radius:6px; color:#586e7d; background:#edf2f5; font-size:7px; font-weight:900; text-transform:capitalize; }.reminder-state.sent { color:#0b714f; background:#e7f5ef; }.reminder-state.failed { color:#9a4a45; background:#fbeceb; }.invite-notice,.pending-empty { margin:0; padding:15px 27px; color:#536a7a; background:#f8fafb; font-size:9px; }.invite-notice { color:#0b714f; background:#e7f5ef; }
@media (max-width:760px) { .pending-invitations>header { align-items:flex-start; flex-direction:column; }.pending-invitations article { grid-template-columns:1fr; gap:10px; }.pending-invitations button { width:100%; }.reminder-state { justify-self:start; } }
.intake-actions { display:flex; align-items:center; gap:12px; }.intake-actions button { min-height:44px; padding:0 15px; border:1px solid #b98a25; border-radius:7px; color:#17283b; background:#efbd4c; font:inherit; font-size:8px; font-weight:900; cursor:pointer; }.intake-actions button:disabled { opacity:.55; cursor:not-allowed; }.order-import-panel { border-bottom:1px solid #e0e6ea; background:#f8fafb; }.order-import-panel>div:first-child { display:flex; flex-direction:column; gap:5px; padding:18px 27px 8px; }.order-import-panel>div:first-child strong { color:#243b4e; font-size:10px; }.order-import-panel>div:first-child span { color:#657886; font-size:8px; }.order-import-list article { background:#fff; }.order-import-list article div span,.order-import-list article div small { display:block; margin-top:5px; color:#657886; font-size:8px; }
@media (max-width:760px) { .intake-actions { width:100%; align-items:stretch; flex-direction:column; }.intake-actions button { width:100%; }.order-import-panel>div:first-child { padding:16px 20px 8px; } }
