.platform-card{border-radius:var(--cafor-radius);height:100%;box-shadow:var(--cafor-shadow);transition:var(--cafor-card-transition);background:#fff;border:1px solid #e8edf4;flex-direction:column;display:flex;overflow:hidden}.platform-card-media{height:130px;position:relative;overflow:hidden}.platform-card-img{object-fit:cover;transition:transform .55s}.platform-card:hover .platform-card-img{transform:scale(1.08)}.platform-card-overlay{background:linear-gradient(#1a448033 0%,#1a4480bf 100%);position:absolute;inset:0}.platform-card-tag{z-index:1;color:#fff;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 3px #0006;font-size:.65rem;font-weight:700;position:absolute;bottom:.7rem;left:.75rem}.platform-card-body{padding:1rem 1.1rem 1.15rem}.platform-card:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);box-shadow:var(--cafor-hover-shadow);border-color:#0000}.perf-chart{align-items:flex-end;gap:.75rem;height:200px;display:flex}.perf-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.perf-bar-track{flex-grow:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.perf-bar{background:linear-gradient(180deg, var(--cafor-blue) 0%, var(--cafor-blue-deep) 100%);border-radius:6px 6px 0 0;width:70%;max-width:46px;min-height:6px;transition:height .5s;position:relative}.perf-bar-value{color:var(--cafor-blue-deep);font-size:.7rem;font-weight:700;position:absolute;top:-1.3rem;left:50%;transform:translate(-50%)}.perf-label{color:var(--cafor-muted);margin-top:.5rem;font-size:.75rem;font-weight:600}.spark-chart{align-items:flex-end;gap:.5rem;height:120px;display:flex}.spark-col{flex:1;align-items:flex-end;height:100%;display:flex}.spark-bar{background:var(--cafor-blue-light);border-top:3px solid var(--cafor-blue);border-radius:4px 4px 0 0;width:100%;min-height:8px;transition:height .5s}.score-row{align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.score-name{color:var(--cafor-blue-deep);flex:0 0 42%;font-size:.8125rem;font-weight:600}.score-track{background:var(--cafor-blue-light);border-radius:999px;flex-grow:1;height:8px;overflow:hidden}.score-fill{border-radius:999px;height:100%}.score-fill-high{background:var(--cafor-blue)}.score-fill-low{background:#9bb8dd}.score-value{color:var(--cafor-blue-deep);text-align:right;flex:none;min-width:2.5rem;font-size:.8125rem;font-weight:700}.portal-sidebar .nav-link:hover{background:#ffffff1f}.portal-app{background:#eef3f9;flex-direction:column;gap:0;width:100%;min-height:100vh;display:flex;position:relative}.portal-app--fullscreen{min-height:100dvh}html[data-theme=dark] .portal-app{background:#123048}.portal-topbar{z-index:1040;min-height:3.5rem;padding:.45rem .85rem;padding-top:calc(.45rem + env(safe-area-inset-top,0px));background:linear-gradient(90deg,#0b2347 0%,#1a4480 55%,#3478c2 100%);border-bottom:1px solid #ffffff1f;align-items:center;gap:.65rem;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #0b234738}.portal-menu-btn{color:#fff;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:1px solid #ffffff47;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;min-width:2.75rem;height:2.75rem;padding:0 .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.portal-menu-btn-label{letter-spacing:.02em}.portal-menu-btn .bi-icon,.portal-menu-btn svg{flex-shrink:0;width:1.25rem;height:1.25rem}.portal-menu-btn:hover,.portal-menu-btn[aria-expanded=true]{color:#fff;background:#fff3}.portal-topbar-brand{align-items:center;gap:.55rem;min-width:0;text-decoration:none;display:inline-flex;color:#fff!important}.portal-topbar-logo{background:#fff;border-radius:8px;flex-shrink:0;padding:2px}.portal-topbar-brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.portal-topbar-brand-text strong{letter-spacing:.03em;font-size:.95rem;color:#fff!important}.portal-topbar-brand-text span{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;color:#ffffffc7!important}.portal-topbar-actions{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.portal-topbar-site{background:#ffffff1a;border:1px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:inline-flex;color:#fff!important}.portal-topbar-site:hover{background:#fff3;color:#fff!important}.portal-nav-backdrop{z-index:1045;cursor:pointer;background:#0b234773;border:0;padding:0;position:fixed;inset:0}.portal-nav-backdrop[hidden]{display:none!important}.portal-app-sidebar,.portal-app-drawer{background:linear-gradient(180deg, #0b2347 0%, var(--cafor-blue-deep) 42%, #153d72 100%);z-index:1050;border-right:1px solid #ffffff14;width:min(300px,88vw);height:100dvh;margin:0;padding:0;transition:transform .28s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:8px 0 28px #0b234747}.portal-app-drawer[data-open=true],.portal-app--nav-open .portal-app-drawer{transform:translate(0)}html[data-theme=dark] .portal-app-sidebar,html[data-theme=dark] .portal-app-drawer{background:linear-gradient(#0b2347 0%,#123a6b 55%,#1a4480 100%);border-right-color:#ffffff1f}.portal-app-main{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.portal-sidebar-inner{flex-direction:column;min-height:100%;padding:1.35rem 1rem 1.25rem;display:flex}.portal-sidebar-brand{color:#fff;align-items:center;gap:.75rem;margin-bottom:1.75rem;padding:.35rem .5rem;text-decoration:none;display:flex}.portal-sidebar-brand:hover{color:#fff;opacity:.92}.portal-sidebar-logo{background:#fff;border-radius:8px;padding:2px}.portal-sidebar-brand-name{letter-spacing:.02em;font-size:1rem;font-weight:800}.portal-sidebar-brand-sub{text-transform:uppercase;letter-spacing:.08em;opacity:.65;font-size:.68rem}.portal-sidebar-nav{flex-direction:column;flex:1;gap:.35rem;display:flex}.portal-sidebar-link{-webkit-tap-highlight-color:transparent;border-radius:10px;align-items:center;gap:.65rem;min-height:2.75rem;padding:.75rem .85rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex;color:#ffffffe0!important}.portal-sidebar-link i,.portal-sidebar-link svg,.portal-sidebar-link .bi-icon{opacity:1;fill:currentColor;font-size:1rem;color:inherit!important}.portal-sidebar-link:hover{background:#ffffff24;color:#fff!important}.portal-sidebar-link--active{box-shadow:0 6px 18px #0000002e;color:#1a4480!important;background:#fff!important}.portal-sidebar-link--active i,.portal-sidebar-link--active svg,.portal-sidebar-link--active .bi-icon{color:#1a4480!important}.portal-sidebar-foot{border-top:1px solid #ffffff1f;margin-top:1.5rem;padding-top:1.25rem}.portal-sidebar-note{margin-bottom:.85rem;font-size:.72rem;line-height:1.45;color:#ffffffbf!important}.portal-sidebar-home{align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.78rem;text-decoration:none;display:inline-flex;color:#ffffffe6!important}.portal-sidebar-home:hover{color:#fff!important}.portal-sidebar-logout{color:#fff;background:0 0;border:1px solid #ffffff59;border-radius:8px;width:100%;padding:.5rem .75rem;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s}.portal-sidebar-logout:hover:not(:disabled){color:#fff;background:#ffffff1f;border-color:#ffffff8c}.portal-app-header{background:#fff;border-bottom:1px solid #d7e3f2;padding:1.75rem clamp(1.25rem,3vw,2.5rem) 1.25rem}html[data-theme=dark] .portal-app-header{background:#123048;border-bottom-color:#ffffff1a}.portal-app-crumb{margin-bottom:.65rem;font-size:.78rem}.portal-app-crumb a{color:var(--cafor-blue);text-underline-offset:2px;text-decoration:underline}.portal-app-crumb a:hover{text-decoration:underline}.portal-app-crumb-sep{color:var(--bs-secondary-color);margin:0 .4rem}.portal-app-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--cafor-blue);margin-bottom:.35rem;font-size:.72rem;font-weight:700}.portal-app-title{color:var(--cafor-blue-deep);margin:0;font-size:clamp(1.45rem,2.5vw,1.85rem);font-weight:800;line-height:1.2}.portal-app-desc{max-width:44rem;color:var(--bs-secondary-color);margin-top:.65rem;font-size:.95rem;line-height:1.55}.portal-app-content{flex:1;padding:clamp(1.25rem,2.5vw,2rem) clamp(1.25rem,3vw,2.5rem) 2.5rem}.portal-catalogue-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-catalogue-stats{color:var(--bs-secondary-color);flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;font-size:.84rem;display:flex}.portal-catalogue-stats strong{color:var(--cafor-blue-deep)}.portal-catalogue-stat-pill{background:var(--cafor-blue-light);color:var(--cafor-blue-deep);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.portal-catalogue-filters{background:#fff;border:1px solid #e3eaf4;border-radius:14px;padding:1.1rem 1.25rem;box-shadow:0 4px 18px #1a44800f}.portal-search-wrap{position:relative}.portal-search-wrap .bi-icon{color:var(--cafor-blue);opacity:.65;pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.portal-search-input{border-color:#d8e3f0;border-radius:10px;padding-left:2.35rem}.portal-search-input:focus{border-color:var(--cafor-blue);box-shadow:0 0 0 3px #3478c21f}[data-theme=dark] .portal-app{background:var(--bs-body-bg)}.admin-cms{font-family:Calibri,sans-serif}.admin-cms-card{background:#fff;border:1px solid #1a44801a;overflow:hidden}.admin-cms-card-header{background:linear-gradient(135deg, var(--cafor-blue-deep) 0%, var(--cafor-blue) 100%);padding:1rem 1.25rem;color:#fff!important}.admin-cms-card-header h1,.admin-cms-card-header h2,.admin-cms-card-header h3,.admin-cms-card-header h4,.admin-cms-card-header .h4,.admin-cms-card-header .h5,.admin-cms-card-header p,.admin-cms-card-header span:not(.badge){color:#fff!important}.admin-cms-card-header .btn-light{font-weight:600;color:#1a4480!important;background:#fff!important;border-color:#fff!important}.admin-cms-muted{color:var(--cafor-muted)}.admin-cms-table thead{background:var(--cafor-blue-light);color:var(--cafor-blue-deep)}.admin-cms-table thead th{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #1a44801f;font-size:.75rem;font-weight:700}.admin-cms-table tbody tr:hover{background:#3478c20d}.admin-cms-thumb{background:#fff;border:1px solid #1a44801f;width:56px;height:40px}.admin-cms-preview{max-width:220px;border-color:#1a448026!important}.admin-cms-badge-live{color:var(--cafor-blue-deep);background:#3478c226}.admin-cms-badge-draft{color:#475d7f;background:#475d7f2e}.admin-cms-badge-featured{color:var(--cafor-blue-deep);background:#1a44801f}.admin-staff-credentials{color:#065f46;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-radius:.75rem;padding:1.25rem 1.5rem;border:2px solid #10b981!important}.admin-staff-credentials .form-control{color:#065f46;background:#fff;font-weight:600}[data-theme=dark] .admin-staff-credentials{color:#ecfdf5;background:linear-gradient(135deg,#064e3b 0%,#065f46 100%);border-color:#34d399!important}[data-theme=dark] .admin-staff-credentials .form-control{color:#ecfdf5;background:#00000040;border-color:#fff3}[data-theme=dark] .admin-cms-card{background:var(--cafor-card-bg);border-color:var(--cafor-card-border)}[data-theme=dark] .admin-cms-card-header{background:linear-gradient(135deg,#0f1a2e 0%,#1a4480 100%)}[data-theme=dark] .admin-cms-table thead{color:#d4e4f8;background:#ffffff0f}[data-theme=dark] .admin-cms-table tbody tr:hover{background:#ffffff0a}[data-theme=dark] .admin-cms-thumb{background:#ffffff0a;border-color:#ffffff1f}[data-theme=dark] .admin-news-row-title{color:var(--bs-body-color)}[data-theme=dark] .admin-news-row-meta,[data-theme=dark] .admin-cms-muted{color:#ffffff9e}[data-theme=dark] .admin-cms-badge-live{color:#b8d4f0;background:#3478c247}[data-theme=dark] .admin-cms-badge-draft{color:#ffffffb8;background:#ffffff1a}[data-theme=dark] .admin-cms-badge-featured{color:#b8d4f0;background:#1a448059}[data-theme=dark] .admin-cms .btn-cafor-outline{color:#8eb8e8;border-color:var(--cafor-blue);background:0 0}[data-theme=dark] .admin-cms .btn-cafor-outline:hover{color:#fff;background:var(--cafor-blue)}[data-theme=dark] .admin-cms .btn-outline-danger{color:#f87171;background:0 0;border-color:#f87171}[data-theme=dark] .admin-cms .btn-outline-danger:hover{color:#fff;background:#dc2626}[data-theme=dark] .admin-cms-card-header .btn-light{color:var(--cafor-blue-deep);background:#fff}[data-theme=dark] .admin-inquiry-row{background:var(--cafor-card-bg);border-color:var(--cafor-card-border)}[data-theme=dark] .admin-inquiry-head strong{color:var(--bs-body-color)}[data-theme=dark] .admin-inquiry-org,[data-theme=dark] .admin-inquiry-date{color:#ffffff9e}[data-theme=dark] .admin-inquiry-email{color:#8eb8e8}[data-theme=dark] .admin-inquiry-body{color:#ffffffc7}[data-theme=dark] .admin-cms .form-control::file-selector-button{background:var(--cafor-blue);color:#fff;border:0;margin-right:.65rem;padding:.35rem .75rem;font-weight:600}[data-theme=dark] .portal-app-kicker{color:var(--cafor-blue-light)}[data-theme=dark] .portal-app-desc{color:#ffffff9e}[data-theme=dark] .portal-app-crumb,[data-theme=dark] .portal-app-crumb-sep{color:#ffffff8c}.admin-news-list{flex-direction:column;gap:1.25rem;display:flex}.admin-news-row{background:#fff;border:1px solid #1a448024;border-radius:12px;padding:1.25rem 1.35rem}.admin-news-row-head{align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.admin-news-cover{background:var(--cafor-blue-light) center/cover no-repeat;width:72px;height:72px;color:var(--cafor-blue);border:1px solid #1a44801f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.75rem;display:inline-flex}.admin-news-cover--empty{color:var(--cafor-muted);background:#eef4fb}.admin-news-cover--stored{color:var(--cafor-blue-deep);background:#3478c21f}.admin-news-row-title{color:var(--cafor-blue-deep);margin:0 0 .35rem;font-size:1.25rem;font-weight:700;line-height:1.3}.admin-news-row-meta{color:var(--cafor-muted);font-size:.95rem}.admin-news-row-badges{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.admin-news-row-badges .badge{padding:.35rem .65rem;font-size:.8rem}.admin-news-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}@media (min-width:768px){.admin-news-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-news-row{padding:1.5rem 1.65rem}.admin-news-row-title{font-size:1.35rem}}[data-theme=dark] .admin-news-row{background:var(--cafor-card-bg);border-color:#ffffff1a}[data-theme=dark] .admin-news-cover--empty,[data-theme=dark] .admin-news-cover--stored{background:#ffffff0f}.admin-inquiry-list{flex-direction:column;gap:1rem;display:flex}.admin-inquiry-row{background:#fff;border:1px solid #1a448024;border-radius:12px;padding:1.15rem 1.25rem}.admin-inquiry-head{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.35rem;display:flex}.admin-inquiry-date{color:var(--cafor-muted);font-size:.85rem}.admin-inquiry-email{word-break:break-all;margin-bottom:.35rem;font-size:.9rem;display:inline-block}@media (max-width:767.98px){.admin-bottom-nav{grid-template-columns:repeat(4,1fr)}}[data-theme=dark] .portal-app-header{background:var(--cafor-card-bg);border-bottom-color:var(--cafor-card-border)}[data-theme=dark] .portal-app-title{color:#d4e4f8}[data-theme=dark] .portal-catalogue-filters{background:#ffffff0a;border-color:#ffffff1a}@media (max-width:991px){.portal-app-header{padding:1.15rem 1.1rem 1rem}.portal-app-content{padding:1rem 1.1rem 1.5rem}}@media (max-width:767.98px){.portal-app{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom,0px))}.portal-app-header{padding:1rem 1rem .85rem}.portal-app-content{padding:1rem 1rem 1.5rem}.portal-app-title{font-size:1.35rem}.portal-app-desc{font-size:.88rem}.portal-catalogue-toolbar{flex-direction:column;align-items:stretch}.portal-catalogue-stats{justify-content:space-between;gap:.5rem}.portal-catalogue-filters{border-radius:12px;padding:.9rem 1rem}.course-card-head{height:148px}}.portal-bottom-nav{display:none}@media (max-width:767.98px){.portal-bottom-nav{z-index:1045;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom,0px));background:#0b2347;border-top:1px solid #ffffff1a;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #0b234759}.portal-bottom-link,.portal-bottom-logout{color:#ffffff9e;letter-spacing:.01em;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-height:3.15rem;padding:.35rem .2rem;font-size:.62rem;font-weight:700;text-decoration:none;display:flex}.portal-bottom-link i,.portal-bottom-logout i{font-size:1.15rem;line-height:1}.portal-bottom-link--active{color:#fff;background:#ffffff1f}.portal-bottom-logout:disabled{opacity:.5}html[data-theme=dark] .portal-bottom-nav{background:#061428;border-top-color:#ffffff24}html[data-theme=dark] .portal-bottom-link,html[data-theme=dark] .portal-bottom-logout{color:#ffffffc7!important}html[data-theme=dark] .portal-bottom-link--active{color:#fff!important;background:#3478c273!important}html[data-portal] .chat-fab{bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}html[data-portal] .back-to-top{bottom:calc(5.25rem + env(safe-area-inset-bottom,0px))}}@media (min-width:1400px){.portal-app-drawer{width:320px}}.portal-auth-page{background:var(--cafor-gray);min-height:calc(100vh - 72px)}[data-theme=dark] .portal-auth-page{background:var(--bs-body-bg)}.portal-auth-card{background:var(--cafor-card-bg);border:1px solid var(--cafor-card-border);color:var(--bs-body-color);box-shadow:var(--cafor-shadow)}.portal-auth-card .text-secondary,.portal-auth-card .form-text{color:var(--cafor-muted)!important}.portal-auth-card .form-label,.portal-auth-card legend,.portal-auth-card .form-check-label{color:#1a4480!important}html[data-theme=dark] .portal-auth-card .form-label,html[data-theme=dark] .portal-auth-card legend,html[data-theme=dark] .portal-auth-card .form-check-label{color:#d4e4f8!important}.portal-auth-card .form-control,.portal-auth-card .form-select{color:#16345c;border-color:#9bb8d9}.portal-auth-card .form-control:focus,.portal-auth-card .form-select:focus{border-color:#3478c2;box-shadow:0 0 0 3px #3478c22e}html[data-theme=dark] .portal-auth-card .form-control,html[data-theme=dark] .portal-auth-card .form-select{color:#e4edf8;background:#123048;border-color:#6ea8e873}.portal-password-toggle{color:#1a4480!important;background:#fff!important;border-color:#3478c2!important}html[data-theme=dark] .portal-password-toggle{color:#d4e4f8!important;background:#123048!important;border-color:#6ba8e8!important}.portal-auth-info,.portal-auth-success{background:var(--cafor-blue-light);border-left:4px solid var(--cafor-blue);color:var(--cafor-text)}[data-theme=dark] .portal-auth-info,[data-theme=dark] .portal-auth-success{border-left-color:var(--cafor-blue);color:var(--bs-body-color);background:#3478c226}.portal-password-toggle:hover,html[data-theme=dark] .portal-password-toggle:hover{color:#fff!important;background:#3478c2!important;border-color:#3478c2!important}.portal-flash-banner{background:var(--cafor-blue-light);color:var(--cafor-blue-deep);border-left:4px solid var(--cafor-blue)}[data-theme=dark] .portal-flash-banner{color:#d4e4f8;border-left-color:var(--cafor-blue);background:#3478c233}[data-theme=dark] .portal-auth-card .alert-danger{color:#f8d7da;background:#dc354526;border-color:#dc354559}[data-theme=dark] .portal-app-content .card,[data-theme=dark] .portal-app-content .card.shadow-sm{background:var(--cafor-card-bg);border-color:var(--cafor-card-border);color:var(--bs-body-color)}[data-theme=dark] .portal-app-content .stat-card{background:var(--cafor-card-bg);border:1px solid var(--cafor-card-border);color:var(--bs-body-color)}[data-theme=dark] .portal-app-content .stat-card.bg-white,[data-theme=dark] .portal-app-content .bg-white.stat-card{background:var(--cafor-card-bg)!important}[data-theme=dark] .portal-app-content .platform-card{background:var(--cafor-card-bg);border-color:var(--cafor-card-border)}[data-theme=dark] .portal-app-content .platform-card-body h4,[data-theme=dark] .portal-app-content .platform-card-body .text-cafor-blue-deep{color:#d4e4f8}[data-theme=dark] .portal-app-content .platform-card-body .text-secondary{color:var(--cafor-muted)}[data-theme=dark] .portal-app-content .form-control,[data-theme=dark] .portal-app-content .form-select{background:var(--cafor-card-bg);color:var(--bs-body-color);border-color:#ffffff26}[data-theme=dark] .portal-app-content .form-control:focus,[data-theme=dark] .portal-app-content .form-select:focus{background:var(--cafor-card-bg);border-color:var(--cafor-blue);color:var(--bs-body-color);box-shadow:0 0 0 .2rem #3478c240}[data-theme=dark] .portal-app-content .form-control::file-selector-button{background:var(--cafor-blue);color:#fff;border:0;border-radius:.35rem;margin-right:.65rem;padding:.35rem .75rem;font-weight:600}[data-theme=dark] .portal-app-content input[type=file].form-control::file-selector-button{background:var(--cafor-blue);color:#fff;border:0;border-radius:.35rem;margin-right:.65rem;padding:.35rem .75rem;font-weight:600}[data-theme=dark] .portal-app-content input[type=file].form-control{background:var(--cafor-card-bg);color:var(--cafor-muted)}[data-theme=dark] .portal-app-content .stat-value{color:#b8d4f0}[data-theme=dark] .portal-app-content .stat-label{color:var(--cafor-muted)}[data-theme=dark] .portal-app-content .table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:#ffffff1a}[data-theme=dark] .portal-app-content .table thead th{color:#b8d4f0;background:#3478c226}[data-theme=dark] .portal-app-content .table td,[data-theme=dark] .portal-app-content .table th{color:var(--bs-body-color);border-color:#ffffff1a}[data-theme=dark] .portal-app-content .alert-light{color:#e4edf8!important;background:#153a66!important;border-color:#6ea8e866!important}[data-theme=dark] .portal-app-content .alert-light .text-secondary,[data-theme=dark] .portal-app-content .card .text-secondary,[data-theme=dark] .portal-app-content .text-secondary{color:#a8c4e4!important}[data-theme=dark] .portal-app-content .card p,[data-theme=dark] .portal-app-content .card .card-body{color:#d4e4f8!important}[data-theme=dark] .portal-app-content .alert-warning{color:#d4e4f8;background:#3478c22e;border-color:#3478c266}[data-theme=dark] .portal-app-content .alert-success{color:#d4e4f8;background:#3478c238;border-color:#3478c273}[data-theme=dark] .portal-catalogue-stats strong{color:#b8d4f0}[data-theme=dark] .portal-app-content .course-card-body,[data-theme=dark] .portal-app-content .course-card-title,[data-theme=dark] .portal-app-content .course-card-excerpt,[data-theme=dark] .portal-app-content .course-card-meta{color:var(--bs-body-color)}[data-theme=dark] .portal-app-content .course-tag{color:#b8d4f0;background:#3478c240}[data-theme=dark] .portal-app-content .input-group .form-control{border-right:0}[data-theme=dark] .portal-app-crumb a{color:#8eb8e8}[data-theme=dark] .portal-sidebar-link--active{box-shadow:0 6px 18px #00000059;color:#0b2347!important;background:#fff!important}[data-theme=dark] .portal-sidebar-link--active i,[data-theme=dark] .portal-sidebar-link--active svg,[data-theme=dark] .portal-sidebar-link--active .bi-icon{color:#0b2347!important}[data-theme=dark] .portal-sidebar-link{color:#ffffffeb!important}[data-theme=dark] .portal-sidebar-home,[data-theme=dark] .portal-sidebar-note{color:#ffffffe0!important}[data-theme=dark] .portal-sidebar-logout{color:#fff!important;background:#ffffff14!important;border-color:#ffffff8c!important}[data-theme=dark] .admin-cms-table td,[data-theme=dark] .admin-cms-table th{color:var(--bs-body-color)}[data-theme=dark] .admin-cms .badge.bg-secondary{color:#d4e4f8!important;background:#ffffff26!important}[data-theme=dark] .admin-cms .badge.bg-warning{color:#d4e4f8!important;background:#3478c259!important}[data-theme=dark] .admin-cms .badge.bg-success{color:#fff!important;background:#3478c273!important}[data-theme=dark] .portal-app-content code{color:#b8d4f0;background:#3478c233;border-radius:4px;padding:.1rem .35rem}.portal-app-content--flush{padding-top:1rem}.course-reader{flex-direction:column;gap:1rem;max-width:1120px;margin:0 auto;display:flex}.course-reader-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.course-reader-series{letter-spacing:.04em;text-transform:uppercase;color:var(--cafor-blue);margin:0 0 .25rem;font-size:.75rem;font-weight:700}.course-reader-title{color:var(--cafor-blue-deep);margin:0;font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:800;line-height:1.25}.course-reader-meta{color:var(--cafor-muted);margin:.35rem 0 0;font-size:.875rem}.course-reader-actions{flex-wrap:wrap;gap:.5rem;display:flex}.course-reader-tabs{background:#3478c214;border:1px solid #d7e3f2;border-radius:12px;gap:.35rem;padding:.3rem;display:flex}.course-reader-tab{min-width:0;color:var(--cafor-blue-deep);background:0 0;border:0;border-radius:9px;flex:1;padding:.55rem .75rem;font-size:.9rem;font-weight:650}.course-reader-tab.is-active{color:var(--cafor-blue-deep);background:#fff;box-shadow:0 1px 4px #0b23471f}.course-reader-layout{grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:start;gap:1rem;display:grid}@media (max-width:991.98px){.course-reader-layout{grid-template-columns:1fr}}.course-reader-main{background:#fff;border:1px solid #d7e3f2;border-radius:14px;min-width:0;overflow:hidden}html[data-theme=dark] .course-reader-main,html[data-theme=dark] .course-aside-card{background:#123048;border-color:#ffffff1f}html[data-theme=dark] .course-reader-tabs{background:#ffffff0f;border-color:#ffffff1f}html[data-theme=dark] .course-reader-tab{color:#d4e4f8}html[data-theme=dark] .course-reader-tab.is-active{color:#fff;background:#152238}.course-pdf-toolbar{color:var(--cafor-blue-deep);background:#eef4fb;border-bottom:1px solid #d7e3f2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.8rem;font-weight:600;display:flex}.course-pdf-toolbar-actions{flex-wrap:wrap;gap:.4rem;display:flex}.course-pdf-frame{background:#f5f7fb;border:0;width:100%;height:min(72vh,720px)}.course-notes-panel,.course-practice-panel{padding:1.15rem 1.25rem 1.35rem}.course-notes-progress,.course-practice-progress{background:#d7e3f2;border-radius:999px;height:6px;margin-bottom:.75rem;overflow:hidden}.course-notes-progress-bar,.course-practice-progress-bar{background:linear-gradient(90deg,#3478c2,#1a4480);height:100%}.course-notes-page{color:var(--cafor-muted);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.course-notes-heading{color:var(--cafor-blue-deep);margin:0 0 .75rem;font-size:1.05rem;font-weight:800}.course-notes-body{color:var(--cafor-text);margin:0 0 .85rem;font-size:.98rem;line-height:1.65}.course-notes-nav{border-top:1px solid #d7e3f2;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.course-practice-status{color:var(--cafor-muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;font-size:.82rem;font-weight:650;display:flex}.course-q-prompt{color:var(--cafor-blue-deep);margin:0 0 1rem;font-size:1.05rem;font-weight:750;line-height:1.4}.course-q-choices{flex-direction:column;gap:.55rem;display:flex}.course-q-choice{text-align:left;color:#16345c;background:#f8fbff;border:1px solid #d7e3f2;border-radius:12px;align-items:flex-start;gap:.7rem;width:100%;padding:.75rem .85rem;font-size:.95rem;line-height:1.45;display:flex}.course-q-choice:hover:not(:disabled){color:#16345c;background:#eef5fc;border-color:#3478c2}.course-q-choice.is-selected{color:#0b2347;background:#e3eef9;border-color:#1a4480;box-shadow:0 0 0 2px #3478c247}.course-q-choice.is-correct{color:#145c38;background:#e8f7ef;border-color:#1f7a4d}.course-q-choice.is-wrong{color:#7a1d16;background:#fdeceb;border-color:#b42318}.course-q-choice-letter{color:#fff;background:#3478c2;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;font-size:.75rem;font-weight:800;display:inline-flex}.course-q-choice.is-selected .course-q-choice-letter{color:#fff;background:#0b2347}.course-q-choice.is-correct .course-q-choice-letter{color:#fff;background:#1f7a4d}.course-q-choice.is-wrong .course-q-choice-letter{color:#fff;background:#b42318}.course-q-feedback{border-radius:12px;margin-top:1rem;padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.course-q-feedback.is-correct{color:#145c38;background:#e8f7ef;border:1px solid #9fd5b5}.course-q-feedback.is-wrong{color:#7a1d16;background:#fdeceb;border:1px solid #f0b4ae}.course-q-actions{gap:.5rem;margin-top:1rem;display:flex}.course-aside-card{background:#fff;border:1px solid #d7e3f2;border-radius:14px;margin-bottom:.75rem;padding:1rem 1.05rem}.course-aside-card h2{color:var(--cafor-blue-deep);margin:0 0 .65rem;font-size:.92rem;font-weight:800}.course-aside-card p{color:var(--cafor-muted);margin:0 0 .75rem;font-size:.82rem;line-height:1.5}.course-aside-card ul{margin:0;padding:0;list-style:none}.course-aside-card li{border-bottom:1px solid #e8eef6;flex-direction:column;gap:.1rem;padding:.45rem 0;font-size:.82rem;display:flex}.course-aside-card li:last-child{border-bottom:0}.course-aside-card li span{color:var(--cafor-muted)}.course-aside-card li strong{color:var(--cafor-text);font-weight:700}.pdf-viewer{z-index:2000;background:#0b2347;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-viewer-bar{color:#fff;background:linear-gradient(90deg,#0b2347,#1a4480);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .85rem;display:flex}.pdf-viewer-bar-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.pdf-viewer-bar-text strong{font-size:.95rem}.pdf-viewer-bar-text span{opacity:.85;font-size:.75rem}.pdf-viewer-bar-actions{flex-wrap:wrap;gap:.4rem;display:flex}.pdf-viewer-frame{background:#1a1a1a;border:0;flex:1;width:100%}.pdf-viewer-missing{text-align:center;padding:2rem}html[data-theme=dark] .course-reader-title,html[data-theme=dark] .course-notes-heading,html[data-theme=dark] .course-q-prompt,html[data-theme=dark] .course-aside-card h2{color:#d4e4f8}html[data-theme=dark] .course-q-choice{background:#1a3355;border-color:#b4d2f559;color:#f2f7fc!important}html[data-theme=dark] .course-q-choice span,html[data-theme=dark] .course-q-choice-text{color:inherit!important}html[data-theme=dark] .course-q-choice:hover:not(:disabled){background:#234a78;border-color:#8ec0f0;color:#fff!important}html[data-theme=dark] .course-q-choice.is-selected{background:#2a5a8f;border-color:#b8d8f8;box-shadow:0 0 0 2px #b8d8f859;color:#fff!important}html[data-theme=dark] .course-q-choice.is-correct{background:#1a4a32;border-color:#5dcea0;color:#d8ffea!important}html[data-theme=dark] .course-q-choice.is-wrong{background:#5a2220;border-color:#f0a09a;color:#ffe4e1!important}html[data-theme=dark] .course-q-choice-letter{background:#5aa0e0;color:#0b2347!important}html[data-theme=dark] .course-q-choice.is-selected .course-q-choice-letter,html[data-theme=dark] .course-q-choice:hover:not(:disabled) .course-q-choice-letter{background:#fff;color:#0b2347!important}html[data-theme=dark] .course-q-choice.is-correct .course-q-choice-letter{background:#5dcea0;color:#0b2347!important}html[data-theme=dark] .course-q-choice.is-wrong .course-q-choice-letter{background:#f0a09a;color:#3a1010!important}html[data-theme=dark] .course-q-prompt{color:#f5f9ff!important}html[data-theme=dark] .course-practice-status{color:#b8cce4!important}html[data-theme=dark] .course-q-feedback.is-correct{color:#d8ffea;background:#1a4a32;border-color:#5dcea0}html[data-theme=dark] .course-q-feedback.is-wrong{color:#ffe4e1;background:#5a2220;border-color:#f0a09a}html[data-theme=dark] .course-q-feedback strong{color:inherit}html[data-theme=dark] .course-pdf-toolbar{color:#d4e4f8;background:#152238;border-bottom-color:#ffffff1f}html[data-theme=dark] .course-reader-meta,html[data-theme=dark] .course-notes-page,html[data-theme=dark] .course-notes-body,html[data-theme=dark] .course-aside-card p,html[data-theme=dark] .course-practice-results .text-secondary{color:#c8daf0!important}html[data-theme=dark] .course-aside-card li{border-bottom-color:#ffffff1f}html[data-theme=dark] .course-aside-card li span{color:#9eb6d4!important}html[data-theme=dark] .course-aside-card li strong{color:#f2f7fc!important}html[data-theme=dark] .course-notes-nav{background:0 0;border-top-color:#ffffff24}html[data-theme=dark] .course-notes-nav .btn-cafor-outline,html[data-theme=dark] .course-reader .btn-cafor-outline,html[data-theme=dark] .course-aside-card .btn-cafor-outline,html[data-theme=dark] .portal-app-content .card-footer .btn-cafor-outline{color:#eef5fc!important;background:#1a3355!important;border-color:#8ec0f0!important}html[data-theme=dark] .course-notes-nav .btn-cafor-outline:disabled,html[data-theme=dark] .course-reader .btn-cafor-outline:disabled{opacity:.55;color:#b8cce4!important}html[data-theme=dark] .course-notes-nav .btn-cafor,html[data-theme=dark] .course-reader .btn-cafor{color:#fff!important}html[data-theme=dark] .portal-app-content .card-footer,html[data-theme=dark] .portal-app-content .card-footer.bg-white{color:#e4edf8!important;background:#152238!important;border-color:#ffffff1f!important}html[data-theme=dark] .portal-app-content .card-footer .text-secondary,html[data-theme=dark] .portal-app-content .card-footer .small{color:#b8cce4!important}html[data-theme=dark] .course-reader-tabs{background:#ffffff14}html[data-theme=dark] .course-pdf-toolbar{color:#e4edf8;background:#152238}button.portal-sidebar-home{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;display:inline-flex}html[data-theme=dark] .portal-topbar-site{border-color:#ffffff59;color:#fff!important}
