:root{--bg-navy:#10233f;--bg-main:#f8f7f2;--bg-card:#fff;--text-primary:#1c1c1a;--text-secondary:#625f57;--accent-yellow:#ffd500;--accent-yellow-hover:#e6c000;--accent-blue:#1c1c1a;--border-color:#e5e2d8;--surface-muted:#f1f0ea;--surface-tint:#fff8cc;--ink-soft:#625f57;--navy-soft:#17345d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition:all .2s ease-in-out}[data-theme=dark]{--bg-navy:#0b192c;--bg-main:#111827;--bg-card:#1f2937;--text-primary:#f9fafb;--text-secondary:#9ca3af;--border-color:#374151}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--text-primary);transition:var(--transition);text-decoration:none}button{cursor:pointer;font-family:var(--font-family);transition:var(--transition);background:0 0;border:none}.container{max-width:1400px;margin:0 auto;padding:0 32px}@media (max-width:768px){.container{padding:0 16px}}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px}.btn-primary{background-color:var(--accent-yellow);color:#000;border-radius:var(--radius-full);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.btn-primary:hover{background-color:var(--accent-yellow-hover)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-full);background-color:#0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.btn-secondary:hover{background-color:var(--bg-main)}.input-search{border-radius:var(--radius-md);color:#111827;width:100%;font-family:var(--font-family);background-color:#fff;border:none;padding:12px 16px 12px 40px}.input-search:focus{box-shadow:0 0 0 2px var(--accent-yellow);outline:none}.input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-card);width:100%;color:var(--text-primary);font-family:var(--font-family);padding:10px 14px}.input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue);outline:none}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.grid{display:grid}.grid-cols-4,.grid-responsive-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid-responsive-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-responsive-4{grid-template-columns:1fr}}.course-layout-grid{grid-template-columns:1fr 300px}@media (max-width:900px){.course-layout-grid{grid-template-columns:1fr}}.course-content{color:#374151;word-wrap:break-word;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:24px;padding:40px;font-size:17px;line-height:1.8;overflow-x:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.course-content img,.course-content video,.course-content iframe,.rsw-ce img,.rsw-editor img{object-fit:contain;margin:16px auto;display:block;max-width:100%!important;height:auto!important}.rsw-editor{overflow:visible!important}.rsw-toolbar{z-index:50;border-bottom:1px solid #e5e7eb;position:sticky;top:92px;background-color:#f3f4f6!important}@media (max-width:1024px){.rsw-toolbar{top:160px}}@media (max-width:768px){.course-content{padding:20px;font-size:16px}}.course-content h1,.course-content h2,.course-content h3,.course-content h4{color:#111827;letter-spacing:-.02em;margin-top:2em;margin-bottom:.75em;font-weight:700}.course-content h1{border-bottom:2px solid var(--accent-yellow);padding-bottom:8px;font-size:28px}.course-content h2{color:var(--accent-blue);font-size:22px}.course-content h3{font-size:18px}.course-content p{margin-bottom:1.5em}.course-content ul,.course-content ol{border-left:4px solid var(--accent-blue);background-color:#f9fafb;border-radius:8px;margin-bottom:1.5em;padding:20px 20px 20px 40px}.course-content li{margin-bottom:.5em}.course-content strong{color:#111827;font-weight:600}.course-content table{border-collapse:collapse;width:100%;margin-bottom:2em}.course-content th,.course-content td{text-align:left;border:1px solid #e5e7eb;padding:12px}.course-content th{background-color:#f3f4f6;font-weight:600}.hero-content{padding:48px}.hero-progress{border-left:1px solid var(--border-color);padding:32px}@media (max-width:768px){.hero-content{padding:24px}.hero-progress{border-left:none;border-top:1px solid var(--border-color);padding:24px}.hero-buttons{flex-direction:column;width:100%}.hero-buttons>*{text-align:center;width:100%}}.nav-desktop{display:flex}.nav-mobile-btn,.nav-mobile-menu{display:none}@media (max-width:1024px){.nav-desktop{display:none!important}.nav-mobile-btn{display:flex}.nav-mobile-menu.open{flex-direction:column;display:flex}}.search-bar-wrapper{flex:1;max-width:400px;margin:0 32px}@media (max-width:1024px){.search-bar-wrapper{max-width:100%;margin:16px 0 0}.header-content{flex-wrap:wrap}}.portal-editor-content{color:#1f2937;outline:none;min-height:420px;line-height:1.7}.portal-editor-content h2{margin:1.5rem 0 .75rem;font-size:1.5rem;font-weight:700}.portal-editor-content h3{margin:1.25rem 0 .5rem;font-size:1.25rem;font-weight:700}.portal-editor-content table{border-collapse:collapse;width:100%;margin:1rem 0}.portal-editor-content th,.portal-editor-content td{vertical-align:top;border:1px solid #d1d5db;padding:.5rem}@media (max-width:768px){.portal-page{padding-top:20px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.portal-header-inner{gap:10px;min-height:64px;padding:8px 16px}.portal-brand img{width:42px;height:42px}.portal-brand-name,.portal-desktop-nav{display:none}.portal-mobile-title{color:#fff;margin-left:auto;font-size:16px;font-weight:800;display:block}.portal-menu-button{color:#fff;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.portal-menu{border-top:1px solid #ffffff29;gap:4px;padding:12px 16px 16px;display:grid}.portal-menu a{color:#fff;border-radius:10px;padding:12px;font-weight:700}.portal-menu a:hover{background:#ffffff1a}.portal-bottom-nav{z-index:110;left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));background:#1c1c1a;border:1px solid #ffffff2e;border-radius:18px;grid-template-columns:repeat(5,1fr);padding:7px 4px;display:grid;position:fixed;box-shadow:0 10px 28px #0000004d}.portal-bottom-nav a{color:#ffffffb8;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:52px;font-size:10px;font-weight:700;display:flex}.portal-bottom-nav a span{font-size:18px;line-height:1}.portal-bottom-nav a.active{color:#1c1c1a;background:var(--accent-yellow)}body{overflow-x:hidden}main.container{padding:24px 16px!important}.card{border-radius:10px;padding:16px}.grid-cols-4,.grid-responsive-4,.course-layout-grid{grid-template-columns:minmax(0,1fr)!important}.course-layout-grid>*{min-width:0}.course-content{overflow-wrap:anywhere;padding:16px;overflow-x:hidden}.course-content table,.document-rendered-content table{white-space:normal;display:block;overflow:visible;width:100%!important}.course-content tbody,.course-content tr,.course-content th,.course-content td,.document-rendered-content tbody,.document-rendered-content tr,.document-rendered-content th,.document-rendered-content td{display:block;width:100%!important;min-width:0!important}.course-content tr,.document-rendered-content tr{border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;overflow:hidden}.course-content th,.course-content td,.document-rendered-content th,.document-rendered-content td{border:0;border-bottom:1px solid var(--border-color);overflow-wrap:anywhere;padding:10px}.course-content tr>:last-child,.document-rendered-content tr>:last-child{border-bottom:0}.btn-primary,.btn-secondary{min-height:44px;padding:10px 16px}.admin-editor-page>div:first-of-type{align-items:stretch!important;gap:16px!important}.admin-editor-page>div:first-of-type>div:last-child{flex-wrap:wrap;width:100%}.admin-editor-page>div:first-of-type button{flex:140px}.admin-editor-page [style*="grid-template-columns: 1fr 1fr"],.admin-editor-page [style*="grid-template-columns: 1fr 2fr"]{grid-template-columns:1fr!important}.portal-editor-content{min-height:320px}.rsw-toolbar{flex-wrap:nowrap;top:72px;overflow-x:auto}}.auth-page{background:var(--bg-main);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{width:min(100%,440px);padding:32px}.auth-card h1{margin:8px 0 16px}.auth-card form,.invite-dialog{gap:16px;display:grid}.auth-card label,.invite-dialog label{gap:6px;font-weight:700;display:grid}.form-error{color:#9a1e1e}.modal-backdrop{z-index:200;background:#10233f70;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.invite-dialog{width:min(100%,420px);padding:28px}.invite-dialog>div{flex-wrap:wrap;gap:10px;display:flex}.portal-page{min-height:calc(100vh - 80px);padding-top:32px;padding-bottom:56px}.portal-emergency-callout{border:2px solid var(--accent-yellow);color:#fff;background:#1c1c1a;border-radius:18px;max-width:760px;margin:0 auto 30px;padding:26px}.portal-emergency-callout h2{margin:6px 0;font-size:clamp(23px,3vw,32px)}.portal-emergency-callout p{color:#f5f2e7;margin-bottom:18px}.portal-emergency-callout .btn-primary{min-height:44px}.portal-dashboard-grid>.card{border-radius:18px}.portal-dashboard-welcome p{max-width:600px;font-size:18px!important}.portal-dashboard-progress>div:last-child{border-radius:12px!important}.portal-dashboard-grid .card:has(.portal-dashboard-welcome){background:linear-gradient(135deg,#fffdf4,#fff);border-color:#e7d470}.portal-dashboard-grid .card:has(.portal-dashboard-progress){background:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}.portal-dashboard-grid .card:has(.portal-dashboard-progress) [style*="backgroundColor: 'var(--bg-card)'"]{background:var(--surface-muted)!important}.portal-dashboard-grid .card:has(.portal-dashboard-progress) a{border:1px solid #e7d470}.portal-dashboard-grid{gap:14px!important}.portal-dashboard-card{box-shadow:none;border-color:#e7e5de}.portal-dashboard-quick_link{padding:0!important}.portal-dashboard-quick_link>a{min-height:88px;padding:18px 20px}.portal-dashboard-quick_link:hover{border-color:#c9b138;transition:transform .5s cubic-bezier(.32,.72,0,1),border-color .5s cubic-bezier(.32,.72,0,1);transform:translateY(-2px)}.transport-icon-wrap{width:34px;height:34px;color:var(--bg-navy);place-items:center;display:grid}.transport-icon{width:22px;height:22px}.transport-arrow{width:28px;height:28px;color:var(--text-secondary);place-items:center;margin-left:auto;display:grid}.transport-arrow .transport-icon{width:18px;height:18px}.portal-dashboard-card:has(.portal-dashboard-welcome){padding:36px!important}.portal-dashboard-card:has(.portal-dashboard-welcome) .btn-primary{background:var(--accent-yellow);border-radius:12px}.portal-dashboard-card:has(.portal-dashboard-welcome) .btn-secondary{border-radius:12px}.portal-dashboard-card:has(.portal-dashboard-progress){padding:28px!important}.portal-dashboard-card:has(.portal-dashboard-progress)>div>div:last-child{gap:8px!important;margin-bottom:18px!important}.portal-dashboard-card:has(.portal-dashboard-progress)>div>div:last-child>div{border-radius:10px!important}.portal-section-heading{justify-content:space-between;align-items:end;gap:24px;margin:0 0 30px;display:flex}.portal-section-heading h1,.portal-library-heading h1{letter-spacing:-.04em;margin:5px 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.04}.portal-section-heading p,.portal-library-heading p{max-width:630px;color:var(--text-secondary);font-size:17px}.portal-eyebrow{color:#695900;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.portal-count{background:var(--accent-yellow);color:#1c1c1a;white-space:nowrap;border-radius:999px;padding:10px 14px;font-weight:800}.portal-course-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.portal-course-card{flex-direction:column;height:100%;padding:0;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.portal-course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.portal-course-card-body{flex-direction:column;flex:1;padding:22px;display:flex}.portal-course-action{color:#1c1c1a;font-weight:850}.portal-library-heading{text-align:center;max-width:760px;margin:0 auto 28px}.portal-document-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.portal-document-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-sm);gap:15px;padding:20px;display:flex}.portal-document-card:hover{box-shadow:var(--shadow-md);border-color:#c5a800;transform:translateY(-2px)}.portal-document-icon{background:var(--accent-yellow);color:#1c1c1a;border-radius:12px;flex:0 0 46px;place-items:center;height:46px;font-size:11px;font-weight:900;display:grid}.portal-document-copy{min-width:0}.portal-document-copy h2{overflow-wrap:anywhere;margin:8px 0 6px;font-size:17px;line-height:1.3}.portal-document-copy p{color:var(--text-secondary);margin-bottom:10px;font-size:14px}.portal-document-copy small{color:#625f57;font-weight:650}.portal-file-badge{color:#504c3a;background:#f0eedc;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:850;display:inline-block}.portal-empty-state{text-align:center;grid-column:1/-1;padding:48px}.portal-empty-state div{margin-bottom:12px;font-size:42px}.portal-header{z-index:100;background:var(--bg-navy);color:#fff;border-bottom:4px solid var(--accent-yellow);position:sticky;top:0}.portal-header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1400px;min-height:76px;margin:auto;padding:10px 32px;display:flex}.portal-brand{color:#fff;white-space:nowrap;align-items:center;gap:12px;font-size:20px;font-weight:500;display:inline-flex}.portal-brand b{font-weight:800}.portal-desktop-nav{align-items:center;gap:6px;display:flex}.portal-desktop-nav>a:not(.portal-avatar){color:#fff;border-radius:999px;padding:12px 14px;font-weight:650}.portal-desktop-nav>a.active,.portal-desktop-nav>a:not(.portal-avatar):hover{color:#1c1c1a;background:var(--accent-yellow)}.portal-admin-link{border:1px solid #ffffff57;margin-left:8px}.portal-avatar{color:#fff;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:38px;height:38px;margin-left:8px;font-size:13px;font-weight:800;display:grid}.portal-mobile-title,.portal-menu-button,.portal-bottom-nav{display:none}.portal-auth-header{padding:12px 24px}.portal-auth-header .portal-brand{max-width:1400px;margin:auto}:focus-visible{outline:3px solid var(--accent-yellow);outline-offset:3px}@media (max-width:768px){.portal-section-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:22px}.portal-section-heading p,.portal-library-heading p{font-size:16px}.portal-course-grid,.portal-document-grid{grid-template-columns:minmax(0,1fr)}.portal-course-card-body{padding:18px}.portal-document-card{padding:16px}}
