@font-face{font-family:Enkel;src:url(/fonts/Enkel-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Enkel;src:url(/fonts/Enkel-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Qualy;src:url(/fonts/Qualy.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--blue:#0b3a66;--ink:#11232f;--cream:#f6f2e8;--line:#d8e0e7;--btn-height-sm:36px;--btn-height-md:44px;--header-px:24px;--header-px-mobile:16px;--content-max:1200px}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(180deg,#fffdf8 0%,var(--cream)100%);margin:0;font-family:Enkel,ui-sans-serif,system-ui}a{color:inherit}.container{max-width:1120px;margin:0 auto;padding:24px}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.btn{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:10px;padding:10px 14px;font-family:inherit;font-weight:600;text-decoration:none}.btn-sm{min-height:var(--btn-height-sm);padding:7px 14px;font-size:13px}.btn.secondary{color:var(--blue);border-color:var(--blue);background:#fff}.btn.hero-secondary{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff29;border-color:#fff6}.input,.select{background:#fff;border:1px solid #ccd6e0;border-radius:10px;width:100%;padding:11px 12px;font-size:15px}.portal-hero{color:#fff;background:linear-gradient(135deg,#0b3a66 0%,#4d94d7 100%);border:1px solid #0b3a6633;border-radius:16px;gap:10px;padding:20px;display:grid;box-shadow:0 8px 24px #0b3a662e}.portal-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-hero-btns{flex-shrink:0;align-items:center;gap:8px;display:flex}.portal-heading{color:#fff;margin:0;font-family:Qualy,Enkel,sans-serif;font-size:40px}.portal-subtitle{color:#ffffffeb;margin:0}.portal-controls{grid-template-columns:1fr 220px;gap:10px;display:grid}.category-section{background:#ffffffa6;border:1px solid #dbe4ec;border-radius:16px;padding:14px}.category-header{border-bottom:1px solid #e4eaf0;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.category-title{color:#123a58;margin:0;font-size:20px}.category-count{color:var(--blue);background:#f4f9ff;border:1px solid #d1deea;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px;display:grid}.resource-card{background:#fff;border:1px solid #d8e0e7;border-radius:12px;gap:8px;padding:14px;display:grid;box-shadow:0 1px #00000005}.resource-thumb{aspect-ratio:16/8;background:linear-gradient(135deg,#f5f8fc 0%,#e8f0fa 100%);border:1px solid #dce6ef;border-radius:10px;position:relative;overflow:hidden}.resource-thumb-image{object-fit:cover;width:100%;height:100%;display:block}.resource-thumb-fallback{color:#2f5f8e;place-items:center;width:100%;height:100%;font-size:28px;font-weight:700;display:grid}.resource-thumb-label{color:#f8fbff;letter-spacing:.3px;background:#11232fb8;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;position:absolute;bottom:8px;left:8px}.resource-pill{color:#24507a;background:#eaf2ff;border:1px solid #d8e6f8;border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px;font-weight:600}.resource-link{width:fit-content;text-decoration:none}@media (max-width:760px){.container{padding:16px}.portal-controls{grid-template-columns:1fr}.portal-heading{font-size:34px}.resource-grid{grid-template-columns:1fr}.btn{min-height:var(--btn-height-md)}.lms-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}}.lesson-layout{grid-template-columns:1fr 280px;align-items:start;gap:20px;display:grid}.lms-course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.lms-sidebar-wrapper{position:sticky;top:24px}.lms-sidebar-toggle{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0b3a66 0%,#4d94d7 100%);border:none;border-radius:0;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:700;display:none}.lms-sidebar-header,.lms-sidebar-body{display:block}.lms-page-heading{color:var(--blue);margin:0;font-family:Qualy,Enkel,sans-serif;font-size:36px}.lms-course-banner-heading{color:#fff;margin:0;font-family:Qualy,Enkel,sans-serif;font-size:30px}.lms-lesson-heading{color:var(--ink);margin:0;font-size:22px}.lms-header-inner{padding:14px var(--header-px);max-width:var(--content-max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 auto;display:flex}.lms-header-left{flex-shrink:0;align-items:center;gap:16px;display:flex}.lms-header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lms-nav-btn{color:#fff;white-space:nowrap;min-height:var(--btn-height-sm);cursor:pointer;background:#ffffff24;border:1px solid #ffffff4d;border-radius:8px;align-items:center;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.lms-nav-btn--active{background:#ffffff38;border-color:#fff9}.lms-main{max-width:var(--content-max);padding:24px var(--header-px)48px;margin:0 auto}.lms-main--admin{padding-top:28px}.lms-admin-header-inner{max-width:var(--content-max);padding:12px var(--header-px);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.lms-admin-nav{flex:1;gap:4px;display:flex}.lms-admin-utils{flex-shrink:0;gap:8px;display:flex}.lms-header-desktop-only{display:flex}.lms-header-mobile-only{display:none}.lms-hamburger{cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.lms-hamburger:hover{background:#fff3}.lms-mobile-dropdown{z-index:100;background:#fff;border-bottom:2px solid #d8e0e7;flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 6px 24px #0b3a6626}.lms-mobile-item{text-align:left;cursor:pointer;color:#11232f;background:0 0;border:none;align-items:center;width:100%;min-height:52px;padding:0 20px;font-size:15px;text-decoration:none;display:flex}.lms-mobile-item:hover,.lms-mobile-item:focus{background:#f6f2e8;outline:none}.lms-mobile-item--primary{color:#0b3a66;font-weight:500}.lms-mobile-item--active{color:#0b3a66;background:#0b3a660f;font-weight:700}.lms-mobile-item--secondary{color:#4a6070;font-size:14px}.lms-mobile-item--signout{color:#7a8a94;font-size:14px}.lms-mobile-divider{background:#d8e0e7;height:1px;margin:4px 0}header:has(.lms-mobile-dropdown){position:relative}@media (max-width:760px){.lesson-layout,.lms-course-grid{grid-template-columns:1fr}.lms-page-heading{font-size:26px}.lms-course-banner-heading{font-size:22px}.lms-lesson-heading{font-size:18px}.lms-header-inner{padding:10px var(--header-px-mobile)}.lms-main{padding:16px var(--header-px-mobile)40px}.lms-admin-header-inner{padding:10px var(--header-px-mobile)}.lms-header-desktop-only{display:none!important}.lms-header-mobile-only{display:flex}.lms-sidebar-wrapper{position:static}.lms-sidebar-header{display:none}.lms-sidebar-toggle{display:flex}.lms-sidebar-body{display:none}.lms-sidebar-body.open{display:block}}@keyframes lms-pulse{0%,to{opacity:1}50%{opacity:.6}}.lms-sidebar-item--pending{animation:1.2s ease-in-out infinite lms-pulse}@keyframes spin{to{transform:rotate(360deg)}}.lms-loading-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-left:8px;animation:.7s linear infinite spin;display:inline-block}.lms-loading-spinner-dark{border:2px solid #0b3a6633;border-top-color:#0b3a66;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.lms-loading-spinner-light{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line,.skeleton-block{background:linear-gradient(90deg,#e8edf2 25%,#f4f7fa 50%,#e8edf2 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-shimmer}
