/* Portal styling modelled on afdac.ca: white page, dark-green serif
   headings, sage/cream accents, gold rules, dark-green footer.
   Colours are close matches to the rendered afdac.ca palette;
   no afdac.ca content, navigation, or articles were copied. */
:root{--green:#14382E;--green-dark:#0E2A24;--teal:#2E6B5E;--gold:#C5A880;--sage:#E6EFE7;--cream:#F6F1E6;--border:#E5E3DA;--text:#1f2e29;--muted:#4a5d55}
body{font-family:system-ui,Arial,sans-serif;margin:0;background:#fff;color:var(--text);line-height:1.6}
header{background:#fff;padding:20px 20px 0}
.brand-row{display:flex;align-items:center;gap:16px;max-width:1000px;margin:0 auto}
.brand-logo{height:88px;width:auto;background:#fff;border:1px solid #E5D9B8;border-radius:6px;padding:4px}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:800;color:var(--green);line-height:1.2}
.brand-sub{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.tag{font-size:14px;color:var(--muted)}
nav{max-width:1000px;margin:16px auto 0;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
nav a,nav button{color:var(--green);margin-inline-end:16px;text-decoration:none;background:none;border:0;cursor:pointer;font-size:15px;font-weight:700}
nav a:hover,nav button:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.notice{background:var(--sage);border-bottom:2px solid var(--gold);padding:10px 20px;font-size:14px;color:var(--green)}
main{max-width:1000px;margin:0 auto;padding:28px 20px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);line-height:1.25}
h1{font-size:40px;margin:8px 0 16px}
h2{font-size:28px}
h3{font-size:22px}
a{color:var(--teal)}
table{border-collapse:collapse;width:100%;margin:16px 0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
td,th{border:1px solid var(--border);padding:10px;text-align:start}
th{background:var(--cream);color:var(--green)}
form{margin:12px 0}
label{display:block;margin-top:12px;font-weight:600;color:var(--green)}
input,select,textarea{width:100%;padding:10px;margin-top:4px;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;font-size:16px}
button{background:var(--green);color:#fff;border:0;padding:11px 22px;cursor:pointer;margin-top:12px;border-radius:999px;font-weight:700}
button:hover{background:var(--green-dark)}
.err{color:#a00;font-weight:700}
footer{background:var(--green-dark);color:#fff;padding:28px 20px;text-align:center}
.footer-logo{height:56px;width:auto;background:#fff;border:1px solid var(--gold);border-radius:6px;padding:3px;margin-bottom:10px}
footer a{color:#fff}
.footer-muted{color:#cfe0d8;font-size:14px}
html[dir=rtl] body{font-family:system-ui,"Segoe UI",Tahoma,sans-serif}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{font-family:Georgia,"Times New Roman",serif}
@media (max-width:640px){.brand-row{flex-direction:column;align-items:flex-start}.brand-logo{height:88px;width:auto;max-height:none}.brand-name,.brand-sub,.tag{display:block;max-width:100%}}
/* LMS learner (routes-lms-learn.js) */
.lms-progress{background:var(--sage);border:1px solid var(--border);border-radius:999px;height:14px;overflow:hidden;margin:8px 0}
.lms-progress>i{display:block;height:100%;background:var(--teal)}
.lms-slide{border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:16px;background:var(--cream);padding:28px 24px;min-height:220px}
.lms-slide h2{margin-top:0}
.lms-slide img{max-width:100%;height:auto;border-radius:10px}
.lms-slide{font-size:18px}
@media (max-width:640px){.lms-slide{padding:20px 16px;font-size:16px}}
.lms-check{list-style:none;padding:0}
.lms-check li{padding:6px 0}
.lms-check li.done{color:var(--green);font-weight:700}
.lms-check li.todo{color:var(--muted)}
.lms-locked{opacity:.65}
.lms-quiz-q{border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin:12px 0;background:#fff}
.lms-quiz-q label{font-weight:400;color:var(--text)}
.lms-quiz-q input[type=radio]{width:auto;margin-inline-end:8px}
.lms-feedback-pass{background:var(--sage);border:1px solid var(--teal);border-inline-start:4px solid var(--teal);color:var(--green);border-radius:10px;padding:14px 16px;font-weight:700;margin:16px 0}
.lms-feedback-fail{background:#f9e9e9;border:1px solid #a00;border-inline-start:4px solid #a00;color:#7a0000;border-radius:10px;padding:14px 16px;font-weight:700;margin:16px 0}
main img{max-width:100%;height:auto}
/* ===== Academy learner skin (Deliverable 1) =====
   Scoped to .lms-learner, the wrapper lib/routes-lms-learn.js puts around
   learner page bodies only — admin/builder and all non-LMS pages keep the
   global styling above. Tokens from the approved learner mockup:
   ivory #FAF7F0, dark green #14382E, gold #B97F14, sage #E6EFE7.
   Logical properties (margin-inline, border-inline-start, text-align:start)
   keep the same rules correct in RTL and LTR. */
.lms-learner{--lms-ivory:#FAF7F0;--lms-green:#14382E;--lms-green-deep:#0E2A24;--lms-gold:#B97F14;--lms-gold-soft:#FBF0D7;--lms-sage:#E6EFE7;--lms-line:#E3DCC9;--lms-frame:#DAD3C2;--lms-track:#E7E1D2;--lms-muted:#5F6E66;background:var(--lms-ivory);border:1px solid var(--lms-frame);border-radius:18px;padding:26px 28px 30px}
.lms-learner .lms-card{background:#fff;border:1px solid var(--lms-line);border-radius:14px;padding:20px 22px;margin:0 0 18px}
.lms-learner .lms-card h2,.lms-learner .lms-card h3{margin-top:0}
.lms-learner table{border-color:var(--lms-line)}
.lms-learner th{background:#F6F1E6}
.lms-learner .lms-meta{color:var(--lms-muted)}
.lms-learner .lms-note{color:var(--lms-muted);font-size:14px;line-height:1.9}
.lms-learner .lms-prog-label{color:var(--lms-muted);font-size:14px}
.lms-learner .lms-progress{background:var(--lms-track);border-color:var(--lms-line);height:12px}
.lms-learner .lms-progress>i{background:linear-gradient(90deg,var(--lms-green),#2E6B52)}
.lms-learner .lms-btn{display:inline-block;background:var(--lms-green);color:#fff;padding:10px 26px;border-radius:999px;font-weight:700;text-decoration:none}
.lms-learner .lms-btn:hover{background:var(--lms-green-deep)}
.lms-learner .lms-course-card{background:#fff;border:1px solid var(--lms-line);border-radius:12px;padding:14px 18px;margin:12px 0}
.lms-learner .lms-course-card h3{margin:4px 0 6px}
.lms-learner .lms-check li{padding:7px 0;border-bottom:1px dashed #D8D2BE}
.lms-learner .lms-check li:last-child{border-bottom:none}
.lms-learner nav.lms-dash-nav{max-width:none;margin:0;padding:0;border:none}
.lms-learner .lms-dash-nav a{display:inline-block;background:#fff;border:1.5px solid var(--lms-green);color:var(--lms-green);padding:9px 24px;border-radius:999px;font-weight:700;text-decoration:none;margin:0}
.lms-learner .lms-back{margin-top:16px}
/* course page: module rows with number badge + state chips */
.lms-learner .lms-mod{background:#fff;border:1px solid var(--lms-line);border-radius:14px;padding:16px 20px;margin:0 0 12px}
.lms-learner .lms-mod-head{display:flex;align-items:center;gap:14px}
.lms-learner .lms-mod-head h3{margin:0;flex:1}
.lms-learner .lms-mod-num{width:46px;height:46px;flex:none;border-radius:50%;background:var(--lms-sage);color:var(--lms-green);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center}
.lms-learner .lms-mod-done .lms-mod-num{background:var(--lms-green);color:#E9C979}
.lms-learner .lms-mod.lms-locked{opacity:.62}
.lms-learner .lms-locked .lms-mod-num{background:var(--lms-track);color:#8A8371}
.lms-learner .lms-chip{font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;white-space:nowrap;border:1px solid #BFD3C0;background:var(--lms-sage);color:#14532D}
.lms-learner .lms-chip-open{background:var(--lms-gold-soft);color:#7A5410;border-color:#E3C87F}
.lms-learner .lms-chip-lock{background:#EFECE3;color:#8A8371;border-color:#D8D2BE}
.lms-learner .lms-lessons{list-style:none;padding:0;margin:12px 0 4px}
.lms-learner .lms-lessons li{padding:6px 0;border-bottom:1px dashed var(--lms-track)}
.lms-learner .lms-lessons li:last-child{border-bottom:none}
.lms-learner .lms-lessons a{text-decoration:none}
.lms-learner .lms-lessons a:hover{text-decoration:underline;text-decoration-color:var(--lms-gold);text-underline-offset:4px}
.lms-learner .lms-lesson-done{color:var(--lms-green)}
.lms-learner .lms-mod-assess{color:var(--lms-muted);font-size:14px;margin-bottom:0}
/* slide player */
.lms-learner .lms-slide{background:#fff;border:1px solid var(--lms-line);border-top:6px solid var(--lms-green);border-radius:14px;padding:30px 34px;min-height:300px;box-shadow:0 6px 20px rgba(20,56,46,.06)}
.lms-learner .lms-kicker{color:var(--lms-gold);font-weight:800;font-size:13px;letter-spacing:.4px;text-transform:uppercase;margin:0 0 8px}
.lms-learner .lms-slide-body{line-height:1.95}
.lms-learner .lms-slide-count{color:var(--lms-muted);font-size:14px;text-align:center;margin:14px 0 4px}
.lms-learner .lms-slide-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.lms-learner .lms-slide-nav a{display:inline-block;background:#fff;color:var(--lms-green);border:1.5px solid var(--lms-green);padding:9px 24px;border-radius:999px;font-weight:700;text-decoration:none}
.lms-learner .lms-slide-nav a:hover{background:var(--lms-sage)}
.lms-learner .lms-dots{display:flex;gap:7px}
.lms-learner .lms-dots i{width:10px;height:10px;border-radius:50%;background:#CFC7AE;display:block}
.lms-learner .lms-dots i.on{background:var(--lms-gold)}
/* reading / case / summary take-away */
.lms-learner .lms-reading{background:#fff;border:1px solid var(--lms-line);border-radius:14px;padding:24px 28px;line-height:1.95;margin-bottom:16px}
.lms-learner .lms-case{background:#FFF9EA;border:1px solid #EAD9A8;border-inline-start:5px solid var(--lms-gold);border-radius:10px;padding:20px 24px;line-height:1.95;margin-bottom:16px}
.lms-learner .lms-summary{background:var(--lms-sage);border:1px solid #BFD3C0;border-inline-start:5px solid var(--lms-green);border-radius:12px}
.lms-learner .lms-summary::before{display:block;font-weight:800;color:var(--lms-green);font-size:15px;margin-bottom:8px}
html[lang="ar"] .lms-learner .lms-summary::before{content:"ما تأخذه معك من هذه الوحدة"}
html[lang="en"] .lms-learner .lms-summary::before{content:"What you take away from this module"}
/* quiz + knowledge check */
.lms-learner .lms-quiz-q{background:#fff;border:1.5px solid var(--lms-line);border-radius:12px;padding:16px 20px;margin:12px 0}
.lms-learner .lms-quiz-q label{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--lms-line);border-radius:12px;padding:11px 16px;margin:8px 0;font-weight:400;color:var(--text);cursor:pointer;line-height:1.8}
.lms-learner .lms-quiz-q label:hover{border-color:var(--lms-gold)}
.lms-learner .lms-quiz-q input[type=radio]{width:auto;margin:0;flex:none}
.lms-learner .lms-opt-k{width:30px;height:30px;flex:none;border-radius:50%;border:1.5px solid #B9AE8E;color:var(--lms-green);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;background:#fff}
.lms-learner .lms-quiz-ok{border-color:#2E7D4F;background:#EFF7F0}
.lms-learner .lms-quiz-bad{border-color:#E3C87F;background:#FFF9EA}
.lms-learner .lms-quiz-expl{background:#EFF7F0;border:1px solid #BFDCC6;border-inline-start:5px solid #2E7D4F;border-radius:10px;padding:12px 16px;line-height:1.9}
.lms-learner .lms-score-line{font-size:18px;color:var(--lms-green)}
.lms-learner .lms-knowledge h3{margin-top:0}
/* assessment */
.lms-learner .lms-rules{background:var(--lms-gold-soft);border:1px solid #E3C87F;border-inline-start:5px solid var(--lms-gold);border-radius:10px;padding:12px 16px;line-height:1.9}
.lms-learner .lms-assess-status{font-weight:700;color:var(--lms-green)}
.lms-learner .lms-assess-card table{margin-top:0}
/* final result: score ring + proven completion rows */
.lms-learner .lms-result{text-align:center;background:#fff;border:1px solid var(--lms-line);border-radius:14px;padding:24px 22px;margin-bottom:16px}
.lms-learner .lms-result .lms-feedback-pass,.lms-learner .lms-result .lms-feedback-fail{text-align:start}
.lms-learner .lms-score-ring{width:168px;height:168px;margin:10px auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.lms-learner .lms-score-in{width:132px;height:132px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lms-learner .lms-score-in b{font-size:37px;color:var(--lms-green);line-height:1.1}
.lms-learner .lms-score-in small{color:var(--lms-muted)}
.lms-learner .lms-result-feedback{max-width:640px;margin:12px auto;line-height:1.95}
.lms-learner .lms-result-rows{max-width:560px;margin:16px auto 0;text-align:start}
.lms-learner .lms-result-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px dashed #D8D2BE;font-size:15px}
.lms-learner .lms-result-row:last-child{border-bottom:none}
.lms-learner .lms-result-row b{color:var(--lms-green)}
@media (max-width:640px){.lms-learner{padding:18px 14px 22px;border-radius:14px}.lms-learner .lms-slide{padding:20px 16px;min-height:0}.lms-learner .lms-reading,.lms-learner .lms-case{padding:16px}.lms-learner .lms-mod-head{flex-wrap:wrap}.lms-learner .lms-card{padding:16px}}
/* ===== Public CPD page (/cpd) ===== */
.cpd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:20px 0}
.cpd-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:16px;padding:20px 22px;background:var(--cream)}
.cpd-card h3{margin:0 0 6px;font-size:20px}
.cpd-cover{display:block;width:100%;height:auto;border-radius:10px;margin:0 0 14px}
.cpd-card h3[lang=en]{font-size:17px;color:var(--teal)}
.cpd-hours{font-weight:700;color:var(--teal);margin:4px 0 8px}
.cpd-price{font-size:17px;color:var(--green)}
a.cpd-buy{display:inline-block;background:var(--green);color:#fff;padding:11px 22px;border-radius:999px;font-weight:700;text-decoration:none;margin-top:8px}
a.cpd-buy:hover{background:var(--green-dark)}
.cpd-buy-off{display:inline-block;background:#EFECE3;color:#8A8371;border:1px solid #D8D2BE;padding:11px 22px;border-radius:999px;font-weight:700;margin-top:8px}
.cpd-accredited{background:var(--sage);border:1px solid #BFD3C0;border-inline-start:5px solid var(--teal);border-radius:10px;padding:14px 16px;line-height:1.9}
