.lsc-flash{margin:0 0 18px;padding:13px 16px;border-radius:12px;background:#e8f8ee;border:1px solid #b9e4c8;color:#1f6034;font-weight:750}.lsc-flash--error{background:#fff0f0;border-color:#f1c4c4;color:#902b2b}.lsc-section{margin-top:18px}.lsc-muted{color:#6a778b}.lsc-logout,.lsc-back{font-size:13px;font-weight:800;color:#063fd1}.portal-card small{display:block;color:#748097;margin-top:4px}.lsc-form{display:grid;gap:14px;margin-top:16px}.lsc-form label,.lsc-form-row label,.lsc-library-filter label,.lsc-ai-form label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#34425c}.lsc-form input,.lsc-form textarea,.lsc-form select,.lsc-form-row input,.lsc-form-row select,.lsc-library-filter input,.lsc-library-filter select,.lsc-ai-form textarea{width:100%;border:1px solid #cfdaea;border-radius:10px;padding:11px 12px;background:#fff;color:#17223a;font:inherit}.lsc-form textarea{resize:vertical}.lsc-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin:12px 0}.lsc-button{border:0;border-radius:11px;padding:11px 16px;background:#063fd1;color:#fff!important;font-weight:850;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;text-decoration:none}.lsc-button--secondary{background:#edf3ff;color:#063fd1!important}.lsc-button--ghost{background:#fff;color:#063fd1!important;border:1px solid #cddaf1}.lsc-button.is-saved{background:#e7f8ec;color:#22683a!important}.lsc-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.lsc-action-grid--wide{grid-template-columns:repeat(4,1fr)}.lsc-action-grid a{border:1px solid #dce5f3;border-radius:12px;padding:14px;font-weight:800;color:#063fd1;background:#f9fbff;transition:.2s}.lsc-action-grid a:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(6,63,209,.08)}.lsc-table-wrap{overflow-x:auto;margin-top:12px}.lsc-table{width:100%;border-collapse:collapse;font-size:14px}.lsc-table th,.lsc-table td{text-align:left;border-bottom:1px solid #e3e9f2;padding:12px 10px;vertical-align:top}.lsc-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b788e}.lsc-table td small{display:block;color:#7a879a}.lsc-child-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.lsc-child-head h2,.lsc-child-head p{margin:0}.lsc-child-head p{color:#6f7b8f;margin-top:4px}.lsc-child-stats{display:flex;gap:8px;flex-wrap:wrap}.lsc-inner-grid{margin-top:18px}.lsc-assignment-meta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.lsc-assignment-meta span{padding:9px 12px;border-radius:999px;background:#eef4ff;color:#173776;font-size:13px}.lsc-assignment-box{margin-top:22px;padding:22px;border:1px solid #dce5f2;border-radius:16px;background:#f8fbff}.lsc-assignment-box h3{margin-top:0}.lsc-result-banner{display:flex;gap:14px;align-items:center;padding:13px;background:#e8f8ee;border-radius:12px;margin-bottom:14px}.lsc-result-banner strong{font-size:22px}.lsc-mark-card{padding:16px 0;border-top:1px solid #dde6f2}.lsc-mark-card:first-of-type{border-top:0}.lsc-mark-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.lsc-mark-card small{color:#7a879a}.lsc-answer{padding:12px;margin:10px 0;border-radius:10px;background:#fff;border:1px solid #e0e6ef}.lsc-answer p{margin:0}.portal-list__item:hover{border-color:#b9cbed;box-shadow:0 4px 16px rgba(6,63,209,.07)}.portal-list__item.is-unread{border-left:4px solid #063fd1;background:#f7f9ff}.portal-list__item p{margin:7px 0 0;color:#59677d;line-height:1.45}.portal-pill--danger{background:#fff0f0!important;color:#b42323!important}.lsc-welcome-actions{display:flex;align-items:center;gap:12px}.lsc-portal-nav{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:10px 14px;margin-bottom:22px;box-shadow:0 5px 22px rgba(5,33,95,.05);position:sticky;top:96px;z-index:40}.lsc-portal-brand{display:flex;align-items:center;gap:7px;color:#063fd1;white-space:nowrap}.lsc-portal-links{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.lsc-portal-links::-webkit-scrollbar{display:none}.lsc-portal-links a{padding:9px 10px;border-radius:10px;font-size:13px;font-weight:750;color:#42516b;white-space:nowrap}.lsc-portal-links a:hover{background:#edf3ff;color:#063fd1}.lsc-notification-link{margin-left:auto;width:40px;height:40px;border-radius:12px;background:#edf3ff;color:#063fd1;display:grid;place-items:center;position:relative;flex:0 0 auto}.lsc-notification-link b{position:absolute;right:-4px;top:-5px;background:#d72f2f;color:#fff;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;font-size:10px}.lsc-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.lsc-subject-grid a{padding:15px;border:1px solid #dfe7f2;border-radius:14px;background:#fbfcff;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.lsc-subject-grid a>span{grid-row:1/3;color:#063fd1}.lsc-subject-grid small{grid-column:2}.lsc-timetable{display:grid;gap:8px;margin-top:12px}.lsc-timetable>div{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:11px;border-radius:12px;background:#f8faff;border:1px solid #e3e9f4}.lsc-timetable time{font-weight:900;color:#063fd1}.lsc-timetable small{display:block;color:#77849a;margin-top:3px}.lsc-subject-hero{padding:26px;border-radius:20px;background:linear-gradient(135deg,#05215f,#063fd1);color:#fff;margin-bottom:16px}.lsc-subject-hero h2{font-size:30px;margin:5px 0}.lsc-subject-hero p{margin:0;color:#dce7ff}.lsc-profile-list p{padding:9px 0;border-bottom:1px solid #edf0f5}.lsc-progress-big{display:flex;align-items:baseline;gap:10px;padding:14px 0;border-bottom:1px solid #edf0f5}.lsc-progress-big strong{font-size:30px;color:#063fd1}.lsc-progress-big span{color:#68768a}.lsc-feedback{margin-top:18px}.lsc-feedback blockquote{margin:10px 0;padding:13px 16px;border-left:3px solid #063fd1;background:#f8faff;border-radius:0 12px 12px 0}.lsc-feedback blockquote p{margin:5px 0 0;color:#5c697c}.lsc-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.lsc-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.lsc-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.lsc-resource-card h3{margin:10px 0}.lsc-resource-card p{color:#65738b;line-height:1.55}.lsc-library-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.lsc-ai-form{display:grid;gap:12px;margin-top:14px}.lsc-ai-answer{margin-top:15px;padding:15px;border-radius:14px;background:#f8faff;border:1px solid #dfe7f2;line-height:1.55}.lsc-ai-source{padding:12px 0;border-bottom:1px solid #e5eaf3}.lsc-ai-source:last-child{border-bottom:0}.lsc-ai-source h4{margin:0 0 6px}.lsc-ai-source p{margin:0 0 7px;color:#55647a}.lsc-ai-source a{color:#063fd1;font-weight:800}.lsc-ai-thinking{font-weight:800;color:#063fd1}.lsc-video-wrap{margin:20px 0;position:relative;overflow:hidden;border-radius:16px;background:#000}.lsc-video-wrap iframe,.lsc-video-wrap video{width:100%;min-height:420px;border:0}.lsc-login-shell{min-height:calc(100vh - 40px);display:grid;place-items:center;padding:30px 16px;background:radial-gradient(circle at 15% 15%,#dfe9ff 0,transparent 32%),radial-gradient(circle at 90% 15%,#eaf0ff 0,transparent 28%),#f4f7fc}.lsc-login-card{width:min(520px,100%);background:#fff;border:1px solid #dce5f2;border-radius:26px;padding:30px;box-shadow:0 24px 70px rgba(5,33,95,.15)}.lsc-login-brand{display:flex;align-items:center;gap:16px;margin-bottom:24px}.lsc-login-brand img{width:92px;height:92px;object-fit:contain}.lsc-login-brand span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#063fd1}.lsc-login-brand h1{font-size:25px;margin:4px 0}.lsc-login-brand p{margin:0;color:#65738b;font-size:12px}.lsc-login-card form p{margin:0 0 15px}.lsc-login-card form label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.lsc-login-card form input[type=text],.lsc-login-card form input[type=password]{width:100%;padding:12px;border:1px solid #cfd9e8;border-radius:11px;font-size:16px}.lsc-login-card .login-submit input{width:100%;border:0;border-radius:11px;padding:13px;background:#063fd1;color:#fff;font-weight:850;font-size:15px}.lsc-login-help{text-align:center;color:#65738b;font-size:13px}.lsc-login-help a{color:#063fd1;font-weight:800}.lsc-demo-logins{margin-top:20px;padding:14px;border-radius:13px;background:#f4f7ff;border:1px dashed #b9cae9}.lsc-demo-logins>div{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.lsc-demo-logins code{background:#fff;padding:5px 7px;border-radius:7px}.lsc-demo-logins small{color:#66748a}.portal-login-note{margin:28px auto;max-width:900px}
@media(max-width:1050px){.lsc-action-grid--wide{grid-template-columns:repeat(2,1fr)}.lsc-resource-grid{grid-template-columns:repeat(2,1fr)}.lsc-library-filter{grid-template-columns:repeat(2,1fr)}.lsc-portal-nav{top:82px}}
@media(max-width:680px){.lsc-form-row,.lsc-action-grid,.lsc-action-grid--wide,.lsc-library-filter{grid-template-columns:1fr}.lsc-child-head,.portal-welcome{align-items:flex-start;flex-direction:column}.lsc-table{min-width:560px}.lsc-resource-grid,.lsc-subject-grid{grid-template-columns:1fr}.lsc-welcome-actions{width:100%;justify-content:space-between}.lsc-portal-nav{top:70px;margin-left:-2px;margin-right:-2px;padding:8px}.lsc-portal-brand strong{display:none}.lsc-portal-links a{font-size:12px;padding:8px}.lsc-login-card{padding:22px}.lsc-login-brand img{width:76px;height:76px}.lsc-login-brand h1{font-size:21px}.lsc-video-wrap iframe,.lsc-video-wrap video{min-height:220px}}
.lsc-install-app{border:0;border-radius:10px;padding:9px 11px;background:#063fd1;color:#fff;font-weight:800;font-size:12px;white-space:nowrap}.lsc-install-app[hidden]{display:none!important}

/* v0.6 refinement: universal search, offline centre, accessibility and data saver */
.lsc-search-form{display:grid;grid-template-columns:minmax(0,1fr) 210px auto;gap:12px;align-items:end}.lsc-search-form label{display:grid;gap:6px;font-size:13px;font-weight:800}.lsc-search-form input,.lsc-search-form select{width:100%;padding:12px;border:1px solid #cfdaea;border-radius:12px;background:#fff;font:inherit}.lsc-search-summary{margin:18px 0 0;padding:12px 2px;color:#53627a}.lsc-switch-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;padding:12px;border:1px solid #dfe7f2;border-radius:12px;background:#fbfcff}.lsc-switch-row input{width:auto!important}.lsc-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lsc-check-grid>div{padding:14px;border-radius:12px;background:#f7f9ff;border:1px solid #e0e8f5}.lsc-offline-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e6ebf3}.lsc-offline-item:last-child{border-bottom:0}.lsc-offline-item small{display:block;color:#6b778d;margin-top:3px}.lsc-text-small{font-size:14px}.lsc-text-large{font-size:17px}.lsc-text-xlarge{font-size:19px}.lsc-high-contrast .portal-card,.lsc-high-contrast .lsc-portal-nav{border-color:#1b2d4c!important;box-shadow:none!important}.lsc-high-contrast a{ text-decoration:underline}.lsc-reduce-motion *,.lsc-reduce-motion *:before,.lsc-reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.lsc-data-saver video{display:none!important}.lsc-data-saver .lsc-video-wrap:after{content:'Video hidden by Data Saver. Turn off Data Saver in Portal Settings to watch.';display:block;padding:18px;color:#fff;background:#16233b}.lsc-data-saver img:not(.lsc-login-brand img):not(.school-brand img){content-visibility:auto}.lsc-progress-bar{height:10px;border-radius:999px;background:#e7edf7;overflow:hidden}.lsc-progress-bar>span{display:block;height:100%;background:currentColor;border-radius:inherit}.lsc-stat-card{position:relative;overflow:hidden}.lsc-stat-card:after{content:'';position:absolute;right:-30px;bottom:-30px;width:100px;height:100px;border-radius:50%;background:rgba(6,63,209,.06)}
@media(max-width:680px){.lsc-search-form,.lsc-check-grid{grid-template-columns:1fr}}

/* v0.6 homework workflow */
.portal-pill--submitted,.portal-pill--resubmitted,.portal-pill--marked{font-weight:800}
.portal-pill--missing,.portal-pill--returned-for-correction,.portal-pill--submitted-late{border-style:dashed}
.lsc-assignment-box .lsc-card-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end}

/* Role-isolated workspaces */
.lsds-workspace-welcome{position:relative}.lsds-role-badge{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border-radius:999px;background:#eaf2ff;color:#0b4ab8;font-size:12px;font-weight:900;white-space:nowrap}.lsds-role-dock{position:sticky;top:86px;z-index:80;display:flex;gap:8px;align-items:center;overflow-x:auto;padding:9px;margin:0 0 18px;background:rgba(255,255,255,.96);border:1px solid #e2e8f2;border-radius:17px;box-shadow:0 12px 28px rgba(7,36,89,.09);backdrop-filter:blur(12px);scrollbar-width:none}.lsds-role-dock::-webkit-scrollbar{display:none}.lsds-role-dock a{display:flex;align-items:center;gap:7px;flex:0 0 auto;min-height:42px;padding:8px 12px;border-radius:12px;background:#f4f7fc;color:#16355f;font-size:12px;font-weight:850;text-decoration:none}.lsds-role-dock a:hover{background:#e8f1ff;color:#0b4ab8}.lsds-role-dock .dashicons{font-size:18px;width:18px;height:18px}.lsds-tool-grid a{display:grid!important;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center!important}.lsds-tool-grid a>.dashicons{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2ff;color:#0b4ab8}.lsds-tool-grid a strong{font-size:13px}.lsds-tool-grid a small{font-size:11px;color:#71809a;font-weight:600;line-height:1.35}.lsds-task-list{display:grid;gap:14px}.lsds-task-card{border:1px solid #e1e7f0;border-radius:16px;padding:17px;background:#fff}.lsds-task-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lsds-task-head h3{margin:8px 0 0}.lsds-task-status{font-size:11px;font-weight:850;padding:6px 9px;border-radius:999px;background:#f0f3f8;color:#53627a}.lsds-priority-high{background:#fff3d8!important;color:#8b5d00!important}.lsds-priority-urgent{background:#ffe7e7!important;color:#a71919!important}.lsds-task-response{margin-top:14px}.lsds-approval-item{align-items:flex-start!important;flex-wrap:wrap}.lsds-approval-item>div{flex:1 1 440px}.lsds-approval-item form{flex:0 0 auto}.lsds-responsive-table{width:100%;overflow:auto}.lsds-responsive-table table{width:100%;border-collapse:collapse;min-width:720px}.lsds-responsive-table th,.lsds-responsive-table td{padding:11px 12px;border-bottom:1px solid #e5eaf2;text-align:left;vertical-align:top;font-size:13px}.lsds-responsive-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.lsds-role-switch{display:flex;flex-wrap:wrap;gap:8px}.lsds-role-switch a{padding:10px 13px;border-radius:11px;background:#f2f5fa;color:#334a6b;font-size:12px;font-weight:850}.lsds-role-switch a.is-active{background:#0b4ab8;color:#fff}.lsds-preview-phone{max-width:680px;margin:18px auto 0;border:1px solid #dbe3ef;border-radius:24px;padding:18px;background:#f8faff;box-shadow:0 20px 44px rgba(10,45,99,.08)}.lsds-preview-header{font-size:20px;font-weight:950;margin-bottom:14px}.lsds-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lsds-preview-grid>div{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#fff;border:1px solid #e4e9f1;font-size:13px;font-weight:750}.lsc-portal-brand small{display:block;font-size:10px;color:#71809a;margin-top:2px}.lsc-portal-links a.is-active{background:#e8f1ff!important;color:#0b4ab8!important;font-weight:900}
@media(max-width:1099px){.lsds-role-dock{top:140px}.lsds-workspace-welcome{padding-top:3px}}
@media(max-width:680px){.lsds-role-dock{top:126px;margin-left:-2px;margin-right:-2px;padding:7px;border-radius:14px}.lsds-role-dock a{min-height:38px;padding:7px 10px}.lsds-role-badge{display:none}.lsds-preview-grid{grid-template-columns:1fr}.lsds-task-head{flex-direction:column}.lsds-task-response{display:grid!important;grid-template-columns:1fr!important}}
