/* Account UI is scoped so lesson content and existing progress controls keep their layout. */
.sa-page,.sa-login-page,.sa-account-bar{--sa-ink:#34446a;--sa-muted:#62718d;--sa-line:#d7e0f0;--sa-purple:#7352bf;color:var(--sa-ink);min-width:0;max-width:100%}
.sa-page *,.sa-login-page *,.sa-account-bar *{box-sizing:border-box;min-width:0}
.sa-page .ov-icon,.sa-login-page .ov-icon,.sa-account-bar .ov-icon{width:23px;height:23px;flex:0 0 23px}
.sa-page h1,.sa-login-page h1{font-size:29px;line-height:1.65;color:#25255f;margin:0 0 8px}
.sa-page h2{font-size:21px;line-height:1.8;margin:0 0 15px;color:#394c77}.sa-page h3{font-size:18px;line-height:1.8;margin:24px 0 14px}
.sa-page p,.sa-login-page p{line-height:1.95;font-size:15px}.sa-page code,.sa-account-bar code{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.sa-page .button,.sa-login-page .button{white-space:normal;text-align:center;max-width:100%;font-size:15px;min-height:48px;line-height:1.7;gap:10px}.sa-page .button .ov-icon{width:22px;height:22px;flex-basis:22px}
.sa-login-page{width:min(100%,580px);padding:35px 22px 50px;margin:auto}.sa-login-brand{display:flex;gap:11px;align-items:center;justify-content:center;font-weight:800;color:#34346f;margin:0 0 26px;font-size:19px}.sa-login-brand .ov-icon{width:32px;height:32px;flex-basis:32px}
.sa-login-card{padding:32px;background:#fff;border:1px solid var(--sa-line);border-radius:18px;box-shadow:0 12px 35px #3a477c0c}.sa-eyebrow{display:block;font-size:12px;font-weight:800;line-height:1.8;color:#6d5c94;margin-bottom:7px}.sa-separate-login{padding:12px 14px;border-radius:8px;background:#f0f4fc;color:#526689;font-size:13px!important}.sa-login-help{margin:21px 0 0;color:var(--sa-muted);font-size:13px!important}.sa-wide{width:100%}
.sa-field{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 21px;font-size:15px;font-weight:700;line-height:1.8}.sa-field input:not([type=file]),.sa-field select{display:block;width:100%;max-width:100%;font:inherit;font-weight:500;min-height:49px;padding:10px 12px;border:1px solid #abbddc;border-radius:8px;background:#fff;color:#34446a;box-shadow:inset 0 1px 2px #34446a05}.sa-field small{font-size:12px;font-weight:400;line-height:1.9;color:var(--sa-muted)}.sa-field select{font-size:14px;text-overflow:ellipsis}.sa-field input::placeholder{color:#77849e}
.sa-checkbox{display:flex;align-items:flex-start;gap:11px;line-height:1.9;font-size:14px;margin:0 0 20px;color:#526483;cursor:pointer}.sa-checkbox input{width:20px;height:20px;flex:0 0 20px;margin:4px 0 0;accent-color:#7352bf}
.sa-feedback:empty{display:none}.sa-notice{padding:12px 15px;margin:12px 0 17px;border:1px solid #cad7ed;border-radius:8px;background:#f0f5fd;font-size:14px!important;line-height:1.95!important;overflow-wrap:anywhere}.sa-notice-error{background:#fff4ed;border-color:#e4bca3;color:#874a2d}.sa-notice-success{background:#edf7f2;border-color:#aed3c0;color:#306a54}.sa-notice-info{color:#4d658d}
.sa-account-bar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:12px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #d9e1f1;background:#fff;box-shadow:0 2px 6px #394d7405;font-size:13px;line-height:1.6}.sa-identity{display:flex;align-items:center;gap:9px;max-width:100%;flex:1 1 200px}.sa-identity-mark{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border-radius:50%;background:#ece8f9;color:#7856b4;font-size:13px;font-weight:800}.sa-identity strong{display:block;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.sa-person-suffix{font-size:11px;margin-left:3px}.sa-login-id{display:block;font-size:11px;color:#62718d}.sa-login-id code{font-size:12px;margin-left:4px}.sa-sync-status{display:flex;align-items:center;gap:6px;font-size:11px;color:#53756b;flex:0 1 auto}.sa-sync-status .ov-icon{width:17px;height:17px;flex-basis:17px}.sa-sync-error,.sa-sync-offline,.sa-sync-conflict{color:#955132}.sa-sync-saving,.sa-sync-dirty,.sa-sync-pending{color:#7c6a46}.sa-account-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sa-account-links a,.sa-account-links button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid #d5dcef;border-radius:7px;background:#f8faff;color:#5f4a94;font-size:12px;font-weight:700;line-height:1.7;text-align:center}.sa-account-links .ov-icon{width:18px;height:18px;flex-basis:18px}.sa-nav-feedback{flex:1 0 100%;max-width:100%}.sa-nav-feedback:empty{display:none}.sa-nav-feedback .sa-notice{margin:0}
.sa-page{width:100%;max-width:1140px;margin:0 auto 35px}.sa-page-heading{display:flex;align-items:flex-start;gap:16px;margin:0 0 12px}.sa-heading-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:13px;background:#e7eafa;color:#7762b1;margin-top:5px}.sa-heading-icon .ov-icon{width:29px;height:29px}.sa-page-heading p{margin:0;color:var(--sa-muted)}.sa-back{display:inline-block;font-size:14px;color:#68539b;padding:8px 0;margin-bottom:21px;font-weight:700}.sa-panel{border:1px solid var(--sa-line);border-radius:13px;padding:25px;background:#fff;margin:0 0 24px;min-width:0;scroll-margin-top:20px}.sa-panel>p{color:var(--sa-muted)}.sa-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:17px}.sa-section-heading h2{margin:0}.sa-count{font-size:12px;color:#6b7394;margin-left:5px}.sa-quiet{border:1px solid #cbd6e9;background:#f8faff;border-radius:7px;padding:8px 11px;font-size:12px;color:#5d558b;line-height:1.8;min-height:39px;font-weight:700}.sa-quiet:hover{background:#f1edfb;border-color:#b9a8d9}.sa-danger{color:#985c3a;background:#fff8f1;border-color:#dfc9b7}.sa-muted{font-size:12px!important;line-height:1.9!important;color:var(--sa-muted);margin:13px 0 0}
.sa-storage-explanation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin:0 0 25px}.sa-storage-explanation>div{display:flex;align-items:flex-start;gap:12px;background:#ecf2fe;border:1px solid #d1dff5;border-radius:10px;padding:15px}.sa-storage-explanation>div:last-child{background:#f2edfb;border-color:#dfd3ef}.sa-storage-explanation p{margin:0;font-size:13px}.sa-storage-explanation strong,.sa-storage-explanation span{display:block}.sa-storage-explanation .ov-icon{margin-top:4px;color:#7f65ae}.sa-empty{display:flex;align-items:center;justify-content:center;gap:16px;padding:25px;color:#687994;background:#f5f8fd;border-radius:9px;line-height:1.9;font-size:14px}.sa-empty>.ov-icon{width:35px;height:35px;flex-basis:35px;color:#9aaed0}.sa-empty p{margin:0;font-size:14px}
.sa-work-list{display:grid;gap:12px;list-style:none;padding:0;margin:0}.sa-work-card{display:flex;align-items:center;gap:15px;border:1px solid #dce4f2;border-radius:10px;padding:17px;background:#fcfdff;min-width:0}.sa-work-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:52px;border:1px solid #d3daee;background:#eef2fb;border-radius:7px;color:#7b76ad}.sa-work-info{flex:1;min-width:0}.sa-work-info h3{margin:0 0 3px;font-size:17px;overflow-wrap:anywhere;line-height:1.8}.sa-work-info .sa-eyebrow{font-size:10px;margin:0}.sa-work-info>code{display:block;font-size:12px;color:#61718c}.sa-work-info p{display:flex;flex-wrap:wrap;gap:3px 13px;color:#6c7991;font-size:11px;margin:7px 0 0}.sa-work-download{flex:0 1 auto}.sa-work-download.button{font-size:12px;padding:10px 13px;min-height:43px;gap:6px}
.sa-upload-panel{background:#fbfcff}.sa-upload-steps{display:grid;gap:16px;list-style:none;padding:0;margin:20px 0 25px}.sa-upload-steps>li{display:flex;align-items:flex-start;gap:12px}.sa-upload-steps>li>span{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#e7e0f7;color:#7853ac;font-size:13px;font-weight:800;margin-top:3px}.sa-upload-steps>li>div{flex:1}.sa-upload-steps strong{display:block;font-size:16px;line-height:1.8}.sa-upload-steps p{font-size:13px;color:var(--sa-muted);margin:6px 0 0}.sa-upload-steps .ov-key-group{margin-top:8px}.sa-upload-panel form{border-top:1px solid #dce3f0;padding-top:23px}.sa-file-picker{position:relative;display:block;width:fit-content;max-width:100%;overflow:hidden;border:1px solid #aebcdb;border-radius:8px;background:#fff;cursor:pointer}.sa-file-picker>span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 18px;color:#655293;font-weight:700}.sa-file-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;font-size:14px}.sa-file-picker:focus-within{outline:3px solid #efb737;outline-offset:3px}.sa-file-preview>p{margin:4px 0;font-size:13px;color:var(--sa-muted);font-weight:400}.sa-file-preview .ov-file-target{max-width:100%;margin:5px 0}
.sa-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:17px}.sa-student-list{display:grid;gap:14px}.sa-student-card{display:grid;grid-template-columns:minmax(150px,1fr) minmax(270px,1.5fr);gap:10px 22px;padding:18px;background:#fafcff;border:1px solid #dce4f1;border-radius:10px}.sa-student-person{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.sa-student-person strong{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.sa-student-person>code{font-size:12px;color:#606b88}.sa-active-label{display:inline-block;padding:2px 8px;font-size:10px;line-height:1.7;border-radius:4px;background:#e8f4ed;color:#4a7760}.sa-active-label.is-inactive{background:#f0e9e3;color:#8b684e}.sa-student-metrics{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:13px;margin:0;align-self:center}.sa-student-metrics dt,.sa-detail-metrics dt{font-size:11px;color:#6c7890}.sa-student-metrics dd{font-size:15px;font-weight:700;line-height:1.7;margin:4px 0 0}.sa-student-metrics small{font-size:11px;font-weight:500}.sa-student-date{grid-column:1/-1;margin:0!important;font-size:11px!important;color:#6c7991}.sa-student-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #e3e8f2;padding-top:12px;margin-top:1px}.sa-student-actions>button{font-size:11px}.sa-detail-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:17px;background:#f4f6fc;border-radius:8px;margin:18px 0}.sa-detail-metrics dd{font-size:14px;margin:6px 0 0;line-height:1.8;overflow-wrap:anywhere}.sa-student-detail details>summary{font-weight:700;font-size:14px;line-height:1.9;color:#65578c}.sa-progress-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;list-style:none;padding:13px 0 0;margin:0;max-height:530px;overflow-y:auto}.sa-progress-grid>li{padding:8px 3px;background:#f5f7fb;border:1px solid #dce3ee;border-radius:6px;text-align:center}.sa-progress-grid strong,.sa-progress-grid span{display:block;font-size:12px;line-height:1.8}.sa-progress-grid span{font-size:9px;color:#6f7a90}.sa-progress-grid .is-done{background:#edf7f2;border-color:#b6d7c6;color:#42705d}.sa-progress-grid .is-started{background:#f0ebfa;border-color:#d6c8eb;color:#7961a4}
.sa-credentials{border-color:#c3afdE;background:#fcf9ff}.sa-credentials>button{margin-bottom:18px}.sa-credentials details>summary{font-size:14px;color:#705995;font-weight:700}.sa-credential-list{list-style:none;padding:12px 0 0;margin:0;display:grid;gap:10px}.sa-credential-list>li{display:flex;flex-wrap:wrap;gap:5px 17px;padding:12px;background:#fff;border:1px solid #ded7ec;border-radius:6px}.sa-credential-list strong{flex:1 0 100%;font-size:13px;overflow-wrap:anywhere}.sa-credential-list span{font-size:12px;overflow-wrap:anywhere}.sa-credential-list code{padding:2px 5px;border-radius:3px;background:#f2eef9;font-size:13px}.sa-admin-tools>details{padding:16px;border:1px solid #dce3f0;border-radius:8px;background:#fafcff;margin-top:14px}.sa-admin-tools>details>summary{font-size:14px;font-weight:700;line-height:1.9;color:#5e5687}.sa-admin-tools>details>p{font-size:13px;margin-top:15px;color:#64728d}.sa-admin-tools form{margin-top:18px}
.large-text .sa-field,.large-text .sa-page p,.large-text .sa-login-page p{font-size:17px}.large-text .sa-quiet,.large-text .sa-account-links a,.large-text .sa-account-links button{font-size:14px}.large-text .sa-work-info h3{font-size:20px}
@media(max-width:900px){.sa-account-bar{padding:11px 22px;gap:9px 13px}.sa-sync-status{order:3;flex:1 0 100%}.sa-account-links{margin-left:auto}.sa-panel{padding:21px}.sa-work-card{flex-wrap:wrap;align-items:flex-start;gap:12px}.sa-work-info{flex-basis:calc(100% - 70px)}.sa-work-download{margin-left:55px}.sa-form-grid{grid-template-columns:1fr 1fr}.sa-form-grid>.sa-field:first-child{grid-column:1/-1}.sa-student-card{grid-template-columns:1fr}.sa-student-metrics{margin-top:4px}.sa-detail-metrics{grid-template-columns:1fr 1fr}.sa-detail-metrics>div:last-child{grid-column:1/-1}.sa-progress-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){.sa-account-bar{padding:10px 16px;gap:8px}.sa-identity{flex-basis:100%;gap:8px}.sa-identity-mark{width:29px;height:29px;flex-basis:29px}.sa-identity strong{font-size:13px}.sa-login-id{font-size:10px}.sa-account-links{margin-left:0;justify-content:flex-start;flex:1 0 100%;gap:8px}.sa-account-links a,.sa-account-links button{font-size:11px;padding:6px 9px;min-height:36px}.sa-sync-status{font-size:10px;line-height:1.7}.sa-login-page{padding:24px 15px 35px}.sa-login-card{padding:24px 19px;border-radius:13px}.sa-login-page h1,.sa-page h1{font-size:24px}.sa-page-heading{gap:12px}.sa-heading-icon{width:39px;height:39px;flex-basis:39px;border-radius:10px}.sa-heading-icon .ov-icon{width:23px;height:23px}.sa-page-heading p{font-size:13px}.sa-page h2{font-size:19px}.sa-panel{padding:18px 15px;margin-bottom:18px}.sa-page p{font-size:14px}.sa-storage-explanation{grid-template-columns:1fr;gap:9px;margin-bottom:18px}.sa-storage-explanation>div{padding:12px}.sa-storage-explanation p{font-size:12px}.sa-work-card{padding:13px;gap:10px}.sa-work-icon{width:33px;height:42px;flex-basis:33px}.sa-work-info{flex-basis:calc(100% - 44px)}.sa-work-info h3{font-size:16px}.sa-work-info>code{font-size:11px}.sa-work-download{margin-left:43px}.sa-work-download.button{font-size:11px;padding:8px 10px;min-height:40px}.sa-field{font-size:14px;margin-bottom:18px}.sa-field input:not([type=file]),.sa-field select{min-height:46px;font-size:15px}.sa-field small{font-size:11px}.sa-page .button,.sa-login-page .button{font-size:14px;padding:10px 15px;gap:8px}.sa-checkbox{font-size:13px}.sa-empty{padding:17px;gap:12px}.sa-empty p{font-size:13px}.sa-empty>.ov-icon{width:27px;height:27px;flex-basis:27px}.sa-section-heading{gap:10px}.sa-section-heading .sa-quiet{font-size:11px;min-height:35px}.sa-student-card{padding:14px}.sa-student-metrics{gap:8px}.sa-student-metrics dd{font-size:13px}.sa-student-actions>button{flex:1 1 130px;font-size:11px;padding:8px}.sa-student-date{font-size:10px!important}.sa-form-grid{gap:0 12px}.sa-detail-metrics{padding:13px;gap:13px}.sa-detail-metrics dd{font-size:12px}.sa-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sa-credential-list>li{display:block}.sa-credential-list strong,.sa-credential-list span{display:block;margin-bottom:6px}.sa-admin-tools>details{padding:13px}.sa-admin-tools>details>summary{font-size:13px}.sa-upload-steps strong{font-size:15px}.sa-upload-steps p{font-size:12px}.sa-upload-steps>li{gap:10px}.sa-upload-steps>li>span{width:26px;height:26px;flex-basis:26px}.sa-notice{padding:11px 12px;font-size:13px!important}.large-text .sa-field,.large-text .sa-page p,.large-text .sa-login-page p{font-size:16px}}
