.olp-front{--olp:#176b68;--olp-dark:#124e4b;--border:#dfe7e7;--muted:#627477;max-width:1180px;margin:32px auto;padding:0 22px;color:#172b2b;font-family:inherit;font-size:16px;line-height:1.6}.olp-front *{box-sizing:border-box}.olp-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.olp-card,.olp-learning-card,.olp-front-section,.olp-enroll-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 5px 20px rgba(20,55,55,.045)}.olp-card h3,.olp-learning-card h3{margin-top:0}.olp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:12px 18px;background:var(--olp);color:#fff;text-decoration:none;cursor:pointer;font-weight:650;transition:background .15s ease,transform .15s ease}.olp-button:hover{color:#fff;background:var(--olp-dark);transform:translateY(-1px)}.olp-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.olp-course-hero{padding:clamp(28px,5vw,54px);background:linear-gradient(135deg,#edf7f5,#f7faf9);border:1px solid #dcebe8;border-radius:18px;margin-bottom:28px}.olp-course-hero h1{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-.025em;margin:10px 0 14px;color:#123b3a}.olp-course-page h2{font-size:26px;letter-spacing:-.02em}.olp-front-section h3{margin:0 0 10px;font-size:20px;color:#173f3d}.olp-kicker{font-size:12px;text-transform:uppercase;color:var(--olp);font-weight:700}.olp-front-section{margin-bottom:14px}.olp-front-item{display:flex;gap:14px;align-items:center;padding:16px 0;border-top:1px solid #edf1f1}.olp-front-item a{color:#176b68;text-decoration:none;font-weight:600}.olp-front-item a:hover{text-decoration:underline}.olp-front-item span{flex:0 0 92px}.olp-front-item span{font-size:11px;color:var(--muted);width:80px}.olp-progress{height:9px;background:#e8efee;border-radius:10px;overflow:hidden;margin:12px 0}.olp-progress span{display:block;height:100%;background:var(--olp)}.olp-learning-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.olp-lesson-page{max-width:900px}.olp-lesson-meta{color:var(--muted);margin-bottom:20px}.olp-video{aspect-ratio:16/9;margin:20px 0}.olp-video iframe{width:100%;height:100%;border:0}.olp-content{line-height:1.7}.olp-assessment fieldset{border:1px solid var(--border);padding:18px;margin:15px 0;border-radius:7px}.olp-option{display:block;margin:10px 0}.olp-result{margin-top:12px;font-weight:600}.olp-verify{max-width:700px}.olp-verified{margin-top:20px;padding:20px;background:#ecfdf3;border:1px solid #b7ebce;border-radius:8px}.olp-front input,.olp-front textarea{padding:9px;border:1px solid #cfd5df;border-radius:5px}.olp-login{max-width:500px}.olp-login form p{margin-bottom:12px}.olp-login input[type=text],.olp-login input[type=password]{width:100%}@media(max-width:900px){.olp-course-grid{grid-template-columns:1fr 1fr}.olp-course-layout{grid-template-columns:1fr}.olp-enroll-card{position:static}}@media(max-width:600px){.olp-course-grid{grid-template-columns:1fr}.olp-learning-card{flex-direction:column;align-items:flex-start;gap:12px}}
/* OL Portal 3.1.0 learner dashboard */
.olp-user-dashboard{background:#f5f7fb;padding:0;border-radius:12px;overflow:hidden}.olp-ud-top{background:#fff;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e4e8ef}.olp-ud-welcome{display:flex;align-items:center;gap:16px}.olp-user-avatar{border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.12)}.olp-ud-welcome span{font-size:12px;color:#3562df;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.olp-ud-welcome h1{font-size:26px;margin:4px 0;color:#172235}.olp-ud-welcome p{margin:0;color:#687486}.olp-ud-search form{display:flex;gap:7px}.olp-ud-search input{min-width:260px;border:1px solid #d8dee8;border-radius:7px;padding:10px 12px}.olp-ud-search button{border:0;background:#3562df;color:#fff;border-radius:7px;padding:10px 16px}.olp-ud-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 28px}.olp-ud-metrics>div{background:#fff;border:1px solid #e1e6ee;border-radius:9px;padding:16px}.olp-ud-metrics strong{display:block;font-size:25px;color:#172235}.olp-ud-metrics span{font-size:12px;color:#707b8d}.olp-ud-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;padding:0 28px 16px}.olp-ud-bottom{padding-bottom:20px}.olp-ud-panel{background:#fff;border:1px solid #e0e5ed;border-radius:10px;padding:18px;min-width:0}.olp-ud-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.olp-ud-head h2{font-size:17px;margin:0;color:#202b3c}.olp-ud-head p{margin:3px 0 0;color:#7a8494;font-size:11px}.olp-ud-head a{font-size:12px;text-decoration:none;color:#3562df}.olp-continue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.olp-continue-grid article{border:1px solid #e4e8ef;border-radius:8px;padding:10px}.olp-ud-course-img{height:105px;border-radius:6px;overflow:hidden;background:#eaf0ff;display:grid;place-items:center}.olp-ud-course-img img{width:100%;height:100%;object-fit:cover}.olp-course-placeholder{font-size:25px;font-weight:800;color:#3562df}.olp-continue-grid h3{font-size:14px;margin:10px 0 8px}.olp-ud-bar{height:6px;background:#e9edf3;border-radius:99px;overflow:hidden;margin:7px 0}.olp-ud-bar span{display:block;height:100%;background:#27b38a;border-radius:99px}.olp-continue-grid small{color:#778193}.olp-continue-grid .olp-button{display:block;text-align:center;margin-top:10px;font-size:12px;padding:8px}.olp-ud-side{display:grid;gap:16px;align-content:start}.olp-ring{width:118px;height:118px;margin:8px auto 15px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#3562df var(--progress),#e9edf4 0);position:relative}.olp-ring:after{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}.olp-ring b{position:relative;z-index:1;font-size:23px;color:#172235}.olp-progress-legend{display:grid;gap:8px}.olp-progress-legend span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#657082}.olp-progress-legend i{width:8px;height:8px;border-radius:50%;margin-right:6px;display:inline-block}.olp-progress-legend i.done{background:#27b38a}.olp-progress-legend i.active{background:#3562df}.olp-progress-legend i.not{background:#b8c0cc}.olp-progress-legend b{color:#202b3c}.olp-deadline,.olp-cert-row,.olp-order-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.olp-deadline:last-child,.olp-cert-row:last-child,.olp-order-row:last-child{border-bottom:0}.olp-deadline>span,.olp-cert-row>span{font-size:17px}.olp-deadline div,.olp-cert-row div{flex:1}.olp-deadline strong,.olp-cert-row strong{display:block;font-size:12px}.olp-deadline small,.olp-cert-row small{display:block;color:#80899a;font-size:10px;margin-top:2px}.olp-deadline time{font-size:10px;color:#657082;text-align:right}.olp-program-list{display:grid;gap:13px}.olp-program-row{display:grid;grid-template-columns:1.2fr 1fr 45px;gap:12px;align-items:center}.olp-program-row strong,.olp-program-row small{display:block}.olp-program-row strong{font-size:12px}.olp-program-row small{font-size:10px;color:#7d8796}.olp-program-row b{font-size:11px;text-align:right}.olp-achievements{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.olp-achievements>div{border:1px solid #e6eaf0;border-radius:7px;padding:11px;text-align:center}.olp-achievements strong{display:block;font-size:20px}.olp-achievements span{display:block;font-size:10px;color:#778193;margin:4px 0}.olp-achievements b{font-size:16px;color:#202b3c}.olp-user-table{width:100%;border-collapse:collapse;font-size:11px}.olp-user-table th,.olp-user-table td{padding:10px 7px;border-bottom:1px solid #edf0f4;text-align:left}.olp-user-table th{color:#7a8494;font-weight:600}.olp-result-badge{display:inline-block;border-radius:10px;padding:3px 7px;font-size:9px}.olp-result-badge.pass{background:#e5f7ee;color:#18814e}.olp-result-badge.pending{background:#fff2df;color:#a76b10}.olp-cert-row b{font-size:11px;color:#3562df}.olp-order-row span{color:#7b8594}.olp-order-row strong{flex:1}.olp-order-row em{font-size:10px;font-style:normal;color:#18814e}.olp-ud-nav{padding:0 28px 25px;display:flex;gap:10px}.olp-ud-nav a{background:#fff;border:1px solid #dfe5ee;border-radius:7px;padding:9px 14px;text-decoration:none;color:#3562df;font-size:12px}.olp-empty-state{padding:25px;text-align:center;color:#7b8594;font-size:12px}
@media(max-width:900px){.olp-ud-top{align-items:flex-start;flex-direction:column}.olp-ud-search{width:100%}.olp-ud-search form input{min-width:0;width:100%}.olp-ud-metrics{grid-template-columns:repeat(2,1fr)}.olp-ud-grid{grid-template-columns:1fr}.olp-continue-grid{grid-template-columns:1fr}.olp-achievements{grid-template-columns:repeat(2,1fr)}}
/* Course navigation and embedded checkout usability fixes */
.olp-lesson-actions{display:flex;justify-content:flex-start;gap:12px;margin:28px 0 18px}
.olp-lesson-navigation{display:flex;justify-content:space-between;align-items:stretch;gap:14px;margin:28px 0 8px;padding-top:20px;border-top:1px solid #e7edf2}
.olp-lesson-navigation a{max-width:48%;white-space:normal;line-height:1.45;text-align:left}
.olp-lesson-navigation .olp-button-secondary{background:#f3f7f8;color:#155e63;border:1px solid #d4e3e4}
.olp-course-layout .olp-checkout{margin:14px 0 0;padding:0;border:0;box-shadow:none;background:transparent}
.olp-course-layout .olp-checkout h1{font-size:1.25rem;margin:0 0 8px}
.olp-course-layout .olp-payment-option{display:block;margin:9px 0;padding:10px;border:1px solid #e1e8ed;border-radius:8px}
@media(max-width:640px){.olp-lesson-navigation{flex-direction:column}.olp-lesson-navigation a{max-width:100%;width:100%;box-sizing:border-box}.olp-course-layout{grid-template-columns:1fr}}

/* 3.2.4 course metadata and image presentation */
.olp-course-terms{margin:8px 0 12px;font-size:13px;color:#526765}.olp-course-terms strong{color:#244e4b}.olp-course-hero-image img{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:12px;margin-bottom:18px}.olp-course-description{margin:22px 0 28px;padding:22px 26px;border:1px solid #dfe7e7;border-radius:14px;background:#fff}.olp-course-description h2{margin-top:0}


/* OL Portal 3.4.2 learner experience refinement */
.olp-front{--olp-front-ink:#17313b;--olp-front-muted:#607681;--olp-front-line:#dce8ea;--olp-front-accent:#087f8c;--olp-front-soft:#eaf7f7;color:var(--olp-front-ink);line-height:1.65}
.olp-front h1,.olp-front h2,.olp-front h3{color:var(--olp-front-ink);letter-spacing:-.025em;line-height:1.25}.olp-front h1{font-size:clamp(1.65rem,3vw,2.35rem);margin:0 0 14px}.olp-front p{color:var(--olp-front-muted)}.olp-front a:not(.olp-button){color:var(--olp-front-accent)}
.olp-front .olp-button,.olp-front button[type=submit]{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--olp-front-accent);border-radius:9px;background:var(--olp-front-accent);color:#fff;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}.olp-front .olp-button:hover,.olp-front button[type=submit]:hover{background:#06636d;border-color:#06636d;transform:translateY(-1px)}.olp-front .olp-button:focus-visible,.olp-front button:focus-visible,.olp-front input:focus-visible{outline:3px solid #83d8dc;outline-offset:2px}
.olp-front .olp-assessment{max-width:920px;margin:24px auto;padding:clamp(18px,3vw,34px);background:#fff;border:1px solid var(--olp-front-line);border-radius:16px;box-shadow:0 8px 32px rgba(16,60,70,.06)}.olp-front .olp-quiz-duration{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #f1d49b;background:#fff8e8;border-radius:9px;color:#805b17}.olp-front .olp-assessment fieldset{margin:18px 0;padding:18px 20px;border:1px solid var(--olp-front-line);border-radius:12px;background:#fbfdfd;min-width:0}.olp-front .olp-assessment legend{max-width:100%;padding:0 8px;font-size:15px;font-weight:700;color:#1b3741}.olp-front .olp-option{display:flex;align-items:flex-start;gap:10px;margin:10px 0;padding:11px 13px;border:1px solid #e1ebed;border-radius:9px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.olp-front .olp-option:hover{border-color:#9bcfd2;background:#f7fcfc}.olp-front .olp-option input{flex:0 0 auto;margin-top:5px;accent-color:var(--olp-front-accent)}.olp-front .olp-option input[type=text]{flex:1;min-width:0;width:100%;padding:10px 12px;border:1px solid #cbdadd;border-radius:7px}.olp-front .olp-result{margin-top:16px}.olp-front .olp-result:empty{display:none}.olp-front .olp-result .success,.olp-front .olp-result.success{padding:14px;border:1px solid #b7e4cf;border-radius:9px;background:#eefaf4;color:#17653f}.olp-front .olp-result .error,.olp-front .olp-result.error{padding:14px;border:1px solid #f0c4c4;border-radius:9px;background:#fff4f4;color:#9c2727}
@media(max-width:700px){.olp-front .olp-assessment{margin:12px 0;padding:16px;border-radius:12px}.olp-front .olp-assessment fieldset{padding:14px 12px}.olp-front .olp-assessment legend{font-size:14px}.olp-front .olp-option{padding:10px}.olp-front .olp-button,.olp-front button[type=submit]{width:100%}}
@media(prefers-reduced-motion:reduce){.olp-front *{transition:none!important}}
