:root { --alo-primary:#173f7a; --alo-accent:#d9a928; --alo-text:#17202d; --alo-muted:#677487; --alo-border:#dce4ed; --alo-soft:#f4f7fb; }
.alo-portal { max-width:1220px; margin:30px auto; padding:0 18px; color:var(--alo-text); font-family:inherit; }
.alo-portal * { box-sizing:border-box; }
.alo-portal-hero { position:relative; overflow:hidden; display:flex; justify-content:space-between; gap:30px; align-items:center; padding:34px; border-radius:22px; background:linear-gradient(135deg,var(--alo-primary),#2464b4); color:#fff; box-shadow:0 20px 55px rgba(23,63,122,.2); margin-bottom:20px; }
.alo-portal-hero:after { content:""; position:absolute; width:260px; height:260px; border:55px solid rgba(255,255,255,.06); border-radius:50%; right:-65px; top:-110px; }
.alo-portal-hero > * { position:relative; z-index:1; }
.alo-portal-hero h1 { color:#fff; font-size:clamp(28px,4vw,46px); line-height:1.05; margin:5px 0 10px; }
.alo-portal-hero p { max-width:700px; margin:0; opacity:.86; }
.alo-kicker { display:block; text-transform:uppercase; letter-spacing:.11em; font-size:11px; font-weight:900; color:var(--alo-accent); }
.alo-avatar { flex:none; width:68px; height:68px; border-radius:20px; background:var(--alo-accent); color:#16202b; display:grid; place-items:center; font-weight:900; font-size:28px; }
.alo-program-banner { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:24px; border:1px solid var(--alo-border); border-radius:18px; background:#fff; margin-bottom:18px; }
.alo-program-banner span { font-weight:900; color:var(--alo-primary); }
.alo-program-banner h2 { margin:3px 0 5px; font-size:26px; color:var(--alo-text); }
.alo-program-banner p { margin:0; color:var(--alo-muted); }
.alo-program-status,.alo-pill { background:#e9f2ff; color:var(--alo-primary); border-radius:999px; padding:8px 13px; font-weight:800; font-size:12px; white-space:nowrap; }
.alo-portal-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.alo-portal-stat { border:1px solid var(--alo-border); border-radius:16px; background:#fff; padding:20px; }
.alo-portal-stat span,.alo-portal-stat small { display:block; color:var(--alo-muted); }
.alo-portal-stat span { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.alo-portal-stat strong { display:block; color:var(--alo-primary); font-size:28px; margin:7px 0 2px; }
.alo-portal-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:24px; }
.alo-portal-card { background:#fff; border:1px solid var(--alo-border); border-radius:18px; padding:24px; box-shadow:0 12px 32px rgba(23,63,122,.06); }
.alo-portal-card h2,.alo-portal-card h3 { color:var(--alo-text); }
.alo-portal-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:16px; }
.alo-portal-card-head h3 { margin:4px 0 0; }
.alo-portal-card-head > strong { color:var(--alo-primary); font-size:26px; }
.alo-details { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0; }
.alo-details > div { padding:14px 0; border-bottom:1px solid var(--alo-border); }
.alo-details dt { color:var(--alo-muted); font-size:12px; font-weight:800; }
.alo-details dd { margin:4px 0 0; font-weight:800; }
.alo-meter { height:10px; background:#e7edf4; border-radius:999px; overflow:hidden; margin:8px 0 18px; }
.alo-meter span { display:block; height:100%; background:linear-gradient(90deg,var(--alo-primary),var(--alo-accent)); border-radius:inherit; }
.alo-competency-portal-list { display:grid; gap:12px; }
.alo-competency-portal-list > div { display:flex; gap:10px; align-items:flex-start; }
.alo-competency-portal-list strong,.alo-competency-portal-list small { display:block; }
.alo-competency-portal-list small { color:var(--alo-muted); margin-top:2px; }
.alo-dot { width:10px; height:10px; border-radius:50%; background:#b7c1ce; flex:none; margin-top:5px; }
.alo-dot-passed { background:#1b9860; }
.alo-dot-needs_remediation,.alo-dot-failed { background:#d64535; }
.alo-dot-pending { background:#e4a221; }
.alo-portal-button { display:inline-flex; align-items:center; justify-content:center; background:var(--alo-primary); color:#fff !important; text-decoration:none !important; border-radius:10px; padding:11px 17px; font-weight:800; }
.alo-portal-button:hover { filter:brightness(.92); }
.alo-empty-portal { text-align:center; padding:48px 24px; }
.alo-empty-portal h2 { margin-top:0; }
.alo-icon { display:grid; place-items:center; width:45px; height:45px; margin:0 auto 12px; border-radius:14px; background:#e9f2ff; color:var(--alo-primary); font-size:26px; }
.alo-instructor-grid,.alo-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.alo-cohort-card p { color:var(--alo-muted); }
.alo-cohort-metrics { display:grid; grid-template-columns:repeat(3,1fr); background:var(--alo-soft); border-radius:14px; margin:16px 0; }
.alo-cohort-metrics > div { padding:14px; text-align:center; border-right:1px solid var(--alo-border); }
.alo-cohort-metrics > div:last-child { border-right:0; }
.alo-cohort-metrics strong,.alo-cohort-metrics span { display:block; }
.alo-cohort-metrics strong { color:var(--alo-primary); font-size:22px; }
.alo-cohort-metrics span { color:var(--alo-muted); font-size:11px; text-transform:uppercase; font-weight:800; }
.alo-catalog-header { text-align:center; max-width:790px; margin:0 auto 30px; }
.alo-catalog-header h2 { font-size:clamp(30px,4vw,48px); margin:7px 0 10px; }
.alo-catalog-header p { color:var(--alo-muted); }
.alo-program-card { position:relative; overflow:hidden; border:1px solid var(--alo-border); border-radius:18px; padding:24px; background:#fff; box-shadow:0 14px 35px rgba(23,63,122,.07); }
.alo-program-card:before { content:""; height:5px; position:absolute; top:0; left:0; right:0; background:linear-gradient(90deg,var(--alo-primary),var(--alo-accent)); }
.alo-program-code { display:inline-flex; background:#eaf2ff; color:var(--alo-primary); border-radius:8px; padding:5px 9px; font-size:11px; font-weight:900; }
.alo-program-card h3 { margin:14px 0 8px; font-size:22px; }
.alo-program-card p { color:var(--alo-muted); }
.alo-program-card dl { margin:20px 0 0; }
.alo-program-card dl > div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--alo-border); }
.alo-program-card dt { color:var(--alo-muted); }
.alo-program-card dd { margin:0; font-weight:800; text-align:right; }
@media (max-width: 980px) { .alo-portal-stats,.alo-instructor-grid,.alo-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) { .alo-portal { padding:0 12px; margin:18px auto; } .alo-portal-hero,.alo-program-banner,.alo-portal-card-head { align-items:flex-start; flex-direction:column; } .alo-avatar { display:none; } .alo-hero-actions { width:100%; justify-content:flex-end; } .alo-portal-stats,.alo-portal-grid,.alo-instructor-grid,.alo-catalog-grid,.alo-details { grid-template-columns:1fr; } .alo-portal-hero { padding:26px 22px; } }

/* Workflow Edition — student, instructor, and credential experience */
.alo-portal { --alo-surface:#fff; --alo-surface-2:#f4f7fb; --alo-text:#17202d; --alo-muted:#677487; --alo-border:#dce4ed; --alo-shadow:0 12px 32px rgba(23,63,122,.06); }
.alo-hero-actions { display:flex; align-items:center; gap:12px; }
.alo-theme-toggle { width:46px; height:46px; border:1px solid rgba(255,255,255,.3); border-radius:14px; background:rgba(255,255,255,.12); color:#fff; cursor:pointer; font-size:22px; }
.alo-theme-toggle:hover { background:rgba(255,255,255,.2); }
.alo-logout-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 14px; border:1px solid rgba(255,255,255,.38); border-radius:12px; background:rgba(255,255,255,.12); color:#fff !important; text-decoration:none !important; font-size:12px; font-weight:900; letter-spacing:.02em; }
.alo-logout-button:hover { background:#fff; color:var(--alo-primary) !important; }
.alo-portal-notice { padding:14px 17px; border-radius:12px; margin:0 0 16px; font-weight:700; }
.alo-portal-notice-success { background:#eaf8f0; border:1px solid #b7e2ca; color:#11663f; }
.alo-portal-notice-error { background:#fff0ee; border:1px solid #f3b9b2; color:#9f281e; }
.alo-enrollment-switcher { display:flex; gap:8px; overflow:auto; padding:4px 0 14px; }
.alo-enrollment-switcher a { flex:none; text-decoration:none; color:var(--alo-muted); background:var(--alo-surface); border:1px solid var(--alo-border); border-radius:999px; padding:8px 12px; font-size:12px; font-weight:800; }
.alo-enrollment-switcher a.is-active { background:var(--alo-primary); border-color:var(--alo-primary); color:#fff; }
.alo-portal-nav { position:sticky; top:10px; z-index:20; display:flex; gap:6px; overflow:auto; padding:9px; margin:0 0 18px; border:1px solid var(--alo-border); border-radius:15px; background:color-mix(in srgb,var(--alo-surface) 92%, transparent); backdrop-filter:blur(14px); box-shadow:var(--alo-shadow); }
.alo-portal-nav a { flex:none; text-decoration:none; color:var(--alo-muted); padding:8px 11px; border-radius:9px; font-size:12px; font-weight:800; }
.alo-portal-nav a:hover,.alo-portal-nav a.is-active { color:var(--alo-primary); background:#e9f2ff; }
.alo-portal-section { scroll-margin-top:85px; margin-bottom:18px; }

.alo-announcement-list { display:grid; gap:12px; }
.alo-announcement-list article { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:13px; border:1px solid var(--alo-border); border-radius:12px; }
.alo-announcement-list article > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:#e9f2ff; color:var(--alo-primary); font-weight:900; }
.alo-announcement-list article.alo-announcement-urgent { border-color:#f4b5ae; background:#fff7f6; }
.alo-announcement-list article.alo-announcement-urgent > span { background:#fee4e2; color:#b42318; }
.alo-announcement-list strong,.alo-announcement-list small { display:block; }
.alo-announcement-list p { margin:4px 0; color:var(--alo-muted); }
.alo-announcement-list small { color:var(--alo-muted); }

.alo-roadmap { display:grid; gap:12px; }
.alo-roadmap details { border:1px solid var(--alo-border); border-radius:14px; overflow:hidden; background:var(--alo-surface); }
.alo-roadmap summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; padding:16px; background:var(--alo-surface-2); }
.alo-roadmap summary::-webkit-details-marker { display:none; }
.alo-roadmap summary strong,.alo-roadmap summary small { display:block; }
.alo-roadmap summary small { color:var(--alo-muted); margin-top:3px; }
.alo-roadmap-number { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--alo-primary); color:#fff; font-weight:900; }
.alo-roadmap-items { padding:0 16px 14px; }
.alo-roadmap-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 2px; border-top:1px solid var(--alo-border); }
.alo-roadmap-item.is-locked { opacity:.7; }
.alo-roadmap-item-copy strong,.alo-roadmap-item-copy small { display:block; }
.alo-roadmap-item-copy small { color:var(--alo-muted); margin-top:3px; }
.alo-roadmap-item-action { display:flex; justify-content:flex-end; }
.alo-roadmap-item-action form { margin:0; }
.alo-small-button,.alo-upload-button span,.alo-student-compliance button { appearance:none; border:0; border-radius:9px; background:var(--alo-primary); color:#fff; padding:8px 11px; font-size:11px; font-weight:850; cursor:pointer; }
.alo-small-button:hover,.alo-student-compliance button:hover { filter:brightness(.92); }
.alo-complete-label,.alo-lock-label { display:inline-flex; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:900; white-space:nowrap; }
.alo-complete-label { background:#e6f6ed; color:#137a4b; }
.alo-lock-label { background:#eef2f6; color:#667085; }

.alo-student-agenda { display:grid; gap:10px; }
.alo-student-agenda article { display:grid; grid-template-columns:58px 1fr auto; gap:14px; align-items:center; padding:12px; border:1px solid var(--alo-border); border-radius:12px; }
.alo-student-agenda time { width:52px; min-height:55px; display:grid; place-items:center; align-content:center; border-radius:11px; background:#e9f2ff; color:var(--alo-primary); }
.alo-student-agenda time span,.alo-student-agenda time strong { display:block; line-height:1; }
.alo-student-agenda time span { font-size:10px; font-weight:900; text-transform:uppercase; }
.alo-student-agenda time strong { font-size:20px; margin-top:3px; }
.alo-student-agenda article > div strong,.alo-student-agenda article > div small { display:block; }
.alo-student-agenda article > div small { color:var(--alo-muted); margin-top:3px; }

.alo-responsive-table { overflow:auto; }
.alo-responsive-table table { width:100%; border-collapse:collapse; min-width:700px; }
.alo-responsive-table th,.alo-responsive-table td { text-align:left; padding:13px 10px; border-bottom:1px solid var(--alo-border); }
.alo-responsive-table th { color:var(--alo-muted); text-transform:uppercase; letter-spacing:.04em; font-size:10px; }
.alo-responsive-table td small { display:block; color:var(--alo-muted); margin-top:4px; }
.alo-competency-full-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.alo-competency-full-list > div { border:1px solid var(--alo-border); border-radius:11px; padding:13px; }

.alo-student-compliance { display:grid; gap:10px; }
.alo-student-compliance > article { display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--alo-border); border-radius:12px; padding:14px; }
.alo-student-compliance > article > div:first-child { display:flex; align-items:flex-start; gap:10px; }
.alo-student-compliance strong,.alo-student-compliance small { display:block; }
.alo-student-compliance small { color:var(--alo-muted); margin-top:3px; }
.alo-compliance-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.alo-compliance-actions form { display:flex; align-items:center; gap:6px; margin:0; }
.alo-upload-button { display:inline-flex; cursor:pointer; }
.alo-upload-button input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.alo-upload-button.has-file span { background:var(--alo-accent); color:#17202d; }
.alo-text-link { color:var(--alo-primary); font-weight:800; font-size:12px; }

.alo-eligibility-portal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.alo-eligibility-portal > div { display:grid; grid-template-columns:auto 1fr; gap:11px; padding:13px; border:1px solid var(--alo-border); border-radius:12px; }
.alo-eligibility-portal > div > span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#eef2f6; color:var(--alo-muted); font-weight:900; }
.alo-eligibility-portal > div.is-passed { border-color:#b7e2ca; background:#f3fbf6; }
.alo-eligibility-portal > div.is-passed > span { background:#d8f3e3; color:#137a4b; }
.alo-eligibility-portal strong,.alo-eligibility-portal small { display:block; }
.alo-eligibility-portal small { color:var(--alo-muted); margin-top:3px; }
.alo-pill.is-ready { background:#e6f6ed; color:#137a4b; }
.alo-issued-credential { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:18px; padding:17px; border-radius:13px; background:linear-gradient(135deg,#eef5ff,#fff8e4); border:1px solid var(--alo-border); }
.alo-issued-credential strong,.alo-issued-credential small { display:block; }
.alo-issued-credential strong { font-size:20px; color:var(--alo-primary); margin:4px 0; }
.alo-issued-credential small { color:var(--alo-muted); }
.alo-success-message { padding:13px; border-radius:11px; background:#eaf8f0; color:#11663f; border:1px solid #b7e2ca; }

.alo-compact-portal-list { display:grid; gap:9px; }
.alo-compact-portal-list > div { display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid var(--alo-border); padding:9px 0; }
.alo-compact-portal-list strong,.alo-compact-portal-list small { display:block; }
.alo-compact-portal-list small { color:var(--alo-muted); margin-top:2px; }
.alo-cohort-actions { display:flex; gap:8px; flex-wrap:wrap; }

.alo-verify-card { max-width:720px; margin:0 auto 20px; text-align:center; }
.alo-verify-form { display:flex; gap:10px; align-items:end; margin-top:18px; }
.alo-verify-form label { display:grid; gap:6px; flex:1; text-align:left; }
.alo-verify-form label span { font-weight:800; }
.alo-verify-form input { width:100%; min-height:44px; border:1px solid var(--alo-border); border-radius:10px; padding:10px 12px; }
.alo-certificate-result { display:flex; gap:16px; align-items:center; max-width:720px; margin:0 auto 20px; }
.alo-status-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#fee4e2; color:#b42318; font-size:22px; font-weight:900; }
.alo-certificate-sheet { max-width:1000px; min-height:650px; margin:20px auto; padding:65px 70px; background:#fff; color:#17202d; border:12px double var(--alo-primary); box-shadow:0 20px 60px rgba(23,63,122,.16); position:relative; text-align:center; overflow:hidden; }
.alo-certificate-seal { width:86px; height:86px; margin:0 auto 18px; display:grid; place-items:center; border-radius:50%; background:var(--alo-primary); border:5px solid var(--alo-accent); color:#fff; font-size:21px; font-weight:900; }
.alo-certificate-status { display:inline-flex; border-radius:999px; padding:6px 11px; background:#e6f6ed; color:#137a4b; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.alo-certificate-sheet.is-revoked .alo-certificate-status { background:#fee4e2; color:#b42318; }
.alo-certificate-institution { margin:18px 0 6px; color:var(--alo-primary); text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.alo-certificate-sheet h2 { margin:8px 0 28px; font-family:Georgia,serif; font-size:42px; color:var(--alo-primary); }
.alo-certificate-sheet h3 { margin:10px 0 14px; font-family:Georgia,serif; font-size:38px; border-bottom:1px solid var(--alo-accent); display:inline-block; padding:0 28px 8px; }
.alo-certificate-sheet h4 { margin:10px 0 30px; font-size:23px; color:var(--alo-primary); }
.alo-certificate-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:42px; }
.alo-certificate-meta > div { border-top:1px solid var(--alo-border); padding-top:12px; }
.alo-certificate-meta span,.alo-certificate-meta strong { display:block; }
.alo-certificate-meta span { color:#677487; font-size:11px; text-transform:uppercase; font-weight:800; }
.alo-certificate-meta strong { margin-top:5px; }
.alo-certificate-footnote,.alo-certificate-reason { margin:28px auto 0; max-width:720px; color:#677487; }
.alo-certificate-reason { color:#b42318; }

/* Local dark mode is limited to the LearningOS surface, not the WordPress theme. */
.alo-portal[data-theme="dark"] { --alo-surface:#101a28; --alo-surface-2:#152234; --alo-text:#edf4ff; --alo-muted:#aebdd0; --alo-border:#2c3c50; --alo-soft:#152234; color:var(--alo-text); }
.alo-portal[data-theme="dark"] .alo-program-banner,
.alo-portal[data-theme="dark"] .alo-portal-stat,
.alo-portal[data-theme="dark"] .alo-portal-card,
.alo-portal[data-theme="dark"] .alo-program-card,
.alo-portal[data-theme="dark"] .alo-roadmap details { background:var(--alo-surface); border-color:var(--alo-border); color:var(--alo-text); }
.alo-portal[data-theme="dark"] h2,.alo-portal[data-theme="dark"] h3,.alo-portal[data-theme="dark"] h4,.alo-portal[data-theme="dark"] .alo-program-banner h2 { color:var(--alo-text); }
.alo-portal[data-theme="dark"] .alo-roadmap summary,.alo-portal[data-theme="dark"] .alo-cohort-metrics { background:var(--alo-surface-2); }
.alo-portal[data-theme="dark"] .alo-responsive-table th,.alo-portal[data-theme="dark"] .alo-responsive-table td,
.alo-portal[data-theme="dark"] .alo-roadmap-item,.alo-portal[data-theme="dark"] .alo-student-compliance > article { border-color:var(--alo-border); }
.alo-portal[data-theme="dark"] .alo-portal-nav { background:rgba(16,26,40,.92); }
.alo-portal[data-theme="dark"] .alo-portal-nav a:hover,.alo-portal[data-theme="dark"] .alo-portal-nav a.is-active { background:#213451; color:#fff; }

@media (max-width: 860px) {
    .alo-competency-full-list,.alo-eligibility-portal { grid-template-columns:1fr; }
    .alo-issued-credential,.alo-student-compliance > article { align-items:flex-start; flex-direction:column; }
    .alo-compliance-actions { justify-content:flex-start; }
    .alo-certificate-meta { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .alo-portal-nav { top:4px; }
    .alo-roadmap summary { grid-template-columns:auto 1fr; }
    .alo-roadmap summary > .alo-pill { grid-column:2; justify-self:start; }
    .alo-roadmap-item { grid-template-columns:auto 1fr; }
    .alo-roadmap-item-action { grid-column:2; justify-content:flex-start; }
    .alo-student-agenda article { grid-template-columns:54px 1fr; }
    .alo-student-agenda article > .alo-pill { grid-column:2; justify-self:start; }
    .alo-verify-form { align-items:stretch; flex-direction:column; }
    .alo-certificate-sheet { min-height:0; padding:40px 22px; border-width:7px; }
    .alo-certificate-sheet h2 { font-size:30px; }
    .alo-certificate-sheet h3 { font-size:28px; }
}

@media print {
    .alo-certificate-verify > :not(.alo-certificate-sheet),.alo-theme-toggle,.alo-portal-nav { display:none !important; }
    .alo-certificate-sheet { box-shadow:none; margin:0; max-width:none; page-break-inside:avoid; }
}

/* Admissions & Enrollment Gateway — v1.2 */
.alo-admissions-hero { background:linear-gradient(135deg,#102f5a 0%,var(--alo-primary) 52%,#2a6dc0 100%); }
.alo-auth-grid,.alo-offering-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.alo-offering-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.alo-offering-card { background:var(--alo-surface,#fff); border:1px solid var(--alo-border); border-radius:18px; padding:24px; box-shadow:var(--alo-shadow); display:flex; flex-direction:column; gap:14px; position:relative; overflow:hidden; }
.alo-offering-card:before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,var(--alo-primary),var(--alo-accent)); }
.alo-offering-card > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.alo-offering-card h3 { margin:4px 0 0; font-size:24px; color:var(--alo-text); }
.alo-offering-card p { margin:0; color:var(--alo-muted); }
.alo-offering-card form { margin-top:auto; }
.alo-offering-card .alo-portal-button { width:100%; justify-content:center; }
.alo-offering-card .alo-portal-button[disabled] { opacity:.5; cursor:not-allowed; }
.alo-application-banner { border-left:6px solid var(--alo-accent); }
.alo-admission-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0 24px; }
.alo-admission-steps > div { min-width:0; display:flex; align-items:center; gap:9px; padding:13px 12px; border:1px solid var(--alo-border); border-radius:13px; background:var(--alo-surface,#fff); color:var(--alo-muted); }
.alo-admission-steps > div > span { width:25px; height:25px; flex:none; display:grid; place-items:center; border-radius:50%; background:#edf1f6; font-weight:900; }
.alo-admission-steps > div strong { font-size:12px; }
.alo-admission-steps > div.is-complete { background:#f1faf5; color:#11663f; border-color:#b7e2ca; }
.alo-admission-steps > div.is-complete > span { background:#d8f3e3; color:#137a4b; }
.alo-application-form { display:grid; gap:18px; }
.alo-form-section { display:grid; gap:13px; padding:18px; border:1px solid var(--alo-border); border-radius:14px; background:var(--alo-soft); }
.alo-form-section h4 { margin:0; color:var(--alo-primary); }
.alo-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.alo-field-row:has(> :nth-child(3)) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.alo-field { display:grid; gap:7px; min-width:0; }
.alo-field > span { font-weight:800; font-size:13px; color:var(--alo-text); }
.alo-field input,.alo-field select,.alo-field textarea,.alo-auth-grid input[type="text"],.alo-auth-grid input[type="password"] { width:100%; min-height:44px; border:1px solid var(--alo-border); border-radius:10px; padding:10px 12px; background:var(--alo-surface,#fff); color:var(--alo-text); }
.alo-field textarea { min-height:105px; resize:vertical; }
.alo-check { display:flex; align-items:flex-start; gap:10px; color:var(--alo-muted); line-height:1.5; }
.alo-check input { margin-top:4px; flex:none; }
.alo-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.alo-auth-grid .login-username,.alo-auth-grid .login-password,.alo-auth-grid .login-remember { display:grid; gap:7px; }
.alo-auth-grid .login-username label,.alo-auth-grid .login-password label { font-weight:800; font-size:13px; }
.alo-auth-grid .login-submit input { display:inline-flex; border:0; border-radius:10px; padding:12px 18px; background:var(--alo-primary); color:#fff; font-weight:900; cursor:pointer; }
.alo-admission-summary-grid { margin-top:0; }
.alo-submit-card,.alo-payment-card { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.alo-payment-card { background:linear-gradient(135deg,#f3f7ff,#fff9e9); border-color:#cbd9ef; }
.alo-payment-card > div:last-child { text-align:right; min-width:220px; }
.alo-payment-card > div:last-child > strong { display:block; font-size:30px; color:var(--alo-primary); margin-bottom:10px; }
.alo-withdraw-form { display:flex; justify-content:flex-end; margin-top:18px; }
.alo-text-button { border:0; background:transparent; color:#9f281e; text-decoration:underline; cursor:pointer; }
.alo-application-history { display:grid; gap:9px; }
.alo-application-history article { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; border-bottom:1px solid var(--alo-border); }
.alo-application-history article:last-child { border-bottom:0; }
.alo-application-history strong,.alo-application-history small { display:block; }
.alo-application-history small { color:var(--alo-muted); margin-top:3px; }
.alo-status { display:inline-flex; align-items:center; border-radius:999px; padding:6px 10px; background:#edf2f7; color:#4b5c70; font-size:11px; font-weight:900; white-space:nowrap; }
.alo-status-approved,.alo-status-paid,.alo-status-waived,.alo-status-approved-enrollment-active { background:#e6f6ed; color:#137a4b; }
.alo-status-rejected,.alo-status-failed,.alo-status-corrections_requested,.alo-status-missing { background:#fee9e7; color:#a42a20; }
.alo-status-payment_pending,.alo-status-paid_pending_review,.alo-status-submitted,.alo-status-checkout_created { background:#fff3d7; color:#8a5b00; }
.alo-status-waitlisted { background:#eeeaff; color:#5d3db0; }
.alo-status-draft,.alo-status-withdrawn { background:#edf1f6; color:#5f6f82; }
.alo-program-card .alo-portal-button { display:flex; justify-content:center; margin-top:16px; }
.alo-portal[data-theme="dark"] .alo-offering-card,.alo-portal[data-theme="dark"] .alo-form-section,.alo-portal[data-theme="dark"] .alo-admission-steps > div { background:var(--alo-surface); border-color:var(--alo-border); }
.alo-portal[data-theme="dark"] .alo-field input,.alo-portal[data-theme="dark"] .alo-field select,.alo-portal[data-theme="dark"] .alo-field textarea,.alo-portal[data-theme="dark"] .alo-auth-grid input { background:var(--alo-surface-2); border-color:var(--alo-border); color:var(--alo-text); }
@media (max-width:1050px) { .alo-offering-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .alo-admission-steps { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .alo-auth-grid,.alo-offering-grid,.alo-field-row,.alo-field-row:has(> :nth-child(3)),.alo-admission-steps { grid-template-columns:1fr; } .alo-submit-card,.alo-payment-card { align-items:flex-start; flex-direction:column; } .alo-payment-card > div:last-child { text-align:left; min-width:0; width:100%; } .alo-application-history article { align-items:flex-start; flex-direction:column; } }


/* Complete enrollment pipeline — v1.3 */
.alo-registration-form .alo-form-section { background:linear-gradient(180deg,var(--alo-soft),var(--alo-surface,#fff)); }
.alo-next-steps { margin-top:24px; padding:18px; border-radius:14px; background:var(--alo-soft); border:1px solid var(--alo-border); }
.alo-next-steps h3 { margin:0 0 10px; font-size:18px; }
.alo-next-steps ol { margin:0; padding-left:20px; color:var(--alo-muted); display:grid; gap:8px; }
.alo-education-warning { padding:12px 14px; border:1px solid #f2b8b3; border-radius:10px; background:#fff1f0; color:#9f281e; }
.alo-requirement-blocked { color:#9f281e!important; font-weight:800; }
[data-alo-education-type][hidden], [data-alo-education-warning][hidden] { display:none!important; }
.alo-portal[data-theme="dark"] .alo-next-steps { background:var(--alo-surface-2); }
.alo-portal[data-theme="dark"] .alo-education-warning { background:#3d2023; border-color:#714047; color:#ffd8d5; }

/* v1.3.3 direct payment step */
.alo-payment-action{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:min(100%,360px)}.alo-payment-total{font-size:clamp(1.45rem,2.6vw,2rem);color:#123f78}.alo-payment-unavailable{max-width:420px;margin:0;color:#9a3412;font-weight:700}.alo-payment-action small{max-width:420px;color:#64748b;text-align:right}@media(max-width:760px){.alo-payment-action{align-items:stretch;min-width:100%}.alo-payment-action small{text-align:left}}


/* Payment readiness and clickable checkout action — v1.3.5 */
.alo-payment-action form { position:relative; z-index:2; width:100%; }
.alo-payment-action .alo-portal-button { pointer-events:auto!important; cursor:pointer!important; position:relative; z-index:3; width:100%; justify-content:center; }
.alo-payment-readiness { width:100%; border:1px solid var(--alo-border); border-radius:12px; padding:12px 14px; text-align:left; box-sizing:border-box; }
.alo-payment-readiness strong { display:block; margin-bottom:4px; }
.alo-payment-readiness p { margin:0; font-size:13px; }
.alo-payment-readiness ul { margin:6px 0 0 18px; padding:0; font-size:13px; }
.alo-payment-readiness-warning { background:#fff8e7; border-color:#e7c86b; color:#6f4b00; }
.alo-payment-readiness-ready { background:#eefaf3; border-color:#9fd4b4; color:#0f6339; }
.alo-form-section h4 small { font-size:12px; font-weight:700; color:var(--alo-muted); }

/* Integrated course launcher and lesson player — v1.3.6 */
.alo-program-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.alo-course-launch-button{min-width:150px}.alo-course-unavailable{font-size:12px;color:var(--alo-muted);font-weight:800}.alo-course-workspace-section{padding:0;overflow:hidden}.alo-course-home{padding:24px}.alo-course-home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.alo-course-home-header h3{font-size:clamp(24px,3vw,34px);margin:4px 0 8px}.alo-course-home-header p{max-width:720px;margin:0;color:var(--alo-muted)}.alo-course-home-progress{text-align:right;min-width:190px}.alo-course-home-progress strong,.alo-course-home-progress span{display:block}.alo-course-home-progress strong{font-size:32px;color:var(--alo-primary)}.alo-course-home-progress span{font-size:12px;color:var(--alo-muted);font-weight:700}.alo-next-activity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;border:1px solid #c7d7ec;border-radius:16px;background:linear-gradient(135deg,#eef5ff 0%,#fffaf0 100%);margin-bottom:24px}.alo-next-activity-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--alo-primary);color:#fff;font-size:20px;box-shadow:0 10px 24px rgba(23,63,122,.18)}.alo-next-activity-copy span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900;color:var(--alo-accent)}.alo-next-activity-copy h4{font-size:20px;margin:4px 0}.alo-next-activity-copy p{margin:0;color:var(--alo-muted);font-size:13px}.alo-next-activity-action{min-width:150px}.alo-next-activity-action .alo-inline-course-form,.alo-next-activity-action .alo-portal-button{width:100%}.alo-course-module-grid{display:grid;gap:16px}.alo-course-module-card{border:1px solid var(--alo-border);border-radius:16px;background:var(--alo-surface);overflow:hidden}.alo-course-module-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 18px;background:var(--alo-surface-2)}.alo-course-module-card h4{margin:0 0 3px;font-size:18px}.alo-course-module-card header p{margin:0;color:var(--alo-muted);font-size:12px}.alo-course-module-number{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--alo-primary);color:#fff;font-weight:900}.alo-course-module-description{margin:0;padding:14px 18px 2px;color:var(--alo-muted);font-size:13px}.alo-course-activity-list{padding:10px 18px 16px}.alo-course-activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--alo-border)}.alo-course-activity-row:last-child{border-bottom:0}.alo-course-activity-row.is-locked{opacity:.65}.alo-course-activity-status{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#edf3fb;color:var(--alo-primary);font-size:12px;font-weight:900}.alo-course-activity-row strong,.alo-course-activity-row small{display:block}.alo-course-activity-row small{margin-top:3px;color:var(--alo-muted);font-size:11px}.alo-course-activity-action a,.alo-course-text-button{border:0;background:transparent;color:var(--alo-primary)!important;text-decoration:none!important;font-weight:900;font-size:12px;cursor:pointer;padding:7px 0}.alo-inline-course-form{margin:0}.alo-course-empty{margin:8px 0;color:var(--alo-muted)}.alo-course-empty-state{text-align:center;padding:44px 24px}.alo-course-empty-state>span{display:block;font-size:38px;margin-bottom:10px}.alo-course-empty-state h4{font-size:22px;margin:0 0 8px}.alo-course-empty-state p{max-width:640px;margin:0 auto 18px;color:var(--alo-muted)}
.alo-course-player{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);min-height:560px}.alo-course-outline{padding:20px;background:#f3f7fc;border-right:1px solid var(--alo-border);overflow:auto;max-height:78vh}.alo-course-back{display:inline-flex;margin-bottom:18px;color:var(--alo-primary)!important;text-decoration:none!important;font-weight:900;font-size:12px}.alo-course-outline-title{padding:0 4px 14px}.alo-course-outline-title strong{display:block;margin-top:4px}.alo-course-outline details{border-top:1px solid var(--alo-border);padding:10px 0}.alo-course-outline summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:12px;font-weight:900}.alo-course-outline summary span{color:var(--alo-muted)}.alo-course-outline details>div{display:grid;gap:4px;margin-top:8px}.alo-outline-link,.alo-outline-start-button{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:7px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--alo-text)!important;text-decoration:none!important;text-align:left;font-size:11px;line-height:1.35;cursor:pointer}.alo-outline-link:hover,.alo-outline-start-button:hover{background:#e4edf9}.alo-outline-link.is-current{background:var(--alo-primary);color:#fff!important}.alo-outline-link.is-locked{color:var(--alo-muted)!important;cursor:not-allowed}.alo-course-outline .alo-inline-course-form{width:100%}.alo-course-content{padding:clamp(24px,4vw,46px);min-width:0}.alo-course-breadcrumb{font-size:11px;color:var(--alo-muted);font-weight:700;margin-bottom:22px}.alo-course-breadcrumb span{margin:0 5px}.alo-course-content-header{padding-bottom:20px;border-bottom:1px solid var(--alo-border)}.alo-item-type-badge{display:inline-flex;padding:6px 9px;border-radius:8px;background:#e9f2ff;color:var(--alo-primary);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.alo-course-content-header h3{font-size:clamp(28px,4vw,42px);line-height:1.1;margin:12px 0 8px}.alo-course-content-header p{margin:0;color:var(--alo-muted)}.alo-learning-content{padding:28px 0;font-size:16px;line-height:1.75}.alo-learning-content img,.alo-learning-content video,.alo-learning-content iframe{max-width:100%;height:auto}.alo-learning-content iframe{aspect-ratio:16/9;width:100%;border:0}.alo-course-content-placeholder{padding:28px;border:1px dashed #b8c8dc;border-radius:14px;background:#f8fbff;text-align:center}.alo-course-content-placeholder span{font-size:32px}.alo-course-content-placeholder h4{margin:8px 0}.alo-course-content-placeholder p{margin:0;color:var(--alo-muted)}.alo-assessment-notice{padding:16px;border-radius:12px;background:#fff8e7;border:1px solid #e7c86b;color:#6f4b00}.alo-assessment-notice p{margin:5px 0 0}.alo-complete-activity-form{display:flex;justify-content:flex-end;padding-top:10px}.alo-activity-complete-banner{padding:14px;border-radius:12px;background:#eaf8f0;border:1px solid #b7e2ca;color:#11663f;font-weight:900;text-align:center}.alo-course-player-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--alo-border)}.alo-course-player-footer>div:last-child{text-align:right}.alo-course-player-footer a{color:var(--alo-primary)!important;text-decoration:none!important;font-weight:900;font-size:12px}.alo-small-button-secondary{background:#eef3f8!important;color:var(--alo-primary)!important}
.alo-portal[data-theme="dark"] .alo-course-module-card,.alo-portal[data-theme="dark"] .alo-course-content{background:var(--alo-surface);color:var(--alo-text)}.alo-portal[data-theme="dark"] .alo-course-module-card>header,.alo-portal[data-theme="dark"] .alo-course-outline{background:var(--alo-surface-2)}.alo-portal[data-theme="dark"] .alo-next-activity-card{background:linear-gradient(135deg,#17273d,#332c1b);border-color:var(--alo-border)}.alo-portal[data-theme="dark"] .alo-course-content-placeholder{background:var(--alo-surface-2);border-color:var(--alo-border)}.alo-portal[data-theme="dark"] .alo-outline-link:hover,.alo-portal[data-theme="dark"] .alo-outline-start-button:hover{background:#20334e}
@media(max-width:900px){.alo-course-player{grid-template-columns:1fr}.alo-course-outline{max-height:none;border-right:0;border-bottom:1px solid var(--alo-border)}.alo-course-home-header{flex-direction:column}.alo-course-home-progress{text-align:left}.alo-program-actions{justify-content:flex-start}}
@media(max-width:680px){.alo-next-activity-card{grid-template-columns:auto 1fr}.alo-next-activity-action{grid-column:1/-1;width:100%}.alo-course-module-card>header{grid-template-columns:auto 1fr}.alo-course-module-card>header>.alo-pill{grid-column:2;justify-self:start}.alo-course-activity-row{grid-template-columns:auto 1fr}.alo-course-activity-action{grid-column:2}.alo-course-content{padding:24px 18px}.alo-course-player-footer{grid-template-columns:1fr 1fr}.alo-course-player-footer>a{display:none}.alo-program-actions{width:100%}.alo-course-launch-button{width:100%}}

/* 1.3.8 — responsive module accordions and readable activity outline */
.alo-course-module-card{display:block;overflow:hidden}
.alo-course-module-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:17px 18px;background:var(--alo-surface-2);cursor:pointer;list-style:none;min-width:0}
.alo-course-module-summary::-webkit-details-marker{display:none}
.alo-course-module-summary::marker{display:none;content:""}
.alo-course-module-heading{min-width:0}
.alo-course-module-heading h4,.alo-course-module-heading p{max-width:100%;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}
.alo-module-expand{font-size:20px;color:var(--alo-primary);line-height:1;transition:transform .2s ease}
.alo-course-module-card[open] .alo-module-expand{transform:rotate(180deg)}
.alo-course-module-body{border-top:1px solid var(--alo-border)}
.alo-course-activity-copy{min-width:0}
.alo-course-activity-copy strong,.alo-course-activity-copy small{max-width:100%;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}

.alo-course-outline-toggle{display:none}
.alo-course-outline-inner{min-width:0}
.alo-outline-module{border-top:1px solid var(--alo-border);padding:10px 0;min-width:0}
.alo-outline-module>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;cursor:pointer;list-style:none;font-size:13px;font-weight:900;line-height:1.4;min-width:0}
.alo-outline-module>summary::-webkit-details-marker{display:none}
.alo-outline-module>summary::marker{display:none;content:""}
.alo-outline-module>summary>span{min-width:0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}
.alo-outline-module>summary>small{color:var(--alo-muted);font-weight:800;white-space:nowrap}
.alo-outline-activities{display:grid;gap:6px;margin-top:10px;min-width:0}
.alo-outline-activity,
.alo-outline-start-button{appearance:none!important;-webkit-appearance:none!important;width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;padding:10px!important;margin:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--alo-text)!important;text-decoration:none!important;text-align:left!important;font:inherit!important;font-size:12px!important;line-height:1.35!important;cursor:pointer!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important;box-shadow:none!important}
.alo-outline-activity:hover,.alo-outline-start-button:hover{background:#e4edf9!important}
.alo-outline-activity.is-current{background:var(--alo-primary)!important;color:#fff!important}
.alo-outline-activity.is-current .alo-outline-copy small,.alo-outline-activity.is-current .alo-outline-action{color:rgba(255,255,255,.82)!important}
.alo-outline-activity.is-locked{opacity:.65;cursor:not-allowed!important}
.alo-outline-status{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#e8f0fb;color:var(--alo-primary);font-weight:900;line-height:1;flex:none}
.alo-outline-activity.is-current .alo-outline-status{background:rgba(255,255,255,.18);color:#fff}
.alo-outline-copy{display:block;min-width:0!important;max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}
.alo-outline-copy strong,.alo-outline-copy small{display:block;min-width:0;max-width:100%;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}
.alo-outline-copy strong{font-size:12px;line-height:1.4}
.alo-outline-copy small{margin-top:3px;color:var(--alo-muted);font-size:10px;line-height:1.35}
.alo-outline-action{justify-self:end;color:var(--alo-primary);font-size:10px;font-weight:900;white-space:nowrap}
.alo-outline-activity-form{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
.alo-outline-activity-form input[type="hidden"]{display:none!important}
.alo-generated-learning-activity{max-width:850px}
.alo-generated-learning-activity h2{margin-top:0}
.alo-generated-learning-activity h3{margin-top:1.5em}

.alo-portal[data-theme="dark"] .alo-outline-activity:hover,
.alo-portal[data-theme="dark"] .alo-outline-start-button:hover{background:#20334e!important}
.alo-portal[data-theme="dark"] .alo-outline-status{background:#243752;color:#d9e7fb}

@media(max-width:900px){
    .alo-course-player{grid-template-columns:minmax(0,1fr)!important;min-height:0}
    .alo-course-outline{width:100%!important;max-width:none!important;min-width:0!important;max-height:none!important;padding:0!important;overflow:visible!important;border-right:0!important;border-bottom:1px solid var(--alo-border)}
    .alo-course-outline-toggle{appearance:none;-webkit-appearance:none;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;border:0;background:var(--alo-surface-2);color:var(--alo-text);text-align:left;cursor:pointer;font:inherit}
    .alo-course-outline-toggle>span:first-child{font-size:12px;font-weight:900;color:var(--alo-primary);white-space:nowrap}
    .alo-course-outline-toggle strong{min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .alo-outline-toggle-icon{font-size:20px;line-height:1;transition:transform .2s ease}
    .alo-course-outline.is-open .alo-outline-toggle-icon{transform:rotate(180deg)}
    .alo-course-outline-inner{display:none;padding:14px 16px 18px;max-height:68vh;overflow:auto;background:var(--alo-surface-2)}
    .alo-course-outline.is-open .alo-course-outline-inner{display:block}
    .alo-course-back{margin-bottom:12px}
    .alo-course-outline-title{padding:0 0 12px}
}

@media(max-width:680px){
    .alo-course-home{padding:18px 14px}
    .alo-course-module-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:14px}
    .alo-course-module-summary>.alo-pill{grid-column:2;justify-self:start}
    .alo-course-module-summary>.alo-module-expand{grid-column:3;grid-row:1/3}
    .alo-course-module-number{width:34px;height:34px}
    .alo-course-module-heading h4{font-size:16px;line-height:1.35}
    .alo-course-activity-list{padding:8px 14px 14px}
    .alo-course-activity-row{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:12px 0}
    .alo-course-activity-action{grid-column:2;justify-self:start}
    .alo-outline-activity,.alo-outline-start-button{grid-template-columns:24px minmax(0,1fr)!important;padding:11px 8px!important}
    .alo-outline-action{grid-column:2;justify-self:start;margin-top:2px}
    .alo-outline-copy strong{font-size:13px}
    .alo-course-content{width:100%;min-width:0;padding:22px 16px}
}

/* 1.3.9 - full phlebotomy lessons and server-graded weekly tests */
.alo-full-lesson{display:grid;gap:22px;max-width:1040px;margin:0 auto}
.alo-lesson-callout{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #c8d8ed;border-radius:14px;background:linear-gradient(135deg,#eef5ff,#fffaf0)}
.alo-lesson-callout strong{color:var(--alo-primary);white-space:nowrap}
.alo-lesson-callout span{color:var(--alo-muted);line-height:1.55}
.alo-slide-frame{padding:14px;border:1px solid var(--alo-border);border-radius:16px;background:var(--alo-surface-2);box-shadow:0 12px 34px rgba(15,38,72,.08)}
.alo-learning-content iframe.alo-curriculum-slide{display:block;width:100%;height:min(72vh,760px);min-height:560px;aspect-ratio:16/10;border:1px solid var(--alo-border);border-radius:12px;background:#fff}
.alo-slide-frame>p{margin:11px 2px 0;text-align:right;font-size:12px}
.alo-slide-frame a{font-weight:900;color:var(--alo-primary)!important}
.alo-lesson-transcript{border:1px solid var(--alo-border);border-radius:14px;background:var(--alo-surface);overflow:hidden}
.alo-lesson-transcript>summary{cursor:pointer;padding:16px 18px;background:var(--alo-surface-2);color:var(--alo-primary);font-weight:900;list-style:none}
.alo-lesson-transcript>summary::-webkit-details-marker{display:none}
.alo-lesson-transcript>summary:after{content:'+';float:right;font-size:20px;line-height:1}
.alo-lesson-transcript[open]>summary:after{content:'-'}
.alo-transcript-content{display:grid;gap:14px;padding:20px}
.alo-transcript-block{padding:0 0 14px;border-bottom:1px solid var(--alo-border)}
.alo-transcript-block:last-child{padding-bottom:0;border-bottom:0}
.alo-transcript-block h4{margin:0 0 8px;color:var(--alo-text);font-size:17px}
.alo-transcript-block p{margin:0;color:var(--alo-text);line-height:1.7}
.alo-clinical-connection,.alo-before-continue{padding:20px;border-radius:14px}
.alo-clinical-connection{border:1px solid #a9d8bd;background:#eefaf3}
.alo-before-continue{border:1px solid #e3c977;background:#fff9e9}
.alo-clinical-connection h4,.alo-before-continue h4{margin:0 0 8px}
.alo-clinical-connection p,.alo-before-continue ul{margin:0;line-height:1.65}
.alo-before-continue ul{padding-left:20px}
.alo-quiz-introduction{margin-bottom:22px;padding:20px;border:1px solid #c8d8ed;border-radius:14px;background:linear-gradient(135deg,#eef5ff,#fffaf0)}
.alo-quiz-introduction h2{margin-top:0}
.alo-quiz-introduction ul{margin-bottom:0}
.alo-week-quiz{display:grid;gap:18px;margin-top:24px}
.alo-quiz-result{display:flex;justify-content:space-between;gap:16px;padding:15px 17px;border-radius:12px;font-weight:800}
.alo-quiz-result.is-passed{background:#eaf8f0;border:1px solid #b7e2ca;color:#11663f}
.alo-quiz-result.is-failed{background:#fff2ef;border:1px solid #f0b8ae;color:#962f22}
.alo-quiz-complete-card,.alo-quiz-locked-card{display:flex;align-items:flex-start;gap:14px;padding:20px;border-radius:14px}
.alo-quiz-complete-card{border:1px solid #a9d8bd;background:#eefaf3}
.alo-quiz-locked-card{border:1px solid #e3c977;background:#fff9e9}
.alo-quiz-complete-card>span,.alo-quiz-locked-card>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--alo-primary);color:#fff;font-size:20px;font-weight:900}
.alo-quiz-complete-card h4,.alo-quiz-locked-card h4{margin:0 0 5px}
.alo-quiz-complete-card p,.alo-quiz-locked-card p{margin:0;color:var(--alo-muted)}
.alo-quiz-form{display:grid;gap:16px}
.alo-quiz-instructions{display:flex;flex-wrap:wrap;gap:10px 18px;padding:14px 16px;border:1px solid var(--alo-border);border-radius:12px;background:var(--alo-surface-2);font-size:12px}
.alo-quiz-instructions strong{color:var(--alo-primary)}
.alo-quiz-question{margin:0;padding:18px;border:1px solid var(--alo-border);border-radius:14px;background:var(--alo-surface)}
.alo-quiz-question legend{display:flex;align-items:flex-start;gap:11px;width:100%;padding:0 4px 10px;font-weight:900;line-height:1.45}
.alo-quiz-question legend>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--alo-primary);color:#fff;font-size:12px}
.alo-quiz-options{display:grid;gap:9px;margin-top:8px}
.alo-quiz-options label{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid var(--alo-border);border-radius:10px;background:var(--alo-surface-2);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.alo-quiz-options label:hover{border-color:var(--alo-primary);box-shadow:0 6px 18px rgba(23,63,122,.08);transform:translateY(-1px)}
.alo-quiz-options input{margin-top:3px;flex:none}
.alo-quiz-options span{line-height:1.5}
.alo-quiz-options b{color:var(--alo-primary)}
.alo-quiz-submit-bar{position:sticky;bottom:12px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid #c8d8ed;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 14px 36px rgba(15,38,72,.16);backdrop-filter:blur(12px)}
.alo-quiz-submit-bar small{color:var(--alo-muted)}
.alo-quiz-message{padding:15px;border-radius:12px}.alo-quiz-message.is-error{background:#fff2ef;border:1px solid #f0b8ae;color:#962f22}
.alo-portal[data-theme="dark"] .alo-lesson-callout,.alo-portal[data-theme="dark"] .alo-quiz-introduction{background:linear-gradient(135deg,#17273d,#332c1b);border-color:var(--alo-border)}
.alo-portal[data-theme="dark"] .alo-slide-frame,.alo-portal[data-theme="dark"] .alo-lesson-transcript,.alo-portal[data-theme="dark"] .alo-quiz-question{background:var(--alo-surface)}
.alo-portal[data-theme="dark"] .alo-clinical-connection,.alo-portal[data-theme="dark"] .alo-quiz-complete-card{background:#17362a;border-color:#2f6f51}
.alo-portal[data-theme="dark"] .alo-before-continue,.alo-portal[data-theme="dark"] .alo-quiz-locked-card{background:#3a321c;border-color:#7a682e}
.alo-portal[data-theme="dark"] .alo-quiz-submit-bar{background:rgba(22,30,43,.95);border-color:var(--alo-border)}
@media(max-width:760px){
  .alo-lesson-callout,.alo-quiz-result,.alo-quiz-submit-bar{align-items:flex-start;flex-direction:column}
  .alo-learning-content iframe.alo-curriculum-slide{height:440px;min-height:440px}
  .alo-transcript-content{padding:16px}
  .alo-quiz-question{padding:15px 12px}
  .alo-quiz-submit-bar{bottom:8px}.alo-quiz-submit-bar .alo-portal-button{width:100%;justify-content:center}
}
@media(max-width:480px){.alo-learning-content iframe.alo-curriculum-slide{height:350px;min-height:350px}.alo-slide-frame{padding:8px}.alo-lesson-callout strong{white-space:normal}}


/* v1.4.0 — one-click weekly module completion and assessment unlock */
.alo-module-completion-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 18px 18px;padding:17px 18px;border:1px solid #c9d9ee;border-radius:14px;background:linear-gradient(135deg,#eef5ff,#fffaf0)}
.alo-module-completion-panel.is-compact{margin:20px 0 0}
.alo-module-completion-copy{display:grid;gap:3px;min-width:0}
.alo-module-completion-copy strong{font-size:14px;color:var(--alo-primary)}
.alo-module-completion-copy span{font-size:12px;line-height:1.5;color:var(--alo-muted)}
.alo-complete-module-form{margin:0;flex:none}
.alo-complete-module-button{white-space:normal;min-width:270px;text-align:center;justify-content:center}
.alo-module-completion-link{font-size:12px;font-weight:900;color:var(--alo-primary)!important;text-decoration:none!important;white-space:nowrap}
.alo-complete-module-button[aria-busy="true"]{opacity:.72;cursor:wait}
.alo-portal[data-theme="dark"] .alo-module-completion-panel{background:linear-gradient(135deg,#17273d,#332c1b);border-color:var(--alo-border)}
@media(max-width:680px){.alo-module-completion-panel{align-items:stretch;flex-direction:column;margin:12px 14px 14px;padding:15px}.alo-complete-module-form,.alo-complete-module-button,.alo-module-completion-panel>.alo-portal-button{width:100%;min-width:0}.alo-module-completion-link{align-self:flex-start}}

/* v1.4.2 — AI-assisted written assignments and rubric grading */
.alo-assignment-workspace{display:grid;gap:18px;margin-top:24px;padding:22px;border:1px solid var(--alo-border);border-radius:16px;background:var(--alo-surface-2)}
.alo-assignment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.alo-assignment-heading h4{margin:3px 0 0;color:var(--alo-text);font-size:21px}
.alo-assignment-status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#edf2f8;color:var(--alo-primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.alo-assignment-status.is-graded,.alo-assignment-status.is-approved{background:#eaf8f0;color:#11663f}
.alo-assignment-status.is-needs_review,.alo-assignment-status.is-ai_queued,.alo-assignment-status.is-ai_grading{background:#fff7df;color:#805d00}
.alo-assignment-status.is-returned,.alo-assignment-status.is-failed{background:#fff0ed;color:#962f22}
.alo-rubric-preview{border:1px solid var(--alo-border);border-radius:13px;background:var(--alo-surface);overflow:hidden}
.alo-rubric-preview>summary{cursor:pointer;padding:14px 16px;font-weight:900;color:var(--alo-primary)}
.alo-rubric-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}
.alo-rubric-preview-grid>div{padding:14px;border:1px solid var(--alo-border);border-radius:11px;background:var(--alo-surface-2)}
.alo-rubric-preview-grid strong,.alo-rubric-preview-grid span{display:block}.alo-rubric-preview-grid span{margin-top:3px;color:var(--alo-primary);font-size:12px;font-weight:900}.alo-rubric-preview-grid p{margin:8px 0 0;color:var(--alo-muted);font-size:13px;line-height:1.55}
.alo-submission-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--alo-border);border-radius:12px;background:var(--alo-surface)}
.alo-submission-result>div{display:grid;gap:3px}.alo-submission-result span{font-size:12px;color:var(--alo-muted)}.alo-submission-score{font-size:24px;color:var(--alo-primary)}
.alo-assignment-message{padding:15px 16px;border-radius:12px}.alo-assignment-message strong{display:block;margin-bottom:4px}.alo-assignment-message p{margin:0;line-height:1.55}
.alo-assignment-message.is-pending{background:#fff9e9;border:1px solid #e3c977;color:#715500}.alo-assignment-message.is-graded{background:#eefaf3;border:1px solid #a9d8bd;color:#11663f}.alo-assignment-message.is-returned{background:#fff2ef;border:1px solid #f0b8ae;color:#962f22}
.alo-assignment-form{display:grid;gap:14px}.alo-assignment-form label{display:grid;gap:7px;font-weight:900;color:var(--alo-text)}.alo-assignment-form textarea{width:100%;min-height:240px;padding:14px;border:1px solid var(--alo-border);border-radius:12px;background:var(--alo-surface);color:var(--alo-text);font:inherit;line-height:1.6;resize:vertical}.alo-assignment-form input[type=file]{padding:12px;border:1px dashed var(--alo-border);border-radius:11px;background:var(--alo-surface)}
.alo-assignment-form textarea:focus,.alo-assignment-form input[type=file]:focus{outline:3px solid rgba(31,99,180,.16);border-color:var(--alo-primary)}
.alo-assignment-form small{font-weight:500;color:var(--alo-muted);line-height:1.5}.alo-assignment-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.alo-assignment-privacy{max-width:650px;font-size:12px;color:var(--alo-muted);line-height:1.5}.alo-assignment-attachment{font-size:13px}.alo-assignment-attachment a{font-weight:900;color:var(--alo-primary)!important}
.alo-portal[data-theme="dark"] .alo-assignment-workspace,.alo-portal[data-theme="dark"] .alo-rubric-preview-grid>div{background:var(--alo-surface)}
@media(max-width:760px){.alo-assignment-workspace{padding:16px}.alo-assignment-heading,.alo-submission-result,.alo-assignment-actions{align-items:stretch;flex-direction:column}.alo-rubric-preview-grid{grid-template-columns:1fr}.alo-assignment-actions .alo-portal-button{width:100%;justify-content:center}.alo-submission-score{font-size:21px}}
.alo-ai-privacy-note{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #c8d8ed;border-radius:11px;background:#eef5ff;color:var(--alo-text)}
.alo-ai-privacy-note>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--alo-primary);color:#fff;font-weight:900}.alo-ai-privacy-note p{margin:0;font-size:12px;line-height:1.55}.alo-portal[data-theme="dark"] .alo-ai-privacy-note{background:#17273d;border-color:var(--alo-border)}

/* v1.5.0 imported course content */
.alo-imported-lesson{display:grid;gap:22px}.alo-imported-lesson section,.alo-imported-lesson aside{padding:20px;border:1px solid rgba(23,63,122,.14);border-radius:16px;background:rgba(247,250,255,.74)}.alo-imported-lesson h4{margin:0 0 10px}.alo-imported-lesson ul,.alo-imported-lesson ol{padding-left:24px}.alo-imported-lesson-body{font-size:1.04rem;line-height:1.75}.alo-visual-description{border-left:5px solid var(--alo-accent)!important;background:#fffaf0!important}.alo-imported-quiz-introduction{padding:20px;border-radius:16px;background:linear-gradient(135deg,rgba(23,63,122,.08),rgba(217,169,40,.08));border:1px solid rgba(23,63,122,.16)}

/* v1.6.4 — original PDF slides as the primary student lesson */
.alo-learning-content.has-original-slides{padding-top:20px}
.alo-student-slide-lesson{display:grid;gap:14px;margin:0 0 22px;padding:16px;border:1px solid var(--alo-border);border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fffaf1);box-shadow:0 14px 38px rgba(15,38,72,.1)}
.alo-student-slide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 4px 0}
.alo-student-slide-header h4{margin:4px 0 6px;font-size:22px;line-height:1.25;color:var(--alo-text)}
.alo-student-slide-header p{max-width:760px;margin:0;color:var(--alo-muted);font-size:13px;line-height:1.55}
.alo-slide-fullscreen-button{flex:none;white-space:nowrap}
.alo-student-pdf-shell{position:relative;overflow:hidden;border:1px solid #aebed2;border-radius:14px;background:#24272c;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.alo-learning-content iframe.alo-student-pdf-frame{display:block;width:100%;height:min(80vh,900px);min-height:650px;aspect-ratio:auto;border:0;background:#24272c}
.alo-student-slide-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px;color:var(--alo-muted);font-size:12px;line-height:1.5}
.alo-student-slide-footer a{color:var(--alo-primary)!important;font-weight:900;text-decoration:none!important}
.alo-imported-accessible-notes{margin:20px 0 0;border:1px solid var(--alo-border);border-radius:14px;background:var(--alo-surface);overflow:hidden}
.alo-imported-accessible-notes>summary{cursor:pointer;padding:16px 18px;background:var(--alo-surface-2);color:var(--alo-primary);font-weight:900;list-style:none}
.alo-imported-accessible-notes>summary::-webkit-details-marker{display:none}
.alo-imported-accessible-notes>summary:after{content:'+';float:right;font-size:20px;line-height:1}
.alo-imported-accessible-notes[open]>summary:after{content:'−'}
.alo-imported-accessible-notes-body{padding:20px}
.alo-portal[data-theme="dark"] .alo-student-slide-lesson{background:linear-gradient(135deg,#17273d,#332c1b);border-color:var(--alo-border)}
.alo-portal[data-theme="dark"] .alo-imported-accessible-notes{background:var(--alo-surface);border-color:var(--alo-border)}
@media(max-width:900px){
  .alo-student-slide-header{flex-direction:column}
  .alo-slide-fullscreen-button{width:100%;justify-content:center;text-align:center}
  .alo-learning-content iframe.alo-student-pdf-frame{height:68vh;min-height:520px}
}
@media(max-width:680px){
  .alo-student-slide-lesson{padding:10px;border-radius:14px}
  .alo-student-slide-header{padding:4px 4px 0}
  .alo-student-slide-header h4{font-size:18px}
  .alo-learning-content iframe.alo-student-pdf-frame{height:62vh;min-height:430px}
  .alo-student-slide-footer{align-items:flex-start;flex-direction:column;gap:5px}
  .alo-imported-accessible-notes-body{padding:14px}
}
@media(max-width:480px){
  .alo-learning-content iframe.alo-student-pdf-frame{height:58vh;min-height:360px}
}

/* v1.6.5 — authenticated exact-slide image viewer */
.alo-image-slide-lesson{overflow:hidden}
.alo-native-slide-viewer{overflow:hidden;border:1px solid #aebed2;border-radius:14px;background:#1f2530;box-shadow:0 8px 24px rgba(0,0,0,.14);outline:none}
.alo-native-slide-viewer:focus-visible{outline:4px solid rgba(31,99,180,.28);outline-offset:3px}
.alo-native-slide-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:#173f7a;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}
.alo-slide-nav-button{appearance:none;border:1px solid rgba(255,255,255,.32);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;padding:9px 13px;font:inherit;font-size:13px;font-weight:900;cursor:pointer;transition:background .2s ease,opacity .2s ease,transform .2s ease}
.alo-slide-nav-button:hover:not(:disabled),.alo-slide-nav-button:focus-visible{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.alo-slide-nav-button:disabled{opacity:.38;cursor:not-allowed}
.alo-slide-page-control{display:flex;align-items:center;gap:7px;color:#fff;font-size:13px;font-weight:800}
.alo-slide-page-control input{width:64px;min-height:38px;padding:6px 7px;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:#fff;color:#102d59;text-align:center;font:inherit;font-weight:900}
.alo-slide-deck-button{margin-left:auto}
.alo-native-slide-stage{position:relative;display:grid;place-items:center;min-height:360px;padding:14px;background:#24272c}
.alo-native-slide-stage img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:6px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.32)}
.alo-slide-loading{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);max-width:80%;padding:12px 16px;border-radius:10px;background:rgba(9,24,45,.9);color:#fff;font-size:13px;font-weight:900;text-align:center}
.alo-native-slide-viewer.is-loading .alo-native-slide-stage img{opacity:.42}
.alo-native-slide-viewer.has-error .alo-native-slide-stage{min-height:300px}
.alo-native-slide-viewer:fullscreen,.alo-native-slide-viewer.is-fullscreen{width:100vw;height:100vh;border:0;border-radius:0;background:#111;display:flex;flex-direction:column}
.alo-native-slide-viewer:fullscreen .alo-native-slide-stage,.alo-native-slide-viewer.is-fullscreen .alo-native-slide-stage{flex:1;min-height:0;padding:10px}
.alo-native-slide-viewer:fullscreen .alo-native-slide-stage img,.alo-native-slide-viewer.is-fullscreen .alo-native-slide-stage img{width:100%;height:100%;max-height:none;object-fit:contain}
.alo-slide-resource-links{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.alo-text-button{appearance:none;border:0;padding:0;background:none;color:var(--alo-primary);font:inherit;font-size:12px;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.alo-text-button:hover,.alo-text-button:focus-visible{color:var(--alo-accent)}
@media(max-width:760px){
  .alo-native-slide-toolbar{justify-content:space-between;gap:7px;padding:8px}
  .alo-slide-nav-button{padding:8px 10px;font-size:12px}
  .alo-slide-deck-button{display:none}
  .alo-native-slide-stage{min-height:230px;padding:7px}
  .alo-native-slide-stage img{max-height:65vh}
  .alo-slide-resource-links{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:7px}
}
@media(max-width:480px){
  .alo-slide-nav-button{font-size:0}
  [data-alo-slide-prev]::after{content:'←';font-size:18px}
  [data-alo-slide-next]::after{content:'→';font-size:18px}
  .alo-slide-page-control input{width:54px}
  .alo-native-slide-stage{min-height:190px}
}

/* v1.6.6 — interactive assessment selection and progress */
.alo-quiz-options label.is-selected,
.alo-quiz-options label:has(input:checked){border-color:var(--alo-primary);background:#edf4ff;box-shadow:0 0 0 2px rgba(31,78,143,.12)}
.alo-quiz-options label.is-selected span,
.alo-quiz-options label:has(input:checked) span{font-weight:750}
.alo-quiz-answer-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--alo-border);border-radius:12px;background:var(--alo-surface-2);font-size:13px;font-weight:800}
.alo-quiz-answer-progress meter{width:min(280px,45vw);height:12px}
.alo-quiz-form.has-unanswered .alo-quiz-answer-progress{border-color:#d6a91f;background:#fff9e8}
.alo-portal[data-theme="dark"] .alo-quiz-options label.is-selected,
.alo-portal[data-theme="dark"] .alo-quiz-options label:has(input:checked){background:#17304f;border-color:#77a9ef}
@media (max-width:680px){.alo-quiz-answer-progress{align-items:flex-start;flex-direction:column}.alo-quiz-answer-progress meter{width:100%}}

/* v1.7.0 — public program catalog and individual program pages */
.alo-public-catalog{max-width:1240px;margin:0 auto;padding:26px 18px 52px}
.alo-public-catalog .alo-catalog-header{margin-bottom:28px;text-align:center}
.alo-public-catalog .alo-catalog-header h1{margin:8px 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.03;color:var(--alo-primary)}
.alo-public-catalog .alo-catalog-header p{max-width:820px;margin:0 auto;color:var(--alo-muted);font-size:17px;line-height:1.65}
.alo-public-catalog .alo-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.alo-public-catalog .alo-program-card{display:flex;flex-direction:column;gap:15px;border:1px solid var(--alo-border);border-radius:22px;background:var(--alo-surface);padding:24px;box-shadow:0 16px 42px rgba(25,51,86,.08)}
.alo-public-catalog .alo-program-card h2{margin:0;color:var(--alo-primary);font-size:25px;line-height:1.15}
.alo-public-catalog .alo-program-card>p{margin:0;color:var(--alo-muted);line-height:1.65}
.alo-catalog-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.alo-public-catalog .alo-program-card dl{display:grid;gap:10px;margin:0;padding:15px;border-radius:15px;background:var(--alo-surface-2)}
.alo-public-catalog .alo-program-card dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.alo-public-catalog .alo-program-card dt{color:var(--alo-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.alo-public-catalog .alo-program-card dd{margin:0;text-align:right;color:var(--alo-text);font-weight:800}
.alo-catalog-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.alo-public-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--alo-primary);border-radius:10px;background:transparent;color:var(--alo-primary)!important;font-weight:900;text-decoration:none!important;transition:.2s ease}
.alo-public-secondary-button:hover,.alo-public-secondary-button:focus-visible{background:var(--alo-primary);color:#fff!important;transform:translateY(-1px)}
.alo-offering-card.is-selected{border-color:var(--alo-primary);box-shadow:0 0 0 3px rgba(23,63,122,.12),0 18px 42px rgba(25,51,86,.12)}

.alo-public-program{max-width:1240px;margin:0 auto;padding:22px 18px 60px;color:var(--alo-text)}
.alo-public-program-breadcrumb{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--alo-muted);font-size:13px;font-weight:800}
.alo-public-program-breadcrumb a{color:var(--alo-primary)!important;text-decoration:none!important}
.alo-public-program-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.65fr);gap:28px;padding:clamp(28px,5vw,58px);border-radius:28px;background:linear-gradient(135deg,#153b72 0%,#2868b7 100%);color:#fff;box-shadow:0 24px 70px rgba(19,55,105,.22);overflow:hidden;position:relative}
.alo-public-program-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.07)}
.alo-public-program-copy,.alo-public-program-summary{position:relative;z-index:1}
.alo-public-program-hero .alo-kicker{color:#f3c832}
.alo-public-program-badges{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.alo-public-program-badges span{padding:7px 10px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(255,255,255,.09);font-size:12px;font-weight:900}
.alo-public-program-hero h1{margin:0 0 15px;color:#fff;font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-.035em}
.alo-public-program-tagline{max-width:760px;margin:0;color:rgba(255,255,255,.9);font-size:clamp(17px,2vw,22px);line-height:1.58}
.alo-public-program-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.alo-public-program-hero .alo-public-secondary-button{border-color:rgba(255,255,255,.6);color:#fff!important}
.alo-public-program-hero .alo-public-secondary-button:hover{background:#fff;color:var(--alo-primary)!important}
.alo-public-program-summary{display:grid;gap:0;align-self:stretch;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(7,31,67,.32);backdrop-filter:blur(8px);padding:20px}
.alo-public-program-summary>div{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.alo-public-program-summary>div:last-child{border-bottom:0}
.alo-public-program-summary small{color:rgba(255,255,255,.67);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.alo-public-program-summary strong{color:#fff;font-size:16px;line-height:1.35}
.alo-public-program-section{margin-top:26px;padding:clamp(24px,4vw,42px);border:1px solid var(--alo-border);border-radius:24px;background:var(--alo-surface);box-shadow:0 14px 40px rgba(25,51,86,.06)}
.alo-public-program-section h2{margin:7px 0 14px;color:var(--alo-primary);font-size:clamp(27px,4vw,42px);line-height:1.08}
.alo-public-program-section h3{color:var(--alo-text)}
.alo-public-program-section p{color:var(--alo-muted);font-size:16px;line-height:1.72}
.alo-public-program-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px}
.alo-public-program-outcomes{padding:22px;border-radius:18px;background:var(--alo-surface-2)}
.alo-public-program-outcomes h3{margin-top:0}
.alo-public-program-outcomes ul,.alo-public-program-admissions ul,.alo-public-audience-list{display:grid;gap:10px;margin:0;padding-left:22px}
.alo-public-program-outcomes li,.alo-public-program-admissions li,.alo-public-audience-list li{line-height:1.55}
.alo-public-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.alo-public-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px;margin-top:22px}
.alo-public-module-grid article{display:flex;flex-direction:column;gap:9px;min-height:190px;padding:20px;border:1px solid var(--alo-border);border-radius:17px;background:var(--alo-surface-2)}
.alo-public-module-grid article>span{color:var(--alo-accent);font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.alo-public-module-grid h3{margin:0;color:var(--alo-primary);font-size:20px;line-height:1.25}
.alo-public-module-grid p{margin:0;font-size:14px;line-height:1.55}
.alo-public-module-grid small{margin-top:auto;color:var(--alo-muted);font-weight:800}
.alo-public-program-admissions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px}
.alo-public-enrollment-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:25px;border-radius:20px;background:linear-gradient(135deg,#fff8e5,#edf4ff)}
.alo-public-enrollment-card>strong{font-size:clamp(38px,6vw,62px);line-height:1;color:var(--alo-primary)}
.alo-public-faq details{border-top:1px solid var(--alo-border);padding:17px 0}
.alo-public-faq details:last-child{border-bottom:1px solid var(--alo-border)}
.alo-public-faq summary{cursor:pointer;color:var(--alo-primary);font-size:17px;font-weight:900}
.alo-public-faq details p{margin-bottom:0}
.alo-public-program-final-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:clamp(26px,4vw,42px);border-radius:24px;background:#102e59;color:#fff}
.alo-public-program-final-cta h2{margin:5px 0 8px;color:#fff;font-size:clamp(28px,4vw,44px)}
.alo-public-program-final-cta p{margin:0;color:rgba(255,255,255,.75)}
.alo-public-program-richtext{margin-top:18px}
@media(max-width:900px){
  .alo-public-program-hero,.alo-public-program-overview,.alo-public-program-admissions{grid-template-columns:1fr}
  .alo-public-program-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .alo-public-program-summary>div:nth-last-child(2){border-bottom:0}
}
@media(max-width:680px){
  .alo-public-program,.alo-public-catalog{padding-left:10px;padding-right:10px}
  .alo-public-program-hero{padding:26px 20px;border-radius:20px}
  .alo-public-program-summary{grid-template-columns:1fr}
  .alo-public-program-summary>div{border-bottom:1px solid rgba(255,255,255,.16)!important}
  .alo-public-program-summary>div:last-child{border-bottom:0!important}
  .alo-public-section-head,.alo-public-program-final-cta{align-items:flex-start;flex-direction:column}
  .alo-public-program-final-cta .alo-portal-button{width:100%;text-align:center}
  .alo-catalog-card-actions>*{width:100%}
}

/* v1.7.1 — administrator student-view sandbox */
.alo-admin-student-preview{position:relative}
.alo-admin-preview-toolbar{position:sticky;top:0;z-index:9998;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 16px;border:1px solid #d6a914;border-radius:14px;background:linear-gradient(135deg,#fff8dc,#fffdf4);box-shadow:0 12px 30px rgba(36,60,92,.14)}
.admin-bar .alo-admin-preview-toolbar{top:32px}
.alo-admin-preview-toolbar>div:first-child{display:grid;gap:3px}
.alo-admin-preview-toolbar strong{color:#143d75;font-size:14px}
.alo-admin-preview-toolbar span{color:#596a80;font-size:12px;line-height:1.35}
.alo-admin-preview-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.alo-preview-toolbar-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #214f89;border-radius:9px;background:#fff;color:#173f7a!important;font-size:12px;font-weight:900;text-decoration:none!important;cursor:pointer}
.alo-preview-toolbar-button:hover,.alo-preview-toolbar-button:focus{background:#eef5ff}
.alo-preview-toolbar-button.is-primary{background:#173f7a;color:#fff!important}
.alo-preview-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border:1px solid rgba(255,255,255,.42);border-radius:10px;color:#fff!important;font-size:11px!important;font-weight:950;letter-spacing:.08em}
.alo-preview-sandbox-note{display:grid;gap:4px;margin:0 0 18px;padding:14px 16px;border:1px solid #e1c05c;border-left:5px solid #d6a914;border-radius:12px;background:#fff9e7}
.alo-preview-sandbox-note strong{color:#173f7a}
.alo-preview-sandbox-note span{color:#5b6778;line-height:1.45}
.alo-admin-preview-quiz .alo-preview-answer-meta{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#eaf7ef;color:#155f39}
.alo-preview-answer-review{margin-top:18px;padding:18px;border:1px solid var(--alo-border);border-radius:14px;background:var(--alo-surface-2)}
.alo-preview-answer-review h4{margin-top:0;color:var(--alo-primary)}
.alo-preview-answer-review p{padding:10px 0;border-bottom:1px solid var(--alo-border)}
.alo-preview-answer-review p:last-child{border-bottom:0}
@media(max-width:782px){.admin-bar .alo-admin-preview-toolbar{top:46px}.alo-admin-preview-toolbar{align-items:flex-start;flex-direction:column}.alo-admin-preview-actions{width:100%;justify-content:flex-start}.alo-preview-toolbar-button{flex:1}}

/* v1.7.1 administrator exact student-view controls */
.alo-preview-jump-control{display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.alo-preview-jump-control select{min-width:240px;max-width:360px;padding:9px 34px 9px 11px;border:1px solid #b8c7db;border-radius:9px;background:#fff;color:#12396d;font:inherit}
@media (max-width:900px){.alo-preview-jump-control{width:100%;align-items:stretch;flex-direction:column;gap:4px}.alo-preview-jump-control select{width:100%;max-width:none;min-width:0}}
