.irsf-lms,.irsf-auth-card{--irsf:#07583b;--irsf-dark:#063d2b;--irsf-bright:#0b7350;--soft:#edf7f2;--soft-2:#f7faf8;--line:#d9e5df;--text:#17231d;--muted:#5f6f66;--warning:#fff8e6;--shadow:0 12px 36px rgba(7,61,43,.10);font-family:inherit;color:var(--text);box-sizing:border-box}.irsf-lms *,.irsf-auth-card *{box-sizing:border-box}.irsf-lms a:focus-visible,.irsf-lms button:focus-visible,.irsf-auth-card a:focus-visible,.irsf-auth-card button:focus-visible{outline:3px solid rgba(11,115,80,.32);outline-offset:3px}.irsf-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:clamp(24px,4vw,40px);border-radius:22px;background:linear-gradient(135deg,var(--irsf-dark),var(--irsf) 62%,#0d7954);color:#fff;margin-bottom:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.irsf-hero:after{content:"";position:absolute;width:260px;height:260px;border:42px solid rgba(255,255,255,.07);border-radius:50%;right:-95px;bottom:-135px}.irsf-hero>div,.irsf-hero>.irsf-language{position:relative;z-index:1}.irsf-hero h1{color:#fff;margin:6px 0 8px;font-size:clamp(28px,4vw,44px);line-height:1.12}.irsf-hero p{margin:0;max-width:660px;color:rgba(255,255,255,.9);font-size:17px}.irsf-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.13em;font-weight:850}.irsf-hero-links{margin-top:14px}.irsf-hero-links a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:700}.irsf-section-heading{display:flex;align-items:end;justify-content:space-between;margin:8px 0 18px}.irsf-section-heading h2{margin:4px 0 0;font-size:clamp(24px,3vw,34px)}.irsf-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.irsf-course-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.irsf-course-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,61,43,.14)}.irsf-course-card__body{padding:28px}.irsf-card-top,.irsf-progress-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.irsf-card-time{font-size:13px;color:var(--muted);font-weight:650}.irsf-course-card h2,.irsf-course-card h3{font-size:clamp(23px,3vw,29px);line-height:1.22;margin:16px 0 10px;color:var(--text)}.irsf-excerpt{color:var(--muted);min-height:66px}.irsf-excerpt p{margin:0}.irsf-badge{display:inline-flex;background:var(--soft);color:var(--irsf-dark);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:850}.irsf-progress-row{font-size:13px;color:var(--muted);margin-top:20px}.irsf-progress-row strong{color:var(--irsf-dark)}.irsf-progress{height:10px;background:#e7eee9;border-radius:999px;overflow:hidden;margin:8px 0}.irsf-progress>div{height:100%;background:linear-gradient(90deg,var(--irsf),var(--irsf-bright));border-radius:999px;transition:width .35s ease}.irsf-progress-text{font-size:13px;color:var(--muted);margin:7px 0 18px}.irsf-primary,.irsf-secondary{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:12px 17px;text-decoration:none!important;font-weight:800;cursor:pointer;border:1px solid transparent;line-height:1.25;min-height:46px;transition:background .18s ease,border-color .18s ease,transform .18s ease}.irsf-primary{background:var(--irsf)!important;color:#fff!important}.irsf-primary:hover{background:var(--irsf-dark)!important;color:#fff!important;transform:translateY(-1px)}.irsf-primary:disabled{opacity:.72;cursor:not-allowed;transform:none}.irsf-secondary{background:#fff!important;color:var(--irsf-dark)!important;border-color:var(--line)!important}.irsf-secondary:hover{background:var(--soft)!important;border-color:#b8d0c4!important;color:var(--irsf-dark)!important}.irsf-course-cta{width:100%}.irsf-language{display:flex;background:rgba(255,255,255,.16);padding:4px;border-radius:12px;gap:4px}.irsf-language a{border:0;background:transparent;color:inherit;padding:9px 14px;border-radius:9px;cursor:pointer;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:76px}.irsf-language a.active{background:#fff;color:var(--irsf-dark);box-shadow:0 2px 8px rgba(0,0,0,.09)}.irsf-course-layout{display:grid;grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:28px;align-items:start}.irsf-sidebar{position:sticky;top:24px;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;box-shadow:0 10px 30px rgba(7,61,43,.07);max-height:calc(100vh - 48px);overflow:auto}.irsf-sidebar-head{display:flex;justify-content:space-between;align-items:center}.irsf-sidebar-close{display:none;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:var(--text)}.irsf-sidebar h2{font-size:20px;line-height:1.25;margin:18px 0 14px}.irsf-sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:18px}.irsf-sidebar nav a{display:flex;gap:10px;align-items:flex-start;padding:11px;border-radius:10px;color:var(--text);text-decoration:none;line-height:1.35}.irsf-sidebar nav a span{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#edf2ef;font-size:12px;font-weight:850}.irsf-sidebar nav a b{font-size:13px;font-weight:700;padding-top:4px}.irsf-sidebar nav a:hover{background:#f4f8f5}.irsf-sidebar nav a.active{background:var(--soft);color:var(--irsf-dark)}.irsf-sidebar nav a.active b{font-weight:850}.irsf-sidebar nav a.complete span{background:var(--irsf);color:#fff}.irsf-back{font-size:14px;color:var(--irsf-dark);font-weight:750;text-decoration:none}.irsf-mobile-coursebar{display:none}.irsf-sidebar-overlay{display:none}.irsf-lesson{border:1px solid var(--line);border-radius:18px;background:#fff;padding:clamp(22px,4vw,44px);min-width:0;box-shadow:0 10px 30px rgba(7,61,43,.06)}.irsf-lesson-head>.irsf-language{float:right;color:var(--irsf-dark);background:var(--soft)}.irsf-lesson-head h1{font-size:clamp(29px,4vw,44px);line-height:1.15;margin:14px 0 8px;color:var(--text)}.irsf-module-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:13px}.irsf-complete-label{color:var(--irsf);font-weight:800}.irsf-module-position{margin:0 0 28px;color:var(--muted);font-size:14px}.irsf-content{font-size:17px;line-height:1.78;max-width:860px}.irsf-content>h2:first-child{margin-top:0}.irsf-content h2{font-size:clamp(22px,2.5vw,29px);line-height:1.25;margin-top:1.7em;color:var(--irsf-dark);padding-bottom:8px;border-bottom:1px solid #e7eee9}.irsf-content h3{font-size:20px;color:var(--text);margin-top:1.5em}.irsf-content p{margin:0 0 1.15em}.irsf-content ul,.irsf-content ol{padding-left:1.35em}.irsf-content li{margin:.45em 0}.irsf-content blockquote{margin:24px 0;padding:18px 20px;background:var(--soft);border-left:4px solid var(--irsf);border-radius:0 12px 12px 0}.irsf-video{position:relative;padding-top:56.25%;margin:0 0 28px;background:#000;border-radius:14px;overflow:hidden}.irsf-video iframe{position:absolute;inset:0;width:100%;height:100%}.irsf-lesson-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:26px;margin-top:38px}.irsf-nav-prev{justify-self:start}.irsf-nav-next{justify-self:end}.irsf-complete-btn{justify-self:center}.irsf-auth-card{max-width:540px;margin:35px auto;padding:32px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.irsf-auth-card h2{font-size:30px;margin-top:0}.irsf-auth-card label{display:block;font-weight:750;margin:15px 0}.irsf-auth-card input[type=text],.irsf-auth-card input[type=email],.irsf-auth-card input[type=password],.irsf-auth-card .input{box-sizing:border-box;width:100%;margin-top:7px;padding:13px;border:1px solid #bfcac3;border-radius:10px;font-size:16px}.irsf-auth-card input:focus{border-color:var(--irsf);box-shadow:0 0 0 3px rgba(11,115,80,.13);outline:none}.irsf-check{display:flex!important;gap:9px;align-items:flex-start;font-weight:500!important}.irsf-check input{margin-top:4px}.irsf-notice,.irsf-error{padding:16px 18px;border-radius:12px;margin:18px 0}.irsf-notice{background:var(--soft);border:1px solid #d4e9de}.irsf-error{background:#fff1f1;color:#8b1b1b;border:1px solid #f4cccc}.irsf-course-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 28px}.irsf-course-facts>div{background:var(--soft-2);border:1px solid #e2e8e4;border-radius:13px;padding:15px}.irsf-course-facts strong,.irsf-course-facts span{display:block}.irsf-course-facts strong{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#52645a;margin-bottom:6px}.irsf-course-facts span{font-weight:750}.irsf-content .irsf-notice{margin:20px 0}
@media(max-width:900px){.irsf-course-layout{grid-template-columns:1fr}.irsf-mobile-coursebar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:13px;position:sticky;top:8px;z-index:30;box-shadow:0 8px 22px rgba(7,61,43,.09)}.irsf-module-menu-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--irsf);color:#fff;padding:10px 13px;border-radius:9px;font-weight:800;cursor:pointer}.irsf-mobile-progress{display:flex;align-items:baseline;gap:5px;color:var(--muted);font-size:12px}.irsf-mobile-progress strong{font-size:17px;color:var(--irsf-dark)}.irsf-sidebar{position:fixed;z-index:1002;top:0;left:0;height:100vh;max-height:none;width:min(88vw,350px);border-radius:0 18px 18px 0;transform:translateX(-105%);transition:transform .22s ease;padding:22px}.irsf-sidebar.is-open{transform:translateX(0)}.irsf-sidebar-close{display:block}.irsf-sidebar-overlay{position:fixed;z-index:1001;inset:0;background:rgba(5,25,17,.48);border:0;width:100%;height:100%;cursor:pointer}.irsf-sidebar-overlay.is-open{display:block}.irsf-lesson-head>.irsf-language{float:none;margin-bottom:18px;width:max-content}.irsf-course-facts{grid-template-columns:1fr 1fr}.irsf-lesson-actions{grid-template-columns:1fr 1fr}.irsf-complete-btn{grid-column:1/-1;grid-row:1;justify-self:stretch}.irsf-nav-prev,.irsf-nav-next{justify-self:stretch}}
@media(max-width:600px){.irsf-hero{align-items:flex-start;flex-direction:column;border-radius:16px}.irsf-course-grid{grid-template-columns:1fr}.irsf-course-card__body,.irsf-auth-card{padding:22px}.irsf-lesson{padding:20px;border-radius:14px}.irsf-content{font-size:16px;line-height:1.7}.irsf-lesson-actions{display:flex;flex-direction:column}.irsf-lesson-actions>*{width:100%;box-sizing:border-box}.irsf-language{width:100%}.irsf-language a{flex:1}.irsf-course-facts{grid-template-columns:1fr}.irsf-mobile-coursebar{top:4px}.irsf-card-time{display:none}}
@media(prefers-reduced-motion:reduce){.irsf-course-card,.irsf-progress>div,.irsf-sidebar,.irsf-primary,.irsf-secondary{transition:none!important}}
.irsf-course-card.is-ready{border-color:#e3c76f;background:linear-gradient(180deg,#fff,#fffdf5)}.irsf-course-card.is-complete{border-color:#9fd2b7;background:linear-gradient(180deg,#fff,#f7fcf9)}.irsf-course-ready-badge,.irsf-course-complete-badge{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:850}.irsf-course-ready-badge{background:#fff4cc;color:#735300}.irsf-course-complete-badge{background:#e6f6ed;color:var(--irsf-dark)}.irsf-sidebar nav a.irsf-final-nav{margin-top:10px;border-top:1px solid var(--line);padding-top:16px;color:var(--irsf-dark)}.irsf-sidebar nav a.irsf-final-nav span{background:#fff4cc;color:#7a5700}.irsf-completion-panel{margin-top:34px;padding:clamp(22px,4vw,34px);border:1px solid #b9dcc9;border-radius:18px;background:linear-gradient(135deg,#f5fcf8,#eef8f3);box-shadow:0 12px 30px rgba(7,61,43,.08)}.irsf-completion-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--irsf);color:#fff;font-size:30px;font-weight:900;margin-bottom:18px;box-shadow:0 8px 20px rgba(7,88,59,.2)}.irsf-completion-copy h2{margin:6px 0 10px;font-size:clamp(25px,3vw,34px);color:var(--irsf-dark)}.irsf-completion-copy p{margin:0;color:var(--muted);font-size:16px}.irsf-completion-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.irsf-final-cta{font-size:16px}.irsf-completion-note{margin:18px 0 0;padding-top:16px;border-top:1px solid #cee5d8;color:var(--muted);font-size:13px;line-height:1.55}@media(max-width:600px){.irsf-completion-actions{flex-direction:column}.irsf-completion-actions>*{width:100%}}

.irsf-completion-panel.is-passed{border-color:#8fceb0;background:linear-gradient(135deg,#f2fbf6,#e7f7ef)}.irsf-completion-panel.is-ready .irsf-completion-icon{background:#8a6500}.irsf-completion-panel.is-passed .irsf-completion-icon{background:var(--irsf)}

.irsf-preview-banner{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border:1px solid #d6a700;border-radius:12px;background:#fff8d8;color:#5b4600}
.irsf-preview-banner strong{font-weight:800}
.irsf-preview-banner span{font-size:.95rem}
.irsf-preview-progress-note{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px dashed #b78b00;border-radius:10px;background:#fff8d8;color:#5b4600;font-weight:700}
@media(max-width:700px){.irsf-preview-banner{align-items:flex-start;justify-content:flex-start}}
