/* Integration of the supplied FORJA v1 roles into existing LMS components. */
:root{--accent:var(--forja-primary);--muted:var(--forja-muted);--line:var(--forja-line)}
html{min-height:100%;background:var(--forja-bg)}
.forja-root,.workspace{min-height:100vh}
.support-preview-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;margin-left:248px;background:var(--forja-info-bg);color:var(--forja-info);border-bottom:2px solid currentColor;font-size:14px;position:relative;z-index:40}
.support-preview-banner form{margin:0}
.forja-root{background:var(--forja-bg);color:var(--forja-text)}
.forja-root a{color:var(--forja-link)}
.forja-root p a,.rich-content a,.table-wrap td a{text-decoration:underline}
.forja-root .button{color:var(--forja-on-primary);text-decoration:none}
.forja-root h1{font-size:32px;line-height:40px;letter-spacing:-.7px}
.forja-root h2{font-size:24px;line-height:32px}
.forja-root h3{font-size:20px;line-height:28px}
.forja-root .eyebrow{color:var(--forja-muted);font-size:12px;letter-spacing:1.3px}
.forja-root .muted,.forja-root small{color:var(--forja-muted)}
.forja-root small{font-size:14px;line-height:20px}
.forja-root .sidebar{width:248px;padding:32px 24px;background:var(--forja-navy);color:white}
.forja-root .brand{display:block;width:198px;max-width:100%;padding:0}
.brand img{display:block;width:100%;height:auto}
.forja-root .brand-caption{color:#BBC8D5;font-size:12px;line-height:18px;letter-spacing:1.3px;margin:12px 0 24px}
.forja-root .nav-label{font-size:12px;color:#BBC8D5;letter-spacing:1px}
.sidebar nav a{display:flex;align-items:center;gap:12px;min-height:44px;margin:4px 0}
.forja-root .sidebar nav a{color:white;font-size:14px;padding:10px 12px}
.sidebar nav a:hover,.sidebar nav a[aria-current=page]{background:#29425C}
.sidebar nav a[aria-current=page]{box-shadow:inset 4px 0 0 var(--forja-ember);font-weight:700}
.sidebar .forja-icon{width:22px;height:22px}
.sidebar :focus-visible{outline-color:#77D2D1!important}
.sidebar-bottom{border-color:#526174}
.forja-root .sidebar-bottom small{color:#BBC8D5}
.workspace{margin-left:248px;min-width:0}
.forja-root .topbar{height:auto;min-height:72px;background:var(--forja-surface);border-color:var(--forja-line);color:var(--forja-muted);padding:16px 32px;gap:16px;flex-wrap:wrap}
.topbar-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.theme-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--forja-line);border-radius:12px;background:var(--forja-surface)}
.forja-root .theme-control button{display:grid;place-items:center;width:44px;height:44px;padding:10px;background:transparent;color:var(--forja-muted);border:1px solid transparent}
.forja-root .theme-control button:hover{background:var(--forja-raised);color:var(--forja-text)}
.forja-root .theme-control button[aria-pressed=true]{background:var(--forja-raised);color:var(--forja-text);border-color:var(--forja-control-line)}
.theme-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.forja-root .page{padding:32px;max-width:1264px}
.card,.panel,.metric,.auth-card{background:var(--forja-surface);border-color:var(--forja-line);box-shadow:var(--forja-shadow);border-radius:12px;min-width:0}
.card{border-top:3px solid var(--forja-teal)}
.course-card{overflow:hidden;border-top:1px solid var(--forja-line)}
.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.course-cover{height:104px;margin:-24px -24px 24px;background:var(--forja-teal) url('../brand/forja/forja-patron.svg') center/448px 380px}
.course-cover.orange{background-color:var(--forja-ember)}
.course-cover.navy{background-color:var(--forja-navy)}
.forja-root button,.forja-root .button{background:var(--forja-primary);color:var(--forja-on-primary);font-weight:600;min-height:44px;border-radius:8px}
.forja-root button:hover,.forja-root .button:hover{background:var(--forja-primary-hover)}
.forja-root button.secondary,.forja-root .button.secondary{color:var(--forja-text);background:var(--forja-surface);border:1px solid var(--forja-control-line)}
.forja-root button.secondary:hover,.forja-root .button.secondary:hover{background:var(--forja-raised)}
.forja-root button.danger{background:var(--forja-danger);color:var(--forja-surface)}
.forja-root .link-button{color:var(--forja-link);background:transparent;padding:8px 0;font-size:14px}
.forja-root .link-button:hover{background:transparent;text-decoration:underline}
.forja-root .sidebar .link-button{color:white}
.forja-root input,.forja-root select,.forja-root textarea{background:var(--forja-surface);border-color:var(--forja-control-line);color:var(--forja-text);accent-color:var(--forja-primary)}
.forja-root input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.forja-root select{min-height:44px}
.forja-root input::placeholder,.forja-root textarea::placeholder{color:var(--forja-muted);opacity:1}
.forja-root input[type=checkbox],.forja-root input[type=radio]{width:20px;height:20px;vertical-align:middle;margin-right:4px}
.forja-root .badge{background:var(--forja-raised);color:var(--forja-text);font-size:12px;border-radius:999px;letter-spacing:0}
.forja-root .tabs a{background:var(--forja-surface);border-color:var(--forja-line);color:var(--forja-text);min-height:44px}
.forja-root .tabs a:hover{border-color:var(--forja-primary)}
.forja-root .notice{background:var(--forja-info-bg);color:var(--forja-info);border-color:currentColor}
.forja-root .notice.success{background:var(--forja-success-bg);color:var(--forja-success)}
.forja-root .errors{background:var(--forja-danger-bg);color:var(--forja-danger);border-color:currentColor}
.forja-root th{background:var(--forja-raised);color:var(--forja-muted);font-size:12px}
.forja-root td,.forja-root th{border-color:var(--forja-line);font-variant-numeric:tabular-nums}
.forja-root table{font-size:14px}
.forja-root .card-footer{border-color:var(--forja-line)}
.forja-root .empty{color:var(--forja-muted)}
.forja-root .rich-content pre,.forja-root .recovery{background:var(--forja-raised);color:var(--forja-text)}
.forja-root .material-types label{border-color:var(--forja-control-line);min-height:44px;display:inline-flex;align-items:center}
.forja-root .material-types label:has(input:checked){background:var(--forja-raised);border-color:var(--forja-primary);box-shadow:inset 0 -3px var(--forja-primary)}
.forja-root dialog{background:var(--forja-surface);color:var(--forja-text);border-color:var(--forja-line)}
.forja-root progress{accent-color:var(--forja-teal)}
.forja-root :focus-visible{outline:3px solid var(--forja-focus);outline-offset:3px}
.forja-root .auth-shell{background:var(--forja-bg);padding:64px 16px 24px;justify-content:flex-start;position:relative;min-height:100vh}
.auth-shell::before{content:"";position:absolute;inset:0 0 auto;height:8px;background:var(--forja-ember)}
.auth-theme{position:absolute;right:24px;top:24px;z-index:1}
.forja-root .auth-brand{display:block;width:256px;max-width:100%;margin:0 0 8px}
.auth-brand img{display:block;width:100%;height:auto}
.auth-brand .forja-brand-dark{display:none}
[data-theme=dark] .auth-brand .forja-brand-light{display:none}
[data-theme=dark] .auth-brand .forja-brand-dark{display:block}
.forja-root .brand-tagline{color:var(--forja-muted);font-size:14px;text-align:center;margin:0 0 20px}
.forja-root .auth-card{padding:24px;width:440px;max-width:100%;border-radius:12px}
.forja-root .auth-card h1{font-size:28px;line-height:36px}
.auth-card form button{margin-top:16px}
.auth-card > p{margin:8px 0 16px}
.forja-root .auth-card .eyebrow{font-size:12px}
.forja-root .auth-card small{margin-top:16px}
.forja-root .ql-toolbar,.forja-root .ql-container{border-color:var(--forja-control-line);background:var(--forja-surface);color:var(--forja-text)}
.forja-root .ql-editor.ql-blank::before{color:var(--forja-muted)}
.forja-root .ql-snow .ql-stroke{stroke:var(--forja-text)}
.forja-root .ql-snow .ql-fill{fill:var(--forja-text)}
.forja-root .ql-snow .ql-picker{color:var(--forja-text)}
.forja-root .ql-snow .ql-picker-options,.forja-root .ql-snow .ql-tooltip{background:var(--forja-surface);color:var(--forja-text);border-color:var(--forja-line)}
.forja-root .ql-toolbar button{min-height:28px;border-radius:0;background:transparent}
.forja-root .ql-toolbar button:hover{background:var(--forja-raised)}
.forja-root .ql-snow button:hover .ql-stroke,.forja-root .ql-snow button.ql-active .ql-stroke{stroke:var(--forja-link)}
.forja-root .ql-snow button:hover .ql-fill,.forja-root .ql-snow button.ql-active .ql-fill{fill:var(--forja-link)}
.forja-root .ql-snow .ql-picker-label:hover{color:var(--forja-link)}
@media(max-width:959px){
 .support-preview-banner{margin-left:0}
 .forja-root .sidebar{position:relative;width:100%;padding:16px 24px}
 .sidebar .brand{width:180px}
 .forja-root .sidebar .brand-caption{display:none}
 .sidebar nav{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:12px;overflow:visible}
 .sidebar .nav-label,.sidebar .sidebar-bottom{display:none}
 .sidebar nav a{white-space:normal}
 .workspace{margin-left:0}
 .forja-root .topbar{padding:16px 24px}
 .forja-root .page{padding:24px}
}
@media(max-width:639px){
 .forja-root h1{font-size:28px;line-height:36px;overflow-wrap:anywhere}
 .forja-root .sidebar,.forja-root .page,.forja-root .topbar{padding:16px}
 .topbar-actions{gap:12px;justify-content:space-between;width:100%}
 .forja-root .auth-card{padding:24px}
 .auth-theme{top:20px;right:16px}
 .forja-root .auth-shell{padding-top:84px}
 .forja-root .auth-brand{width:232px}
 .forja-root .brand-tagline{font-size:14px;margin-bottom:16px}
 .forja-root .heading{gap:16px}
 .forja-root .card,.forja-root .panel{padding:20px}
 .course-cover{margin:-20px -20px 20px}
 .forja-root .metrics{gap:12px}
 .metric{min-width:0;flex:1;padding:16px}
 .forja-root .metric strong{font-size:24px}
}

.forja-root .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
