
/* Configurable presentation. Scoped above theme overrides; all variables are server validated. */
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess{font-family:var(--sj-font)!important;background:var(--sj-background)!important;--blue:var(--sj-primary);--sj-rowpad:11px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess span{font-size:inherit!important;line-height:inherit!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess button:not(.sjcourse-trigger):not(.sjinline-trigger):not(.sjbutton-secondary):not(.sjbutton-danger):not([data-sj-close]):not([data-sj-identity-close]):not(.sjview):not([role=tab]),body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjbutton:not(.sjcourse-trigger):not(.sjinline-trigger):not(.sjbutton-secondary):not(.sjbutton-danger){background:var(--sj-primary)!important;border-color:var(--sj-primary)!important;color:white!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess input[type=checkbox],body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess input[type=radio]{accent-color:var(--sj-primary)!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsidebar nav a.is-active{background:var(--sj-primary)!important;color:white!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjbrand-logo{width:34px;height:34px;object-fit:contain;flex-shrink:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpanel,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjeditor-card,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjroster-panel,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjform-section{border-radius:var(--sj-radius)!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app{background:var(--sj-background)!important;font-family:var(--sj-font)!important;font-size:var(--sj-fontsize)!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjworkspace{background:transparent!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app[data-sj-density=comfortable]{--sj-rowpad:17px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster td{padding:var(--sj-rowpad) 7px!important;font-size:var(--sj-fontsize)!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjperson strong{font-size:var(--sj-fontsize)!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th{width:auto!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th.sjcheckcell{width:30px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=name]{width:200px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=class]{width:50px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=contact]{width:125px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=courses]{width:64px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=fee]{width:86px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=exam]{width:78px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=notes]{width:60px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=actions]{width:94px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app[data-sj-sidebar=light] .sjsidebar{background:#fff!important;border-right:1px solid #e2e8f0!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app[data-sj-sidebar=light] .sjsidebar :is(a,strong,small,.sjsidebar-foot){color:#43516a!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app[data-sj-sidebar=light] .sjsidebar nav a.is-active,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app[data-sj-sidebar=light] .sjsidebar nav a.is-active span{color:white!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;background:#fff;border:1px solid #e2e8f0;border-radius:var(--sj-radius);margin-bottom:20px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-intro>div{display:flex;gap:16px;align-items:center}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-intro svg{width:28px;height:28px;color:var(--sj-primary);flex-shrink:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-intro h2{font-size:18px!important;margin:0 0 5px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-intro p{font-size:13px!important;color:#64748b;margin:0!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-nav a{padding:9px 15px;border:1px solid #e2e8f0;border-radius:8px;background:white;color:#43516a;font-size:12px;text-decoration:none}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-nav a:hover{border-color:var(--sj-primary);color:var(--sj-primary)}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-card{padding:24px;background:white;border:1px solid #e2e8f0;border-radius:var(--sj-radius);margin:0 0 22px;scroll-margin-top:80px;box-shadow:0 4px 20px #172b4d03}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-card>header{display:flex;gap:14px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid #edf1f6;margin-bottom:22px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-number{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#edf3fc;color:var(--sj-primary);font-size:12px!important;font-weight:700;flex-shrink:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-card h2{font-size:17px!important;margin:0 0 6px!important;color:#192c47}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-card header p{font-size:12px!important;margin:0!important;color:#64748b}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;min-width:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-grid .sjwide{grid-column:1/-1}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-grid small{display:block;margin-top:6px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess input[type=color]{height:40px;padding:4px!important;max-width:150px;cursor:pointer}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-fields{margin:22px 0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-fields-head,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-field{display:grid;grid-template-columns:minmax(0,1fr) 100px 150px;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #edf1f6;font-size:13px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-fields-head{background:#f8fafc;color:#64748b;font-size:11px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-field:last-child{border-bottom:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-field strong{font-size:12px;font-weight:600}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-field small{display:block;color:#7a899d;font-size:11px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-field>div>label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle{display:inline-flex;position:relative;width:38px;height:22px;margin:0!important;cursor:pointer}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle input{position:absolute;width:100%!important;height:100%!important;opacity:0;margin:0!important;z-index:1;cursor:pointer}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle span{display:block;width:38px;height:22px;border-radius:20px;background:#d9e1ec;transition:background .15s}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle span:after{content:'';display:block;background:white;width:16px;height:16px;margin:3px;border-radius:50%;transition:transform .15s;box-shadow:0 1px 3px #12243e20}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle input:checked+span{background:var(--sj-primary)}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle input:checked+span:after{transform:translateX(16px)}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjtoggle input:focus-visible+span{outline:3px solid #91b9ee;outline-offset:3px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-check{display:flex;gap:10px;align-items:center;padding:12px 0;font-size:12px!important;margin:0!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-labels{border-top:1px solid #edf1f6;padding-top:16px;margin-top:18px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-labels summary{font-size:12px;color:var(--sj-primary);cursor:pointer;padding:6px 0;margin-bottom:14px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-preview{display:grid;grid-template-columns:160px 1fr;background:var(--sj-background);border:1px solid #e2e8f0;border-radius:var(--sj-radius);overflow:hidden;margin-top:26px;pointer-events:none}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-sidebar{padding:24px 16px;background:#142338;display:flex;flex-direction:column;gap:18px;color:#cad7e9;font-size:11px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-sidebar b{color:white;font-size:14px;margin-bottom:12px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-sidebar .sjpreview-active{background:var(--sj-primary);color:white;padding:10px;border-radius:6px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess[data-sj-sidebar=light] .sjpreview-sidebar{background:white;color:#465770}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess[data-sj-sidebar=light] .sjpreview-sidebar b{color:#24364e}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-content{padding:24px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-content h3{font-size:16px!important;margin:0 0 8px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-content p{font-size:12px!important;color:#6c7d94}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-row{display:flex;align-items:center;gap:12px;background:white;padding:var(--sj-rowpad) 12px;border-radius:8px;font-size:12px!important;margin:20px 0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-row .sjlabel{margin-left:auto;font-size:10px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-row small{display:block;color:#7a899d;font-size:10px;margin-top:4px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-course{background:#f8fafc;border:1px solid #edf1f6;border-radius:9px;padding:16px;display:flex;flex-direction:column;gap:7px;font-size:13px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-course small{color:#73849b;font-size:11px;overflow-wrap:anywhere}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-course span{font-size:10px!important;color:#8a98ac}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-reset{color:#7a899d;font-size:12px;padding:16px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-reset summary{cursor:pointer;margin-bottom:12px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-search form{display:flex;align-items:end;gap:14px;margin:20px 0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-search form>div{flex:1}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-results article{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #edf1f6}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-results article>div{flex:1;min-width:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-results h3{font-size:14px!important;margin:0 0 5px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-results p{font-size:12px!important;color:#64748b;margin:0!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-results small{color:#138454}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-new{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc;border-radius:10px;padding:20px;margin-top:24px;font-size:13px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-new p{font-size:12px;color:#64748b;margin:6px 0 0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-trigger{display:inline-flex;align-items:center;gap:4px;font-size:10px!important;color:var(--sj-primary)!important;text-decoration:none;margin:5px 0 0 38px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-trigger svg{width:12px;height:12px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-email{display:block;margin:3px 0 0 38px;font-size:10px!important;color:#76859b;overflow-wrap:anywhere}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog{width:520px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#20334f;padding:26px;box-shadow:0 24px 100px #0f213840;overflow:auto}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog::backdrop{background:#0d1b35a6;backdrop-filter:blur(3px)}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog header{display:flex;align-items:start;gap:16px;justify-content:space-between;margin-bottom:22px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog h2{font-size:20px!important;margin:4px 0!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog .sjactions{justify-content:flex-end;margin-top:22px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog [data-sj-identity-close]{background:#f1f5f9!important;color:#43516b!important;border:1px solid #d9e1eb!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-dialog header [data-sj-identity-close]{font-size:22px!important;padding:3px 12px!important;min-height:34px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjquick-card{max-width:640px;margin:20px auto}
@media(max-width:700px){body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-grid{grid-template-columns:1fr}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-fields-head,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-field{grid-template-columns:minmax(0,1fr) 64px 86px;gap:8px;padding:12px}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-card{padding:18px}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-course-grid{grid-template-columns:1fr 1fr}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-intro{flex-wrap:wrap}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjsettings-preview{grid-template-columns:100px 1fr}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-sidebar{padding:16px 10px}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjpreview-content{padding:18px 12px}body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-new,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjadd-results article{flex-wrap:wrap}}

body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess [hidden]{display:none!important}

/* Readable removal review on desktop and phones. */
.sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjremove-all{color:#c8323e;border-color:#efcdd2;background:#fff}
.sjremove-card{max-width:960px;margin:18px auto}.sjremove-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#c8323e;background:#fff0f2;flex:none}.sjremove-symbol svg{width:24px;height:24px}
.sjremove-scope{padding:12px 16px;background:#fff6ed;border:1px solid #f2d8ba;border-radius:10px;color:#884311}
.sjremove-effect{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.sjremove-effect>div{padding:16px;border:1px solid #e1e7ef;border-radius:12px;background:#f8fafc}.sjremove-effect p{margin:6px 0 0}
.sjremove-table{width:100%;border-collapse:collapse;min-width:480px}.sjremove-table th,.sjremove-table td{text-align:left;padding:12px 16px;border-bottom:1px solid #e7edf5}.sjremove-table th{color:#60718a;font-size:12px;background:#f6f8fc}.sjremove-table small{display:block;color:#718098;margin-top:4px}
.sjremove-confirm{border-top:1px solid #e1e7ef;padding-top:20px;margin-top:20px}.sjremove-confirm>input{max-width:360px}.sjremove-confirm .sjactions{justify-content:flex-end;margin-top:20px}.sjremove-link{color:#c8323e!important}
@media(max-width:640px){.sjremove-effect{grid-template-columns:1fr}.sjremove-card{padding:18px}.sjremove-confirm .sjactions{flex-direction:column}.sjremove-confirm .sjactions>*{width:100%;justify-content:center}}

.sjrow-actions .sjdelete{color:#c8323e;background:#fff;border:1px solid #f0d6dc;border-radius:7px;display:grid;place-items:center;width:28px;height:28px}.sjrow-actions .sjdelete svg{width:15px;height:15px}.sjrow-actions .sjdelete:hover{background:#fff0f2}.sjaccess.sjaccess.sjaccess.sjaccess.sjaccess [data-sj-col="actions"]{width:124px;min-width:124px}

/* Inline academic edits: compact status cells; the final roster override expands notes only while editing. */
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=notes]{width:340px!important;min-width:340px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-simple{display:flex;align-items:flex-start;gap:8px;min-width:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-simple>div{flex:1;min-width:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-simple strong{display:block;font-size:var(--sj-fontsize)!important;color:#20334f;white-space:normal;overflow-wrap:anywhere}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-simple .sjperson-email{margin:4px 0 0!important;font-size:11px!important;white-space:normal}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-simple .sjquick-trigger{display:grid;place-items:center;margin:0!important;width:26px;height:26px;flex:none;border:1px solid #e1e7ef;border-radius:6px;background:#fff}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjperson-simple .sjquick-trigger svg{width:14px;height:14px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-trigger{display:flex;align-items:flex-start;gap:6px;color:#51647e!important;min-height:32px;padding:5px 2px;text-decoration:none!important;border:1px solid transparent;border-radius:7px;white-space:normal}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-trigger:hover,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-trigger:focus-visible{background:#f0f6ff;border-color:#cadefb}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-pencil{opacity:.4;margin-left:auto;flex:none;display:flex;padding-top:2px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-pencil svg{width:12px;height:12px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-note .sjinline-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55!important;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;max-height:10em}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-editor{display:flex;flex-direction:column;gap:8px;min-width:0}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-editor :is(input,select,textarea){width:100%!important;min-width:0!important;padding:8px!important;border:1px solid #87b4f1!important;border-radius:7px!important;font-size:12px!important;box-sizing:border-box;background:#fff!important;color:#20334f!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-editor textarea{min-height:190px;max-height:400px;resize:vertical;line-height:1.6!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-editor small{color:#7a899d;font-size:10px;text-align:right}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-tools{display:flex;gap:6px;flex-wrap:wrap}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-tools button{padding:5px 9px!important;font-size:11px!important;min-height:30px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-status{margin:0;padding:0 18px;color:#128453;font-size:12px;white-space:normal}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-status:empty{display:none}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-status:not(:empty){padding-top:12px;padding-bottom:12px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjinline-status.is-error{color:#b74052}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess td.is-editing{background:#f5f9ff!important;vertical-align:top}

/* Sheet import uses the same roster typography and inline notes controls. */
body .sjaccess.sjaccess.sjaccess .sjpending-roster{margin-top:24px}
body .sjaccess.sjaccess.sjaccess .sjimport-summary{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
body .sjaccess.sjaccess.sjaccess .sjimport-upload{max-width:760px;margin:24px auto}
body .sjaccess.sjaccess.sjaccess .sjimport-upload input[type=file]{padding:20px;background:#f6f9ff;border:1px dashed #b9c9e4;border-radius:12px;width:100%}
body .sjaccess.sjaccess.sjaccess .sjimport-table{width:100%;border-collapse:collapse;font-size:13px}
body .sjaccess.sjaccess.sjaccess .sjimport-table th,body .sjaccess.sjaccess.sjaccess .sjimport-table td{padding:14px 16px;border-bottom:1px solid #e6edf6;text-align:left;vertical-align:top}
body .sjaccess.sjaccess.sjaccess .sjimport-table th{background:#f5f8fc;font-size:12px;color:#6a7d99}
body .sjaccess.sjaccess.sjaccess .sjimport-table small{display:block;color:#8695ac;margin-top:5px}
body .sjaccess.sjaccess.sjaccess .sjimport-notes{min-width:300px;max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere}
body .sjaccess.sjaccess.sjaccess .sjpending-roster [data-sj-col=actions]{width:180px;min-width:180px}
body .sjaccess.sjaccess.sjaccess .sjpending-roster .sjlabel{white-space:normal;font-size:12px;line-height:1.5}

/* 1.4.1 — clear type, direct cell controls and single-line expiry. */
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app{font-family:var(--sj-font)!important;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster :is(td,button,input,select,textarea){font-family:var(--sj-font)!important;letter-spacing:0!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster td{font-size:var(--sj-fontsize)!important;line-height:1.5!important;font-weight:400!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th{font-size:12px!important;font-weight:600!important;white-space:nowrap!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjperson-simple strong{font-size:14px!important;font-weight:600!important;line-height:1.5!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjperson-simple .sjperson-email{font-size:12px!important;line-height:1.5!important;color:#65758b!important;word-break:normal!important;overflow-wrap:anywhere!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=name]{width:220px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=class]{width:140px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=courses]{width:104px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=fee],body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster th[data-sj-col=exam]{width:140px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjroster td small.sjcourse-end{white-space:nowrap!important;font-size:11px!important;line-height:1.5!important;margin-top:5px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .is-active .sjcourse-mark{color:#c6283e!important;border-color:#f1b9c1!important;background:#fff0f2!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app button.sjinline-trigger{appearance:none;box-shadow:none!important;background:transparent!important;border:1px solid transparent!important;border-radius:7px!important;margin:0!important;padding:5px 2px!important;min-height:32px!important;width:100%;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;color:#51647e!important;font-size:var(--sj-fontsize)!important;font-weight:400!important;line-height:1.5!important;cursor:pointer}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app button.sjinline-trigger:hover,body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app button.sjinline-trigger:focus-visible{background:#f0f6ff!important;border-color:#cadefb!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-class{white-space:nowrap!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjclass-pill{font-size:12px!important;font-weight:600!important;white-space:nowrap!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-trigger .sjlabel{font-size:12px!important;font-weight:500!important;white-space:nowrap!important;line-height:1.5!important;padding:5px 8px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-editor{min-width:120px}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-editor :is(input,select,textarea){font-size:13px!important;line-height:1.5!important;min-height:38px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-editor small{text-align:left!important;white-space:normal!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-tools button{margin:0!important;width:auto!important;min-height:30px!important}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjadmin.sjroster-app .sjinline-trigger[hidden]{display:none!important}

/* 3S INLINE LAYOUT 20261010 — roster only; remove this block to roll back. */
body#page-local-sjaccess-students .sjroster-app table.sjroster{min-width:1280px!important;table-layout:fixed!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=name]{width:210px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=class]{width:76px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=contact]{width:125px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=courses]{width:90px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=fee]{width:122px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=exam]{width:114px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=notes]{width:160px!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster :is(th,td)[data-sj-col=actions]{width:104px!important;min-width:104px!important}
body#page-local-sjaccess-students .sjroster-app button.sjinline-trigger{background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;color:#51647e!important;min-height:30px!important;height:auto!important;width:100%!important;padding:3px 0!important;display:flex!important;align-items:center!important;gap:5px!important;text-align:left!important;line-height:1.5!important;font-size:13px!important;font-weight:400!important}
body#page-local-sjaccess-students .sjroster-app button.sjinline-trigger:hover,body#page-local-sjaccess-students .sjroster-app button.sjinline-trigger:focus-visible{background:#f0f6ff!important;border-color:#cadefb!important}
body#page-local-sjaccess-students .sjroster-app button.sjinline-trigger[hidden]{display:none!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-trigger .sjlabel{padding:4px 6px!important;white-space:nowrap!important;font-size:12px!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-pencil{margin-left:auto!important;opacity:.55!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-note{align-items:flex-start!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-note .sjinline-text{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-height:3.1em!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;font-size:12px!important;line-height:1.5!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td small.sjcourse-end{white-space:nowrap!important;font-size:10px!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td.is-editing{position:relative!important;height:190px!important;vertical-align:top!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-editor{position:absolute!important;left:6px!important;top:6px!important;z-index:6!important;width:180px!important;min-width:0!important;max-width:calc(100vw - 48px)!important;padding:12px!important;background:#fff!important;border:1px solid #d7e3f4!important;border-radius:10px!important;box-shadow:0 8px 24px #1d365824!important;box-sizing:border-box!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-field=notes].is-editing{height:340px!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-field=notes] .sjinline-editor{left:auto!important;right:6px!important;width:360px!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-editor textarea{min-height:220px!important;max-height:400px!important;resize:vertical!important;line-height:1.6!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-editor :is(input,select,textarea){font-size:13px!important;min-height:36px!important;width:100%!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-tools button{width:auto!important;min-height:30px!important;padding:5px 10px!important;font-size:12px!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-editor textarea{min-height:220px!important;height:220px!important}
/* end 3S INLINE LAYOUT 20261010 */

/* 3S ROSTER FIT 20261010 — keep every field visible, including notes. */
body#page-local-sjaccess-students .sjroster-app table.sjroster{width:100%!important;min-width:0!important;table-layout:fixed!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=name]{width:16%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=class]{width:5%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=contact]{width:8%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=courses]{width:6%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=fee]{width:8%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=exam]{width:7%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=notes]{width:15%!important}
body#page-local-sjaccess-students .sjroster-app .sjroster :is(th,td)[data-sj-col=actions]{width:8%!important;min-width:0!important;position:static!important;box-shadow:none!important}
body#page-local-sjaccess-students .sjroster-app .sjroster .sjcheckcell{width:2%!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjinline-trigger .sjlabel{white-space:normal!important;overflow-wrap:normal!important}
body#page-local-sjaccess-students .sjroster-app .sjtable-wrap{outline-offset:2px;overflow-x:auto!important}
body#page-local-sjaccess-students .sjroster-app button.sjcourse-trigger{appearance:none!important;min-height:28px!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;justify-content:center!important;color:#64748b!important;cursor:pointer!important}
body#page-local-sjaccess-students .sjroster-app button.sjcourse-trigger:hover .sjcourse-mark,body#page-local-sjaccess-students .sjroster-app button.sjcourse-trigger:focus-visible .sjcourse-mark{box-shadow:0 0 0 3px #dae7ff!important}
body#page-local-sjaccess-students .sjroster-app button.sjcourse-trigger[hidden]{display:none!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course].is-editing{height:280px!important}
body#page-local-sjaccess-students .sjroster-app .sjcourse-editor{width:240px!important}
body#page-local-sjaccess-students .sjroster-app .sjcourse-editor strong{font-size:14px!important;color:#20334f!important}
body#page-local-sjaccess-students .sjroster-app .sjcourse-editor label{font-size:12px!important;margin:0!important}
/* Preserve readable columns if Moodle's drawer narrows a desktop workspace. */
@media(min-width:761px){
body#page-local-sjaccess-students .sjroster-app table.sjroster:has(th[data-sj-col=courses]){min-width:1100px!important}
body#page-local-sjaccess-students .sjroster-app table.sjroster:not(:has(th[data-sj-col=courses])){min-width:760px!important}
body#page-local-sjaccess-students .sjroster-app .sjroster th[data-sj-col=class]{display:table-cell!important}
body#page-local-sjaccess-students .sjroster-app .sjtable-wrap{max-width:100%;overscroll-behavior-x:contain}
body#page-local-sjaccess-students .sjroster-app .sjroster :is(th,td){padding:9px 5px!important}
body#page-local-sjaccess-students .sjroster-app .sjperson-email{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
body#page-local-sjaccess-students .sjroster-app .sjrow-actions{flex-wrap:wrap;gap:3px!important}
body#page-local-sjaccess-students .sjroster-app .sjrow-actions :is(.sjview,.sjedit,.sjdelete){width:22px!important;height:24px!important;min-height:24px!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=actions] .sjreview-open{display:block!important;white-space:normal!important;overflow-wrap:anywhere}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=actions] .sjlabel{white-space:normal!important}
}
/* Cards are for phones only. Laptop browsers at 100% retain the table. */
@media(max-width:760px){
body#page-local-sjaccess-students .sjroster-app .sjroster,body#page-local-sjaccess-students .sjroster-app .sjroster tbody{display:block!important;width:100%!important;min-width:0!important}
body#page-local-sjaccess-students .sjroster-app .sjroster thead{display:none!important}
body#page-local-sjaccess-students .sjroster-app .sjroster tbody tr{position:relative!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0!important;padding:14px 10px!important;border-bottom:1px solid #e4ebf5!important;background:#fff!important}
body#page-local-sjaccess-students .sjroster-app .sjroster tbody tr:nth-child(even){background:#fafcfe!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;position:static!important;padding:8px!important;border:0!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
body#page-local-sjaccess-students .sjroster-app .sjroster .sjrow-number{display:none!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td.sjcheckcell{position:absolute!important;left:6px!important;top:19px!important;padding:4px!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=name]{grid-column:1 / -1!important;margin-left:28px!important;padding-bottom:12px!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=class],body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=contact]{grid-column:span 2!important;border-top:1px solid #edf2f8!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=courses]{grid-column:span 1!important;text-align:center!important;border-top:1px solid #edf2f8!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=fee]{grid-column:span 2!important;border-top:1px solid #edf2f8!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=exam]{grid-column:span 1!important;border-top:1px solid #edf2f8!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=notes]{grid-column:1 / -1!important;border-top:1px solid #edf2f8!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=actions]{grid-column:1 / -1!important;border-top:1px solid #edf2f8!important;justify-items:end!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td::before{display:block!important;font-size:11px!important;line-height:1.4!important;font-weight:600!important;color:#71829a!important;margin-bottom:6px!important}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=class]::before{content:'Lớp'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=contact]::before{content:'Facebook'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=courses]:nth-child(6)::before{content:'QLSX'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=courses]:nth-child(7)::before{content:'Mechanical engineering'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=courses]:nth-child(8)::before{content:'Electronics'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=courses]:nth-child(9)::before{content:'Plating'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-course=qlsx]::before{content:'QLSX'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-course=cokhi]::before{content:'Mechanical engineering'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-course=dientu]::before{content:'Electronics'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-course=ma]::before{content:'Plating'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=fee]::before{content:'Học phí'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-field=examdate]::before{content:'Ngày thi'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-field=exam_result]::before{content:'Results'}
body#page-local-sjaccess-students .sjroster-app .sjroster td[data-sj-col=notes]::before{content:'Ghi chú'}
body#page-local-sjaccess-students .sjroster-app .sjroster td.is-editing{position:relative!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-field=notes] .sjinline-editor{left:8px!important;right:auto!important;width:min(480px,calc(100% - 16px))!important;max-width:calc(100% - 16px)!important}
}
@media(max-width:1100px){
body#page-local-sjaccess-students .sjaccess.sjadmin.sjroster-app{display:block!important}
body#page-local-sjaccess-students .sjroster-app .sjsidebar{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;padding:12px 18px!important}
body#page-local-sjaccess-students .sjroster-app .sjbrand{padding:0!important}
body#page-local-sjaccess-students .sjroster-app .sjsidebar nav{display:flex!important;flex-wrap:wrap!important;gap:4px!important;margin:0!important}
body#page-local-sjaccess-students .sjroster-app .sjsidebar .sjsidebar-foot,body#page-local-sjaccess-students .sjroster-app .sjsidebar .sjstudent-link{display:none!important}
}
/* end 3S ROSTER FIT 20261010 */

body#page-local-sjaccess-students .sjroster-app .sjroster td[hidden]{display:none!important}

body#page-local-sjaccess-students .sjroster-app td[data-sj-course=ma] .sjcourse-editor{left:auto!important;right:6px!important}

/* A learner name opens the matched Moodle profile without leaving the roster. */
body[id^="page-local-sjaccess-"] .sjroster-app .sjperson-simple .sjprofile-link{display:block;color:inherit!important;text-decoration:none!important;border-radius:3px}
body[id^="page-local-sjaccess-"] .sjroster-app .sjperson-simple .sjprofile-link:hover strong{color:var(--sj-primary)!important;text-decoration:underline;text-underline-offset:3px}
body[id^="page-local-sjaccess-"] .sjroster-app .sjperson-simple .sjprofile-link:focus-visible{outline:2px solid var(--sj-primary);outline-offset:3px}

/* Four managed course colors with a small staggered light sweep. */
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=qlsx]{--sj-mark-tone:#c62845;--sj-mark-bg:#fff0f3;--sj-mark-edge:#f6bac8;--sj-mark-glow:rgba(198,40,69,.13);--sj-mark-delay:0s}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=cokhi]{--sj-mark-tone:#1768d4;--sj-mark-bg:#edf5ff;--sj-mark-edge:#b6d5ff;--sj-mark-glow:rgba(23,104,212,.13);--sj-mark-delay:.6s}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=dientu]{--sj-mark-tone:#7c3ed0;--sj-mark-bg:#f5efff;--sj-mark-edge:#d8bef5;--sj-mark-glow:rgba(124,62,208,.13);--sj-mark-delay:1.2s}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=ma]{--sj-mark-tone:#07805d;--sj-mark-bg:#ebfaf3;--sj-mark-edge:#a9e3cd;--sj-mark-glow:rgba(7,128,93,.13);--sj-mark-delay:1.8s}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course] .is-active .sjcourse-mark{position:relative;isolation:isolate;overflow:hidden;color:var(--sj-mark-tone)!important;border-color:var(--sj-mark-edge)!important;background:linear-gradient(145deg,#fff,var(--sj-mark-bg))!important;box-shadow:0 2px 7px var(--sj-mark-glow)!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course] .is-active .sjcourse-mark:after{content:"";position:absolute;inset:-20% auto -20% -70%;width:45%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:translateX(0) skewX(-22deg);opacity:0;animation:sj-course-light 6s ease-in-out infinite;animation-delay:var(--sj-mark-delay)}
@keyframes sj-course-light{0%,68%{transform:translateX(0) skewX(-22deg);opacity:0}72%{opacity:.75}90%{transform:translateX(460%) skewX(-22deg);opacity:0}100%{transform:translateX(460%) skewX(-22deg);opacity:0}}
@media(prefers-reduced-motion:reduce){body#page-local-sjaccess-students .sjroster-app td[data-sj-course] .is-active .sjcourse-mark:after{animation:none!important;display:none}}

body#page-local-sjaccess-students .sjprofile-choices{margin-top:7px;font-size:11px}
body#page-local-sjaccess-students .sjprofile-choices summary{color:#1768d4;cursor:pointer}
body#page-local-sjaccess-students .sjprofile-choices a{display:block;white-space:normal;padding:5px 0}

/* 3S VIVID COURSE MARKS 20261010 */
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=qlsx]{--sj-mark-tone:#e11d48!important;--sj-mark-bg:#ffdce5!important;--sj-mark-edge:#e11d48!important;--sj-mark-glow:rgba(225,29,72,.25)!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=cokhi]{--sj-mark-tone:#1465e8!important;--sj-mark-bg:#d9eaff!important;--sj-mark-edge:#1465e8!important;--sj-mark-glow:rgba(20,101,232,.25)!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=dientu]{--sj-mark-tone:#7d2de2!important;--sj-mark-bg:#ecdcff!important;--sj-mark-edge:#7d2de2!important;--sj-mark-glow:rgba(125,45,226,.25)!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course=ma]{--sj-mark-tone:#008e60!important;--sj-mark-bg:#cef5e2!important;--sj-mark-edge:#008e60!important;--sj-mark-glow:rgba(0,142,96,.25)!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course] .is-active .sjcourse-mark{width:30px!important;height:30px!important;min-width:30px!important;border:2px solid var(--sj-mark-edge)!important;border-radius:9px!important;color:var(--sj-mark-tone)!important;background:linear-gradient(145deg,var(--sj-mark-bg),var(--sj-mark-bg))!important;box-shadow:0 3px 9px var(--sj-mark-glow),inset 0 1px 1px rgba(255,255,255,.85)!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course] .is-active .sjcourse-mark svg{width:18px!important;height:18px!important;stroke-width:3.2!important}
body#page-local-sjaccess-students .sjroster-app td[data-sj-course] .is-active:hover .sjcourse-mark{box-shadow:0 0 0 3px var(--sj-mark-glow),0 3px 9px var(--sj-mark-glow)!important}
/* end 3S VIVID COURSE MARKS */

/* Duplicate review controls and comparison workspace. */
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-open{display:inline-block;margin-top:9px;color:#155fcb!important;font-size:11px;font-weight:600;text-decoration:none}
body[id^="page-local-sjaccess-"] .sjaccess .sjduplicate-peers{font-size:11px;margin-top:7px;white-space:normal}
body[id^="page-local-sjaccess-"] .sjaccess .sjduplicate-peers summary{cursor:pointer;color:#946208}
body[id^="page-local-sjaccess-"] .sjaccess .sjduplicate-peers ul{list-style:none;padding:0;margin:7px 0}
body[id^="page-local-sjaccess-"] .sjaccess .sjduplicate-peers li{padding:6px 0;border-top:1px solid #edf1f7}
body[id^="page-local-sjaccess-"] .sjaccess .sjduplicate-peers li span{display:block;color:#6d7e93;font-size:10px}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-history{display:inline-block;font-size:12px;margin-top:7px}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-grid .sjsettings-card{min-width:0;margin:0}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-heading{margin-bottom:18px}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-source,body[id^="page-local-sjaccess-"] .sjaccess .sjreview-account{padding:16px;margin-top:12px;border:1px solid #e1e8f2;border-radius:12px;background:#fff;overflow-wrap:anywhere}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-source.is-current{border-color:#78a6ed;background:#f3f7ff}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-source>div{display:flex;justify-content:space-between;gap:10px;align-items:center}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-source small{display:block;margin-top:7px;color:#72839b}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-source p{white-space:pre-wrap;margin:9px 0 0;line-height:1.65}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-account p{margin:8px 0;line-height:1.5}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-rights{display:grid;gap:7px;margin-top:15px;font-size:12px}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-rights b{display:inline-block;min-width:65px}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-decision{margin-top:20px}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-transfer{display:flex;gap:10px;align-items:center;margin:14px 0}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-history-row{display:flex;gap:15px;align-items:center;justify-content:space-between;border-bottom:1px solid #e3eaf4;padding:16px 0}
body[id^="page-local-sjaccess-"] .sjaccess .sjreview-history-row small{display:block;color:#6b7e94;margin-top:5px}
@media(max-width:1000px){body[id^="page-local-sjaccess-"] .sjaccess .sjreview-grid{grid-template-columns:1fr}}

/* 3S RESULT COLORS 1.4.6 */
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjlabel-passed {background:#e5233d!important;color:#fff!important;border:1px solid #e5233d!important;font-weight:700!important;box-shadow:0 3px 8px rgba(229,35,61,.14)!important;}
body[id^="page-local-sjaccess-"] .sjaccess.sjaccess.sjaccess.sjaccess.sjaccess.sjaccess .sjlabel-failed {background:#ffff00!important;color:#111!important;border:1px solid #e6d900!important;font-weight:700!important;box-shadow:0 3px 8px rgba(201,182,0,.12)!important;}
/* end 3S RESULT COLORS */
