.soft-select{vertical-align:middle;width:100%;min-width:0;display:inline-flex;position:relative}.soft-select-trigger{border:1px solid var(--line);background:var(--panel);width:100%;min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:17px;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.soft-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.soft-select-trigger>svg{flex-shrink:0}.soft-select-trigger:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.soft-select-trigger:disabled{opacity:.5;cursor:default}.soft-select-popup{z-index:12000;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:22px;flex-direction:column;padding:8px;font-size:16px;display:flex;position:fixed;overflow:hidden;box-shadow:0 14px 55px #160c3433}.soft-select-search{background:var(--soft);border-radius:14px;flex-shrink:0;align-items:center;gap:8px;padding:4px 10px;display:flex}.soft-select-search input{--studkamp-search-padding:3;width:100%;min-width:0;color:inherit;font:inherit;box-shadow:none;background:0 0;border:0;outline:none;padding:10px 16px}.soft-select-options{overscroll-behavior:contain;min-height:0;padding-top:6px;overflow:auto}.soft-select-options button{text-align:left;white-space:normal;width:100%;min-height:46px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.soft-select-options button[data-active=true],.soft-select-options button[aria-selected=true]{background:var(--purple-bg);color:var(--brand)}.soft-select-options button[aria-selected=true]{font-weight:700}.soft-select-options svg{flex-shrink:0}.soft-select-empty{padding:14px}.soft-select-validation{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:0}@media (width<=600px){.soft-select-trigger{font-size:16px}.soft-select-popup{border-radius:22px}.soft-select-options button{min-height:50px}}:root{--studkamp-analytics-ui:1;--att-green:#43a58a;--att-red:#d77c89;--att-muted:#d6d4df}.analytics-page{gap:24px;min-width:0;display:grid}.analytics-heading,.analytics-card-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.analytics-heading h2{margin:4px 0;font-size:clamp(28px,4vw,42px);line-height:1.1}.analytics-tabs{background:var(--soft);border-radius:22px;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;padding:6px;display:flex}.analytics-tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:17px;padding:10px 17px;font-weight:650}.analytics-tabs button.active{background:var(--panel);color:var(--brand);box-shadow:0 3px 12px #24134a0c}.analytics-filters{grid-template-columns:150px 150px minmax(180px,1fr) minmax(160px,.8fr);align-items:end;gap:14px;display:grid}.analytics-filters label,.analytics-report-layout label,.analytics-more label{color:var(--muted);gap:7px;min-width:0;font-size:13px;display:grid}.analytics-filters input{background:var(--panel);width:100%;min-width:0;color:var(--text);border:1px solid var(--line);border-radius:18px;padding:13px;font-size:16px}.analytics-more{grid-column:1/-1}.analytics-more summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--brand);align-items:center;gap:8px;font-weight:650;display:flex}.analytics-more>div{flex-wrap:wrap;align-items:end;gap:14px;padding:12px 0;display:flex}.analytics-more label{flex:1;min-width:180px}.analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.analytics-metric{text-align:left;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:26px;flex-direction:column;align-items:start;gap:10px;min-width:0;padding:22px;transition:box-shadow .16s,transform .16s;display:flex;position:relative}.analytics-metric:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 22px #38245b0c}.analytics-metric>span{font-size:15px;font-weight:650}.analytics-metric strong{font-size:clamp(30px,4vw,44px);line-height:1.1}.analytics-metric small{color:var(--muted);font-size:12px;line-height:1.4}.analytics-metric>svg{color:var(--muted);position:absolute;top:23px;right:14px}.analytics-metric.amber strong{color:#b17b24}.analytics-metric.mint strong{color:var(--att-green)}.analytics-card{border:1px solid var(--line);background:var(--panel);border-radius:28px;min-width:0;padding:26px}.analytics-card h3{margin:0 0 18px;font-size:21px;line-height:1.35}.analytics-card-title h3{margin:0}.analytics-card-title{margin-bottom:20px}.analytics-duo{grid-template-columns:1fr 1fr;gap:20px;display:grid}.analytics-rate{align-items:center;gap:20px;margin:16px 0 24px;display:flex}.analytics-rate strong{letter-spacing:-1.5px;font-size:45px}.analytics-rate span{color:var(--muted);font-size:13px;line-height:1.5}.analytics-stack{background:var(--soft);border-radius:10px;min-width:40px;height:12px;display:flex;overflow:hidden}.analytics-stack i{min-width:0;height:100%}.att-present{background:var(--att-green)}.att-absent{background:var(--att-red)}.att-missing{background:var(--att-muted)}.analytics-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:15px 0 20px;font-size:12px;display:flex}.analytics-legend span{align-items:center;gap:6px;display:flex}.analytics-legend i{border-radius:50%;width:9px;height:9px;display:block}.analytics-rules{color:var(--muted);overflow-wrap:anywhere;margin-top:18px;font-size:13px;line-height:1.6}.analytics-rules summary{cursor:pointer;min-height:44px;color:var(--brand);align-content:center;font-weight:600;display:list-item}.analytics-rules p{margin:10px 0}.analytics-rules code{overflow-wrap:anywhere;font-size:11px}.analytics-note{background:var(--soft);min-height:44px;color:var(--brand);text-align:left;border:0;border-radius:16px;width:100%;padding:13px 16px}.analytics-weeks{gap:15px;max-height:250px;padding:4px;display:grid;overflow:auto}.analytics-weeks>div{grid-template-columns:70px minmax(40px,1fr) 70px;align-items:center;gap:10px;font-size:12px;display:grid}.analytics-weeks b{text-align:right;color:var(--muted);font-size:12px;font-weight:500}.analytics-muted{color:var(--muted);font-size:13px;line-height:1.5}.analytics-action-list{display:grid}.analytics-action-list button{text-align:left;color:var(--text);border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:12px;min-height:54px;padding:17px 0;display:flex}.analytics-action-list button:last-child{border:0}.analytics-action-list span{flex:1}.analytics-scale{border-bottom:1px solid var(--line);padding:14px 0}.analytics-scale:last-child{border-bottom:0}.analytics-scale>div:first-child{justify-content:space-between;gap:12px;display:flex}.analytics-scale span,.analytics-scale small{color:var(--muted);font-size:12px}.analytics-distribution{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.analytics-distribution>span{background:var(--soft);border-radius:12px;padding:8px 12px}.analytics-group-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.analytics-group-grid>button{text-align:left;background:var(--soft);color:var(--text);border:0;border-radius:21px;gap:14px;padding:20px;display:grid}.analytics-group-grid strong{font-size:30px}.analytics-group-grid small{color:var(--muted);font-size:12px}.analytics-source-strip{border:1px solid var(--line);background:var(--panel);color:var(--text);text-align:left;border-radius:24px;align-items:center;gap:15px;padding:20px 24px;display:flex}.analytics-source-strip div{flex:1;gap:6px;display:grid}.analytics-source-strip span{color:var(--muted);font-size:12px}.analytics-stamp{color:var(--muted);margin:0;font-size:11px}.analytics-record-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.analytics-record-controls>.soft-select{flex:1;min-width:180px}.analytics-records{display:grid}.analytics-record{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:0 0;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:17px 12px;display:flex}.analytics-record:hover{background:var(--soft)}.analytics-record>div:first-child{gap:6px;min-width:0;display:grid}.analytics-record strong,.analytics-record b{overflow-wrap:anywhere;font-size:15px;line-height:1.4}.analytics-record span{color:var(--muted);font-size:13px;line-height:1.4}.analytics-record small{color:var(--muted);font-size:12px}.analytics-record-value{text-align:right;flex-shrink:0;gap:6px;padding-right:22px;display:grid;position:relative}.analytics-record-value>svg{position:absolute;top:0;right:0}.analytics-pagination{justify-content:space-between;align-items:center;gap:10px;margin-top:22px;display:flex}.analytics-pagination>span{color:var(--muted);font-size:13px}.analytics-report-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}.analytics-report-layout>.analytics-card:first-child{gap:16px;display:grid}.analytics-report-layout h3,.analytics-report-layout p{margin:0}.analytics-export{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:18px 0;display:flex}.analytics-export:last-child{border:0}.analytics-export>div{align-content:start;gap:7px;display:grid}.analytics-export span,.analytics-export small{color:var(--muted);font-size:12px}.analytics-export .text-button{font-size:12px}.analytics-search{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.analytics-search svg{pointer-events:none;color:var(--muted);position:absolute;left:16px}.analytics-search input{border:1px solid var(--line);background:var(--panel);width:100%;min-height:48px;color:var(--text);border-radius:18px;font-size:16px;padding:14px 16px 14px 48px!important}.analytics-room-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px;max-height:620px;margin-top:20px;padding:3px;display:grid;overflow:auto}.analytics-room-grid>button{text-align:left;border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:23px;gap:9px;padding:18px;display:grid}.analytics-room-grid>button.selected{border:2px solid var(--brand);padding:17px}.analytics-room-grid span{color:var(--muted);font-size:12px}.analytics-room-grid strong{font-size:30px}.analytics-room-days{flex-wrap:wrap;gap:3px;display:flex}.analytics-room-days i{background:var(--brand);border-radius:3px;width:8px;height:14px}.analytics-room-detail{margin-top:26px}.analytics-empty{text-align:center;color:var(--muted);justify-items:center;gap:12px;min-height:190px;padding:44px 20px;display:grid}.analytics-empty p{max-width:480px;margin:0;line-height:1.5}.analytics-empty h3{color:var(--text);margin:0}.analytics-spin{animation:1.5s linear infinite analytics-spin}@keyframes analytics-spin{to{transform:rotate(360deg)}}.source-automation{background:var(--soft);border-radius:24px;align-items:center;gap:14px;padding:18px 24px;display:flex}.source-dot{background:#c38a31;border-radius:50%;flex-shrink:0;width:12px;height:12px}.source-dot.healthy{background:var(--att-green)}.source-automation>div{gap:7px;display:grid}.source-automation span:not(.source-dot){color:var(--muted);font-size:12px}.source-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:20px;display:grid}.source-health-card{flex-direction:column;gap:12px;display:flex}.source-health-card.selected{border-color:var(--brand)}.source-health-card h3{margin:0;font-size:22px}.source-health-card p,.source-health-card .analytics-card-title{margin:0}.source-status{color:var(--brand);align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.source-status.partial,.source-status.error{color:#a16b19}.source-health-numbers{color:var(--muted);gap:20px;font-size:12px;display:flex}.source-health-numbers b{color:var(--text);font-size:28px;line-height:1.4;display:block}.source-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto;display:flex}.source-actions .text-button{align-items:center;gap:5px;min-height:44px;font-size:12px;display:flex}.source-progress{color:var(--muted);gap:8px;font-size:12px;display:grid}.source-progress progress{width:100%;height:7px;accent-color:var(--brand)}.source-details{scroll-margin-top:20px}.source-detail-metrics{grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0;display:grid}.source-detail-metrics>div{gap:8px;display:grid}.source-detail-metrics span{color:var(--muted);font-size:12px}.source-issues{max-height:440px;margin:14px 0;display:grid;overflow:auto}.source-issues>div{border-bottom:1px solid var(--line);gap:7px;padding:14px 4px;display:grid}.source-issues b{font-size:14px}.source-issues span{color:var(--muted);font-size:12px;line-height:1.5}.source-details h4{margin:22px 0 10px}@media (width<=1100px){.analytics-filters,.analytics-metrics,.source-detail-metrics{grid-template-columns:1fr 1fr}}@media (width<=760px){.analytics-page{gap:18px}.analytics-heading h2{font-size:30px}.analytics-duo,.analytics-report-layout{grid-template-columns:1fr}.analytics-card{border-radius:24px;padding:20px}.analytics-tabs{gap:3px;width:100%}.analytics-tabs button{flex:1;padding:10px 12px;font-size:13px}.analytics-filters{gap:12px}.analytics-metric{border-radius:23px;padding:19px}.analytics-metric>span{font-size:13px}.analytics-metric small{font-size:11px}.analytics-metric strong{font-size:33px}.analytics-record{gap:10px;padding:16px 0}.analytics-record-value{flex-shrink:1;max-width:40%}.analytics-record-value b{font-size:13px}.analytics-group-grid{grid-template-columns:1fr 1fr}.analytics-group-grid>button{padding:15px}.analytics-source-strip{padding:18px}.analytics-card-title h3{font-size:20px}.analytics-card-title .text-button{font-size:12px}.analytics-record-controls>*{max-width:100%}.analytics-record-controls>.soft-select{min-width:140px}.source-card-grid{gap:14px}.source-automation{padding:18px}.source-automation b{font-size:14px}}@media (prefers-reduced-motion:reduce){.analytics-spin{animation:none}.analytics-metric{transition:none}}.analytics-program-form{gap:14px;display:grid}.analytics-program-form input:not([type=checkbox]){background:var(--panel);width:100%;min-height:46px;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:16px}.analytics-program-form fieldset{border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr 1fr;gap:8px;max-height:280px;padding:14px;display:grid;overflow:auto}.analytics-program-form fieldset label{min-height:44px;color:var(--text);align-items:center;gap:10px;display:flex}.analytics-program-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}.source-dialog{color:var(--text);background:0 0;border:0;border-radius:28px;width:min(860px,100% - 32px);max-height:86dvh;padding:0;box-shadow:0 30px 100px #10052b33}.source-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#15102477}.source-dialog .source-details{border:0}.source-dialog:focus-visible{outline:3px solid var(--brand);outline-offset:3px}@media (width<=600px){.source-dialog{border-radius:24px;width:calc(100% - 20px);max-height:90dvh}.source-dialog .analytics-card-title{align-items:start}}html[data-theme=dark] .source-status.partial,html[data-theme=dark] .source-status.error,html[data-theme=dark] .analytics-metric.amber strong{color:#edc281}:root{--studkamp-submissions-ui:1}.submission-panel,.submission-history{background:var(--soft);border:1px solid var(--line);border-radius:24px;gap:16px;margin:24px 0;padding:22px;display:grid}.submission-panel h3,.submission-history h3{margin:0;font-size:24px}.submission-history{background:var(--panel);margin-bottom:0}.submission-history article{border:1px solid var(--line);border-radius:18px;padding:18px}.submission-history p{white-space:pre-wrap}.submission-panel label{gap:9px;display:grid}.file-picker{border:2px dashed var(--purple);color:var(--brand);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;padding:24px;font-size:19px;position:relative;overflow:hidden;display:flex!important}.file-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-picker:focus-within{outline:3px solid var(--purple);outline-offset:3px}.file-limits{color:var(--muted);margin:0;font-size:15px}.submission-files{gap:10px;display:grid}.submission-files>div{background:var(--panel);border:1px solid var(--line);border-radius:18px;align-items:center;gap:12px;padding:15px;display:flex}.submission-files span{overflow-wrap:anywhere;flex:1;gap:6px;min-width:0;display:grid}.submission-files small{color:var(--muted);font-size:14px}.submission-files .button{white-space:nowrap}.submission-sent{color:var(--green);align-items:center;gap:12px;display:flex}.submission-sent span{gap:5px;display:grid}.group-choices{border:1px solid var(--line);border-radius:20px;min-width:0;margin:0;padding:18px}.group-choices legend{padding:0 8px;font-size:18px;font-weight:700}.group-choices>div{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;max-height:220px;margin-top:12px;display:grid;overflow:auto}.group-choices label{background:var(--soft);border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex!important}.group-choices input[type=checkbox]{width:22px;min-width:22px;height:22px}.request-context{background:var(--purple-bg);border-radius:20px;gap:10px;margin-bottom:20px;padding:20px;display:grid}.request-context b{font-size:23px}.submission-review{padding-top:20px}.submission-note{color:var(--brand);margin-top:9px;font-size:15px;display:block}.grading-help{background:var(--purple-bg);color:var(--brand);border-radius:18px;padding:16px;font-size:17px;line-height:1.6}.grading-preview table{border-collapse:collapse;width:100%}.grading-preview td,.grading-preview th{text-align:left;white-space:normal;padding:12px}.course-quick-stats{flex-wrap:wrap;gap:12px;display:flex}.course-quick-stats span{background:var(--purple-bg);color:var(--brand);border-radius:16px;padding:10px 16px;font-size:17px}.course-quick-stats b{margin-right:5px;font-size:23px}@media (width<=600px){.submission-panel,.submission-history{padding:16px}.submission-files>div{flex-wrap:wrap}.submission-files .button,.submission-panel>.button{justify-content:center;width:100%}.grading-preview{overflow:auto}.group-choices>div{grid-template-columns:1fr 1fr}}:root{--studkamp-accounts-ui:1}.account-page{gap:24px;min-width:0;display:grid}.account-profile-header{align-items:center;gap:20px;display:flex}.account-profile-header h2{overflow-wrap:anywhere;margin:5px 0;font-size:clamp(26px,4vw,38px);line-height:1.2}.account-profile-header p{color:var(--muted);margin:8px 0}.account-avatar{background:var(--purple-bg);width:76px;height:76px;color:var(--brand);border-radius:26px;flex-shrink:0;place-items:center;font-size:34px;font-weight:750;display:grid}.account-avatar.small{border-radius:18px;width:48px;height:48px;font-size:20px}.account-layout{grid-template-columns:1fr 1.2fr;align-items:start;gap:22px;display:grid}.account-facts{margin:0 0 24px;display:grid}.account-facts>div{border-bottom:1px solid var(--line);gap:7px;padding:17px 0;display:grid}.account-facts dt{color:var(--muted);font-size:12px}.account-facts dd{overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:650}.account-facts small{color:var(--muted);margin-top:7px;font-size:12px;font-weight:400;line-height:1.5;display:block}.account-field{color:var(--muted);gap:8px;min-width:0;font-size:13px;display:grid}.account-field input,.account-date-range input{border:1px solid var(--line);background:var(--panel);min-height:48px;color:var(--text);border-radius:17px;width:100%;min-width:0;padding:13px 16px;font-size:16px}.account-password{display:block;position:relative}.account-password input{padding-right:50px!important}.account-password>button{width:40px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:13px;place-items:center;display:grid;position:absolute;top:2px;bottom:2px;right:5px}.account-hint{color:var(--muted);font-size:12px;line-height:1.6}.account-security-row{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:20px 0;display:flex}.account-security-row>div{flex:1;gap:7px;display:grid}.account-security-row b{font-size:15px}.account-security-row span{color:var(--muted);font-size:12px;line-height:1.4}.account-security-row .text-button{min-height:44px;font-size:12px}.account-security-form{background:var(--soft);border-radius:23px;gap:15px;margin:20px 0;padding:22px;display:grid}.account-form-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-form-title h4{margin:0;font-size:18px;line-height:1.4}.account-success{color:var(--brand);align-items:center;gap:8px;font-size:14px;font-weight:650;line-height:1.5;display:flex}.account-help{color:var(--muted);margin:16px 0;font-size:13px;line-height:1.6}.account-help summary{cursor:pointer;min-height:44px;color:var(--brand);align-content:center;font-weight:650}.account-help code{overflow-wrap:anywhere;background:var(--panel);border-radius:15px;padding:14px;font-size:13px;display:block}.account-help .text-button{min-height:44px}.account-qr{object-fit:contain;background:#fff;border-radius:23px;width:200px;max-width:100%;height:200px;margin:auto;padding:12px;display:block}.account-code-panel{border:1px solid var(--line);background:var(--soft);border-radius:24px;margin-top:24px;padding:23px}.account-code-panel h3{margin-top:14px}.account-code-panel p{color:var(--muted);font-size:13px;line-height:1.6}.account-code-grid{grid-template-columns:1fr;gap:9px;margin:20px 0;display:grid}.account-code-grid code{letter-spacing:.5px;background:var(--panel);overflow-wrap:anywhere;border-radius:12px;padding:12px;font-size:13px;display:block}.account-actions{flex-wrap:wrap;gap:12px;display:flex}.account-devices{display:grid}.account-devices>div{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:18px 0;display:flex}.account-devices>div:last-child{border-bottom:0}.account-devices>div>div{flex:1;gap:7px;display:grid}.account-devices span{color:var(--muted);font-size:12px}.account-login{max-width:440px!important}.account-login h1{font-size:clamp(30px,5vw,44px);line-height:1.12}.account-login form{gap:18px;display:grid}.account-factor-icon{background:var(--soft);width:64px;height:64px;color:var(--brand);border-radius:22px;place-items:center;display:grid}.account-list-filters{flex-wrap:wrap;gap:12px;display:flex}.account-list-filters>*{flex:1;min-width:190px}.account-people-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;display:grid}.account-person{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:24px;align-items:center;gap:15px;min-height:108px;padding:21px;display:flex}.account-person>div:nth-child(2){flex:1;gap:8px;min-width:0;display:grid}.account-person b{overflow-wrap:anywhere;font-size:17px;line-height:1.35}.account-person span{color:var(--muted);font-size:12px;line-height:1.4}.account-person small{color:var(--brand);font-size:11px}.account-person.inactive{opacity:.65}.account-back{width:fit-content}.account-editor{gap:20px;display:grid}.account-editor h2,.account-editor h3{margin:0}.account-editor form{gap:17px;display:grid}.account-editor .account-security-form{margin:0}.account-unit-choices{border:1px solid var(--line);border-radius:20px;gap:8px;max-height:300px;padding:17px;display:grid;overflow:auto}.account-unit-choices legend{color:var(--muted);padding:0 6px;font-size:13px}.account-unit-choices label{min-height:44px;color:var(--text);overflow-wrap:anywhere;align-items:center;gap:12px;font-size:14px;display:flex}.account-unit-choices input{width:20px;height:20px;accent-color:var(--brand);flex-shrink:0}.account-access-state{align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.account-ticket{background:var(--soft);border-radius:24px;gap:13px;padding:22px;display:grid}.account-ticket h4,.account-ticket p{margin:0}.account-ticket p{color:var(--muted);font-size:12px}.account-ticket>input{border:1px solid var(--line);background:var(--panel);width:100%;min-height:48px;color:var(--text);border-radius:15px;padding:12px;font-size:14px}.account-date-range{grid-template-columns:1fr 1fr;gap:12px;display:grid}.account-date-range label{gap:7px;display:grid}.account-profile-header+.account-layout .button{margin-top:8px}.account-editor button:disabled{cursor:default}.account-password>button:hover{background:var(--soft)}@media (width<=760px){.account-page{gap:18px}.account-layout{grid-template-columns:1fr;gap:18px}.account-profile-header{gap:14px}.account-avatar{border-radius:22px;width:62px;height:62px;font-size:28px}.account-profile-header h2{font-size:28px}.account-profile-header p{font-size:13px}.account-security-form{padding:18px}.account-security-row{gap:11px}.account-security-row b{font-size:14px}.account-code-grid code{letter-spacing:0;font-size:12px}.account-list-filters>*{min-width:140px}.account-list-filters>.analytics-search{flex-basis:100%}.account-person{padding:19px}.account-ticket{padding:18px}.account-login{padding:25px!important}.account-login h1{font-size:34px}}:root{--studkamp-classroom-ui:1}.workspace-home,.course-workspace,.workspace-results{gap:22px;display:grid}.workspace-hero{background:var(--purple-bg);color:var(--brand);border-radius:26px;align-items:center;gap:20px;padding:30px;display:flex}.workspace-hero h2{margin:5px 0;font-size:clamp(26px,4vw,42px)}.workspace-hero .button{margin-left:auto}.workspace-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.workspace-stat{border:1px solid var(--line);background:var(--panel);color:var(--text);text-align:left;border-radius:22px;flex-direction:column;gap:7px;padding:24px;display:flex}.workspace-stat strong{font-size:40px;line-height:1.1}.workspace-stat span{font-size:16px}.workspace-home-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.workspace-section{align-content:start;gap:18px;min-width:0;padding:26px;display:grid}.workspace-section h2{margin:0;font-size:25px}.workspace-section h3{margin:0;font-size:21px}.workspace-section>label,.grading-fields>label,.grading-rule>label{gap:8px;font-weight:600;display:grid}.workspace-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;display:flex}.workspace-row b{font-size:17px}.workspace-row small{color:var(--muted);margin-top:5px;font-size:14px;display:block}.workspace-row>span:first-child{overflow-wrap:anywhere;min-width:0}.workspace-row .status{flex-shrink:0}.workspace-row:hover{color:var(--brand)}.workspace-lesson{justify-content:flex-start}.workspace-lesson>b{min-width:62px;color:var(--brand)}.workspace-lesson svg{margin-left:auto}.workspace-empty{text-align:center;color:var(--muted);padding:30px;font-size:18px}.workspace-empty p{margin-top:10px;font-size:15px}.workspace-headman{text-align:left;border:1px solid var(--line);color:var(--brand);background:var(--purple-bg);border-radius:22px;align-items:center;gap:18px;padding:22px;display:flex}.workspace-headman>span{gap:5px;display:grid}.workspace-headman b{font-size:21px}.workspace-headman>svg:last-child{margin-left:auto}.workspace-course-heading{background:var(--panel);border:1px solid var(--line);border-radius:22px;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.workspace-course-heading h2{margin:7px 0;font-size:24px}.workspace-course-heading p{color:var(--muted);margin:0}.workspace-tabs{margin:0}.workspace-journal{gap:12px;display:grid}.workspace-journal-toolbar{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:10px;display:flex}.workspace-journal-toolbar label{gap:6px;display:grid}.workspace-journal-toolbar .soft-select{width:210px}.workspace-pair{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);text-align:left;font:inherit;border-radius:22px;align-items:center;gap:22px;padding:20px 24px;display:flex}.workspace-pair-date{gap:7px;min-width:95px;display:grid}.workspace-pair-date>b{font-size:21px}.workspace-pair h3{margin:0 0 5px;font-size:19px}.workspace-pair>div>span:not(.status){color:var(--muted)}.workspace-pair-state{justify-items:end;gap:7px;margin-left:auto;display:grid}.workspace-pair-state small{color:var(--muted);font-size:14px}.workspace-pair.confirmed{border-color:#70bf9c}.workspace-pair.future{background:var(--soft)}.workspace-pair.unmarked .status{color:#8a5100;background:#fff0d9}.workspace-pair.preliminary .status{background:var(--purple-bg);color:var(--brand)}.workspace-pair.confirmed .status{color:#186a47;background:#e0f4e9}.workspace-pair.partial .status{color:#8a5100;background:#fff0d9}.workspace-totals{flex-wrap:wrap;gap:16px;display:flex}.workspace-total{background:var(--soft);border-radius:20px;gap:8px;min-width:170px;padding:20px;display:grid}.workspace-total strong small{font-size:18px}.workspace-total.primary-total{background:var(--purple-bg);color:var(--brand)}.workspace-total>small,.workspace-muted{color:var(--muted);font-size:15px;line-height:1.6}.symbol-counts{flex-wrap:wrap;gap:9px;display:flex}.symbol-counts>span{background:var(--panel);border-radius:12px;padding:6px 9px}.workspace-recommendation{background:var(--purple-bg);color:var(--brand);border-radius:20px;align-items:center;gap:15px;padding:20px;display:flex}.workspace-recommendation h3{margin:6px 0}.workspace-recommendation small{line-height:1.5}.workspace-result-tasks{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:20px}.grading-kinds{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.grading-kinds button{border:1px solid var(--line);background:var(--panel);min-height:104px;color:var(--text);font:inherit;border-radius:19px;align-content:center;gap:10px;padding:16px;display:grid}.grading-kinds button b{font-size:23px}.grading-kinds button.selected{background:var(--purple-bg);border-color:var(--purple);color:var(--brand)}.grading-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;display:grid}.grading-recommendation{border-top:1px solid var(--line);padding-top:20px}.grading-recommendation summary{cursor:pointer;margin-bottom:18px;font-size:20px;font-weight:700}.grading-recommendation[open]{gap:18px;display:grid}.grading-rule{border:1px solid var(--line);border-radius:18px;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:16px 0;padding:18px;display:grid}.grading-preview,.workspace-warning,.workspace-publish{background:var(--soft);border-radius:20px;flex-wrap:wrap;align-items:center;gap:15px;padding:20px;display:flex}.grading-preview{display:block}.workspace-publish .button{margin-left:auto}.workspace-form-actions{flex-wrap:wrap;gap:12px;display:flex}.workspace-prose{white-space:pre-wrap;line-height:1.7}.grading-editor input,.grading-editor textarea,.grading-editor .soft-select-trigger{font-size:17px}.workspace-warning{border:1px solid #e6ba66}.workspace-warning b{margin-right:auto}.workspace-section input,.workspace-section textarea{max-width:100%}@media (width<=760px){.workspace-hero{flex-wrap:wrap;gap:14px;padding:22px}.workspace-hero>svg{display:none}.workspace-hero .button{justify-content:center;width:100%;margin-left:0}.workspace-home-grid{grid-template-columns:1fr}.workspace-stats{gap:8px}.workspace-stat{padding:16px 12px}.workspace-stat strong{font-size:30px}.workspace-stat span{font-size:14px}.workspace-section{padding:20px}.workspace-course-heading{flex-direction:column;align-items:flex-start;padding:20px}.workspace-course-heading .button{justify-content:center;width:100%}.workspace-pair{flex-wrap:wrap;gap:12px;padding:18px 14px}.workspace-pair-date{min-width:85px}.workspace-pair>svg{display:none}.workspace-pair-state{flex-wrap:wrap;place-items:center start;width:100%;margin-left:0;display:flex}.workspace-journal-toolbar{grid-template-columns:1fr 1fr;display:grid}.workspace-journal-toolbar input{width:100%;min-width:0}.workspace-journal-toolbar .soft-select{grid-column:1/-1;width:100%}.grading-kinds,.grading-rule{grid-template-columns:1fr 1fr}.grading-rule>label:first-child{grid-column:1/-1}.workspace-form-actions .button,.workspace-publish .button{justify-content:center;width:100%}.workspace-total{flex:1;min-width:130px}.workspace-total strong{font-size:30px}.workspace-tabs{flex-wrap:nowrap;overflow:auto}.workspace-tabs button{flex-shrink:0}}.grade-symbol-buttons{flex-wrap:wrap;gap:6px;display:flex}.grade-symbol-buttons button{border:1px solid var(--line);background:var(--panel);min-width:44px;min-height:44px;color:var(--text);border-radius:14px;font-size:20px;font-weight:800}.grade-symbol-buttons button.selected{background:var(--brand);color:#fff}.grade-bulk{flex-wrap:wrap;margin:16px 0}.checkbox-label input[type=checkbox]{width:20px;min-width:20px;height:20px}.workspace-policy{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:20px}.workspace-policy summary{cursor:pointer;font-size:20px;font-weight:700}.workspace-policy .symbol-counts{margin:16px 0}.workspace-policy p{font-size:17px;line-height:1.6}:root{color:#202321;font-synthesis:none;--bg:#f5f4f0;--panel:#fff;--text:#202321;--muted:#687064;--line:#e7e8e1;--soft:#f0f0eb;--purple:#6456bc;--purple-bg:#eeeaf9;--green:#327b61;--green-bg:#e7f2e9;--blue:#407da4;--orange:#ad7b38;--shadow:0 20px 75px #2323261a;background:#f5f4f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #8e7cda}h1,h2,h3,p{margin:0}h3{letter-spacing:-.025em}small{color:var(--muted);font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:var(--panel);z-index:30;flex-direction:column;width:245px;padding:32px 20px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{text-align:left;letter-spacing:-1.3px;align-items:center;gap:12px;margin-bottom:59px;padding-left:8px;font-size:27px;font-weight:750;display:flex}.brand-mark{color:#25372d;letter-spacing:-2px;background:#d8e3c6;border-radius:13px;justify-content:center;align-items:center;width:43px;height:43px;font-size:33px;font-weight:800;line-height:1;display:inline-flex}.brand-small{color:var(--muted);letter-spacing:.1em;margin-top:2px;font-size:12px;font-weight:500;display:block}.sidebar-label{letter-spacing:.13em;color:#9a9c96;margin:0 15px 16px;font-size:12px;font-weight:650}.sidebar nav{gap:6px;display:grid}.sidebar nav button{text-align:left;color:#72766f;border-radius:11px;align-items:center;gap:13px;min-height:48px;padding:14px 15px;font-size:14px;font-weight:500;display:flex}.sidebar nav button:hover{background:var(--soft)}.sidebar nav button.active{color:#26382d;background:#e8eddf;font-weight:650}.sidebar nav small{color:#5c675a;background:#fff9;border-radius:5px;margin-left:auto;padding:1px 5px}.semester{color:var(--muted);align-items:flex-start;gap:11px;padding:18px 14px 26px;font-size:12px;display:flex}.semester strong{color:var(--text);margin-top:5px;font-size:14px;font-weight:600;display:block}.dot{background:#b1b7a5;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot.mint{background:#7da68b}.dot.violet{background:#9684cb}.support-link{color:var(--muted);gap:12px;padding:10px 14px 24px;font-size:14px;display:flex}.user-card{border-top:1px solid var(--line);text-align:left;align-items:center;gap:10px;width:100%;padding:20px 4px 4px;display:flex}.user-card strong{letter-spacing:-.02em;font-size:14px;display:block}.user-card small{margin-top:4px;font-size:12px;display:block}.user-card>svg{margin-left:auto}.avatar{color:#6b5d91;background:#eeeaf7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:650;display:flex}.avatar.small{width:32px;height:32px;font-size:14px}.avatar.large{width:58px;height:58px;font-size:23px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:83px;padding:0 48px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:15px;font-size:14px;display:flex}.breadcrumbs strong{color:var(--text);font-weight:500}.breadcrumbs>svg{opacity:.5}.topbar-actions{align-items:center;gap:17px;display:flex}.icon-button{border-radius:9px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;display:inline-flex}.icon-button:hover{background:var(--soft)}.demo-badge{color:#7a7868;background:#ecebe2;border-radius:20px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:flex}.demo-badge>span{background:#c3a66b;border-radius:50%;width:5px;height:5px}.notification-button{position:relative}.notification-dot{border:1px solid var(--bg);background:#bc8063;border-radius:50%;width:5px;height:5px;position:absolute;top:7px;right:8px}main{max-width:1500px;margin:auto;padding:39px 48px 20px}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:550}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:5px 0 35px;display:flex}.page-heading h1{letter-spacing:-.055em;max-width:850px;margin-top:11px;font-size:50px;line-height:1.13}.title-dot{color:#8eaa76}.button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 17px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.button.subtle{background:var(--panel);border:1px solid var(--line)}.button.subtle:hover{background:var(--soft)}.button.full{width:100%}.text-link{align-items:center;gap:9px;font-size:12px;font-weight:550;display:inline-flex}.text-link:hover{color:var(--purple)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:35px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:17px;min-height:151px;padding:21px 23px;position:relative;overflow:hidden}.stat-label{color:#70756b;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;display:flex}.stat-label svg{color:#8e9487}.stat-value{letter-spacing:-.065em;z-index:1;margin-top:13px;font-size:44px;font-weight:600;line-height:1.2;position:relative}.stat-value>span{color:var(--muted);letter-spacing:-.015em;margin-left:9px;font-size:14px;font-weight:400}.stat-card .text-link{color:var(--muted);margin-top:9px}.stat-card.accent{background:#e8eddf;border-color:#e0e6d5}.stat-card.accent .stat-value{color:#31412b}.progress-track{background:#d3dbc8;border-radius:3px;height:4px;margin:12px 0 8px;overflow:hidden}.progress-track>span{background:#809865;border-radius:3px;height:100%;display:block}.stat-card small{font-size:12px}.mini-bars{align-items:flex-end;gap:4px;width:100px;height:52px;display:flex;position:absolute;bottom:20px;right:20px}.mini-bars i{background:#ded5f0;border-radius:2px;width:6px}.mini-bars i:nth-last-child(-n+3){background:#a78bc9}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:28px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:10px;margin:0 0 16px;display:flex}.section-heading h2{letter-spacing:-.04em;font-size:22px}.section-heading h3{font-size:18px}.section-heading.below{margin-top:29px}.section-heading h2 small{letter-spacing:0;margin-left:12px;font-size:14px;font-weight:400;display:inline-block}.schedule-panel,.tasks-panel,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-date{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:18px 21px;display:flex}.panel-date strong{text-transform:capitalize;font-size:14px;font-weight:550}.chip{background:var(--soft);white-space:nowrap;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:550;display:inline-flex}.chip.violet{background:var(--purple-bg);color:var(--purple)}.lesson-card{text-align:left;border-bottom:1px solid var(--line);align-items:flex-start;gap:19px;width:100%;min-height:135px;padding:24px 21px;transition:background .15s;display:flex;position:relative}.lesson-time{flex-direction:column;flex-shrink:0;gap:8px;width:48px;padding-top:4px;display:flex}.lesson-time span{color:var(--muted);font-size:12px}.lesson-content{flex:1;min-width:0}.lesson-meta{color:var(--muted);align-items:center;gap:7px;margin:0 0 9px;font-size:12px;display:flex}.lesson-meta .tiny{color:#a4a79f;margin-left:auto;font-size:12px}.lesson-content h3{max-width:95%;margin-bottom:14px;font-size:19px;font-weight:600;line-height:1.25}.lesson-bottom{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}.lesson-bottom span:last-child{background:var(--soft);border-radius:4px;align-items:center;gap:4px;padding:3px 5px;display:flex}.lesson-arrow{color:#a3a79b;position:absolute;top:27px;right:18px}.wide-link{color:#70766a;justify-content:center;align-items:center;gap:10px;width:100%;padding:17px;font-size:12px;font-weight:500;display:flex}.wide-link:hover{background:var(--soft)}.count-badge{border:1px solid var(--line);background:#e9e9e3;border-radius:7px;justify-content:center;align-items:center;width:23px;height:23px;font-size:12px;display:inline-flex}.task-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:13px;align-items:flex-start;gap:15px;width:100%;padding:22px;transition:border .15s;display:flex}.task-card:hover{border-color:#b9b2ce}.task-card.compact{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:21px 19px}.course-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:41px;height:44px;display:flex}.course-icon.violet{background:var(--purple-bg);color:#8b73b5}.course-icon.blue{color:#658aa8;background:#e8f0f7}.course-icon.mint{color:#6c977c;background:#e6efe7}.course-icon.orange{color:#b78c55;background:#f6ede1}.course-icon.large{border-radius:16px;width:64px;height:64px}.task-copy{flex:1;min-width:0}.task-copy .eyebrow{letter-spacing:.025em;white-space:nowrap;text-overflow:ellipsis;max-width:210px;font-size:12px;display:block;overflow:hidden}.task-copy h3{letter-spacing:-.025em;margin-top:6px;font-size:16px;font-weight:600;line-height:1.35}.task-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:13px;font-size:12px;display:flex}.task-foot>span{align-items:center;gap:4px;display:inline-flex}.task-card>svg{color:#969b90;flex-shrink:0}.status{color:#86897e;white-space:nowrap;background:#efefeb;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:12px;line-height:1.2;display:inline-flex}.status>span{background:currentColor;border-radius:50%;width:4px;height:4px}.status.draft,.status.sent,.status.queued{color:#ab8d50;background:#faf2e2}.note-card{background:#ede8f5;border-radius:16px;min-height:182px;margin-top:24px;padding:24px;position:relative;overflow:hidden}.note-label{letter-spacing:.1em;color:#887a99;align-items:center;gap:7px;font-size:12px;display:flex}.note-card h3{letter-spacing:-.055em;margin:16px 0 20px;font-size:29px;font-weight:550;line-height:1.1}.note-card .text-link{z-index:1;font-size:12px;position:relative}.note-illustration{color:#b3a3cd;position:absolute;top:66px;right:20px;transform:rotate(-12deg)}.course-mini-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.course-mini{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:14px;padding:18px;position:relative}.course-mini h3{max-width:90%;margin:17px 0 8px;font-size:16px;line-height:1.3}.course-mini>span{color:var(--muted);font-size:12px}.course-mini>svg{color:#a1a59b;position:absolute;top:20px;right:17px}.page-footer{border-top:1px solid var(--line);color:#9b9f94;justify-content:space-between;gap:12px;margin-top:45px;padding-top:18px;font-size:12px;display:flex}.page-footer>span:last-child{align-items:center;gap:9px;display:flex}.page-footer .dot{width:5px;height:5px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:25px;display:flex}.selects{flex-wrap:wrap;gap:10px;display:flex}.selects select{background:var(--panel);min-width:130px;max-width:230px}select,input,textarea{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;min-width:0;padding:11px 12px;font-size:14px}select{cursor:pointer}textarea{resize:vertical;white-space:pre-wrap;line-height:1.5}.segmented{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:4px;display:flex}.segmented button{color:var(--muted);border-radius:6px;padding:8px 12px;font-size:12px}.calendar-bar{border:1px solid var(--line);background:var(--panel);border-radius:15px;justify-content:space-between;align-items:center;gap:9px;margin-bottom:32px;padding:10px;display:flex}.day-button{border-radius:11px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:9px;min-width:65px;padding:12px 10px;display:flex}.day-button span{text-transform:uppercase;color:var(--muted);font-size:12px}.day-button strong{letter-spacing:-.05em;font-size:25px;font-weight:550}.day-button i{background:0 0;border-radius:50%;width:4px;height:4px}.day-button.selected{background:#e8eddf}.day-button.today:not(.selected){box-shadow:inset 0 0 0 1px #bbcaab}.schedule-columns{grid-template-columns:minmax(0,1fr) 260px;gap:26px;display:grid}.day-section{margin-bottom:30px}.schedule-info{flex-direction:column;gap:16px;display:flex}.info-box{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:23px}.info-box>svg{color:#9cae8d;margin-bottom:16px}.info-box h3{font-size:19px}.info-box p{color:var(--muted);margin:12px 0 18px;font-size:14px;line-height:1.6}.source-mini{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;margin:20px 0;padding-bottom:18px;display:flex}.source-mini strong{font-size:14px;font-weight:550}.source-mini .status{align-self:flex-start}.source-mini p{margin:0;font-size:12px}.courses-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.course-card{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:17px;padding:26px}.course-card-top{justify-content:space-between;align-items:center;display:flex}.course-card h2{max-width:90%;margin:30px 0 12px;font-size:28px;line-height:1.2}.course-card p{color:var(--muted);font-size:14px}.course-card-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:26px;padding-top:20px;font-size:12px;display:flex}.course-card:hover{border-color:#b7c2a9}.pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pills>button{color:var(--muted);border-radius:8px;padding:10px 14px;font-size:14px}.search{color:var(--muted);align-items:center;gap:8px;display:flex}.search input{background:0 0;border:0;max-width:170px;font-size:14px}.tasks-list{gap:13px;display:grid}.tasks-list .task-card{padding:25px}.tasks-list .task-copy .eyebrow{max-width:none}.tasks-list .task-copy h3{font-size:20px}.tasks-list .task-foot{font-size:12px}.journal-lesson{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:20px;width:100%;padding:24px;display:flex}.journal-lesson>div:nth-child(2){flex:1}.journal-lesson h3{font-size:18px}.journal-lesson p{color:var(--muted);margin-top:8px;font-size:12px}.request-row,.notification-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:17px;width:100%;padding:24px;display:flex}.request-row>div:nth-child(2),.notification-row>div:nth-child(2){flex:1;min-width:0}.request-row h3,.notification-row h3{font-size:17px}.request-row p,.notification-row p{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.5}.notification-row small{margin-top:7px;display:block}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:54px 20px;display:flex}.empty>svg{color:#a7af9e;margin-bottom:15px}.empty h3{font-size:18px}.empty p{color:var(--muted);margin-top:8px;font-size:14px}.source-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.source-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:25px}.source-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.source-card h2{font-size:23px}.source-card>a{color:var(--muted);align-items:center;gap:5px;margin:8px 0 22px;font-size:12px;display:inline-flex}.source-info{color:var(--muted);flex-wrap:wrap;gap:25px;font-size:12px;display:flex}.source-info strong{color:var(--text);margin-top:5px;font-size:12px;font-weight:500;display:block}.source-error{color:#a27659;word-break:break-word;background:#faf0e9;border-radius:8px;margin-top:18px;padding:12px;font-size:12px;line-height:1.5}.source-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:20px;display:flex}.worker-value{letter-spacing:-.04em;margin-top:25px;font-size:25px}.export-banner{background:#e8eddf;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:28px;display:flex}.export-banner h2{font-size:25px}.export-banner p{color:#76866b;margin-top:8px;font-size:14px}.export-row{border-bottom:1px solid var(--line);align-items:center;gap:17px;padding:22px;display:flex}.export-row>div{flex:1}.export-row h3{margin-bottom:6px;font-size:16px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:17px}th{color:var(--muted);background:var(--soft);font-size:12px;font-weight:500}td{text-overflow:ellipsis;max-width:500px;overflow:hidden}td:last-child{white-space:normal}.help-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.help-grid h2{font-size:25px}.course-intro{align-items:center;gap:20px;margin:28px 0;display:flex}.course-intro>div:nth-child(2){flex:1}.course-intro h3{font-size:20px}.course-intro p{color:var(--muted);margin-top:8px;font-size:14px}.course-tabs{margin:24px 0}.prose{padding:30px}.prose h2{font-size:27px}.prose p{white-space:pre-wrap;max-width:800px;margin:20px 0;font-size:15px;line-height:1.8}.requirement-editor{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.contact-hours{align-items:center;gap:12px;margin:25px 0;font-size:14px;display:flex}.attendance-history-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:18px 24px;font-size:12px;display:flex}.padded{padding:20px}.attendance-history-row>span:nth-child(2){color:var(--muted);flex:1}.mobile-menu,.mobile-nav{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#222b2460;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--panel);width:min(570px,100%);max-height:90vh;box-shadow:var(--shadow);border-radius:21px;outline:none;padding:30px;position:relative;overflow:auto}.modal.wide{width:min(1080px,100%)}.modal>header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.modal>header h2{max-width:850px;font-size:30px;line-height:1.16}.modal>header .eyebrow{margin-bottom:8px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:27px;display:flex}.form-grid{gap:20px;display:grid}label{flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}label input,label select,label textarea{width:100%}.form-two{grid-template-columns:1fr 1fr;gap:17px;display:grid}.task-description>p{white-space:pre-wrap;font-size:14px;line-height:1.7}.detail-grid{grid-template-columns:repeat(2,1fr);gap:23px;padding:25px 0;display:grid}.detail-grid small{margin-bottom:8px;font-size:12px;display:block}.detail-grid strong{font-size:14px;font-weight:550;display:block}.personal-result{background:var(--soft);border-radius:13px;margin:15px 0 25px;padding:24px}.personal-result>div{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.personal-result strong{letter-spacing:-.05em;font-size:39px}.personal-result strong small{font-size:17px}.personal-result p{margin:17px 0 10px;font-size:14px;line-height:1.6}.journal-table th:first-child,.journal-table td:first-child{background:var(--panel);z-index:1;min-width:180px;position:sticky;left:0}.journal-table th:first-child{background:var(--soft)}.journal-table td input{width:170px;padding:9px;font-size:12px}.journal-table td:nth-child(3) input{width:70px}.journal-table td select{max-width:180px;padding:9px;font-size:12px}.journal-table td{padding:12px}.journal-table th{padding:13px}.draft-label{color:#ab8d50;margin-top:5px;font-size:12px;display:block}.journal-footer{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding:16px 0;font-size:12px;display:flex}.publish-panel{align-items:flex-end;gap:15px;margin-top:25px;display:flex}.publish-panel label{flex:1}.inline-note{color:#9b895c;background:#f4f0e3;border-radius:8px;padding:12px 15px;font-size:12px;line-height:1.5}.inline-actions{justify-content:space-between;align-items:center;gap:15px;margin:10px 0 25px;display:flex}.attendance-summary{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.attendance-summary>div:first-child{gap:15px;font-size:14px;display:flex}.attendance-summary span{color:var(--muted)}.attendance-list{margin-top:20px}.attendance-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.student-name{flex:1;min-width:140px}.student-name strong{font-size:14px;font-weight:550;display:block}.student-name small{margin-top:5px;font-size:12px;display:block}.attendance-options{gap:7px;display:flex}.attendance-options button{border:1px solid var(--line);color:#9fa494;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.correction-inline{flex-wrap:wrap;align-items:center;gap:12px;width:100%;margin-top:8px;font-size:14px;display:flex}.correction-inline input{flex:1}.profile-intro{align-items:center;gap:15px;margin-bottom:30px;display:flex}.profile-intro h3{font-size:21px}.profile-intro p{color:var(--muted);margin-top:6px;font-size:14px}.modal-label{margin-bottom:13px}.personas{gap:9px;margin-bottom:24px;display:grid}.personas>button{border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:13px;padding:13px;display:flex}.personas>button>div:nth-child(2){flex:1}.personas strong{font-size:14px;display:block}.personas small{margin-top:5px;font-size:12px;display:block}.request-status{justify-content:space-between;margin-bottom:25px;display:flex}.messages{flex-direction:column;gap:13px;margin-bottom:25px;display:flex}.message{background:var(--soft);border-radius:13px;align-self:flex-start;max-width:90%;padding:17px}.message.own{background:#e9eedf;align-self:flex-end}.message strong{font-size:12px;font-weight:600}.message p{white-space:pre-wrap;margin:8px 0 12px;font-size:14px;line-height:1.6}.message small{font-size:12px}.checkbox-label{flex-direction:row;align-items:center;gap:10px}.checkbox-label input{width:17px;height:17px}.code-input{font-family:monospace;font-size:14px}.lesson-detail-time{letter-spacing:-.05em;margin:0 0 8px;font-size:40px;font-weight:550}.lesson-detail-time span{color:var(--muted);margin:0 14px}.toast{z-index:200;color:#fff;max-width:calc(100% - 40px);box-shadow:var(--shadow);background:#283126;border-radius:12px;align-items:center;gap:12px;padding:17px 20px;font-size:14px;display:flex;position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%)}.toast>svg{color:#b1c496;flex-shrink:0}.toast button{color:#b7c3b1;margin-left:10px;padding:0;display:flex}.error-bar{color:#94654d;background:#f7e9e1;border:1px solid #ecd2c5;border-radius:10px;align-items:center;gap:12px;margin-bottom:24px;padding:15px;font-size:14px;display:flex}.error-bar button{margin-left:auto;font-weight:650}.app-loading{flex-direction:column;justify-content:center;align-items:center;gap:25px;height:100vh;display:flex}.app-loading p{color:var(--muted);font-size:14px}.loader{border:2px solid #d9e2cf;border-top-color:#718e5c;border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(ellipse at 20% 30%, #e5e9da, transparent 60%), var(--bg);place-content:center;min-height:100vh;padding:30px;display:grid}.login-brand{align-items:center;gap:12px;margin-bottom:35px;font-size:22px;font-weight:650;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;width:min(450px,100vw - 40px);padding:37px}.login-card h1{margin:20px 0;font-size:46px;line-height:1.05}.login-card>p{color:var(--muted);margin-bottom:27px;font-size:14px}.login-card form{gap:18px;margin-bottom:14px;display:grid}.form-error{color:#ad6453;font-size:14px}html[data-theme=dark]{--bg:#171b18;--panel:#202620;--text:#eef0e9;--muted:#a0a69b;--line:#353d33;--soft:#2a3129;--purple-bg:#393247;background:var(--bg);color:var(--text)}html[data-theme=dark] .note-card{background:#383144}html[data-theme=dark] .notification-row.unread{background:#2a3326}html[data-theme=dark] .message.own{background:#33422d}html[data-theme=dark] .lesson-card:hover,html[data-theme=dark] .personas>button.selected{background:#2c3528}html[data-theme=dark] .export-banner{background:#34412c}@media (width>=1600px){main{padding-top:48px}.stat-grid{gap:24px}.dashboard-grid{grid-template-columns:1.55fr 1fr;gap:32px}.lesson-card{min-height:151px}.task-card.compact{padding:25px}.page-heading h1{font-size:59px}.stat-card{min-height:166px}}@media (width<=1200px){.sidebar{width:213px;padding-left:13px;padding-right:13px}.main-shell{width:calc(100% - 213px);margin-left:213px}main{padding:32px 28px 20px}.topbar{padding:0 28px}.dashboard-grid{grid-template-columns:1.3fr 1fr;gap:20px}.task-card.compact{gap:10px;padding:19px 14px}.task-copy .eyebrow{max-width:150px}.lesson-card{gap:12px;padding-left:17px;padding-right:17px}.lesson-content h3{font-size:17px}.page-heading h1{font-size:44px}.stat-card{padding:20px}.mini-bars{width:70px}.mini-bars i{width:4px}.stat-value>span{font-size:12px}.schedule-columns{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.day-button{min-width:45px}.stat-value{font-size:40px}.worker-value{font-size:23px}}@media (width<=1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>section:nth-child(2){grid-template-columns:1.5fr 1fr;gap:0 20px;display:grid}.dashboard-grid>section:nth-child(2) .section-heading{grid-column:1/-1}.note-card{align-self:stretch;margin-top:0}.course-mini-grid{grid-template-columns:1fr 1fr}.schedule-columns{grid-template-columns:1fr}.schedule-info{grid-template-columns:1fr 1fr;display:grid}.source-mini{margin:12px 0}.selects{gap:7px}.selects select{max-width:200px}.demo-badge{font-size:12px}.topbar-actions{gap:10px}.stat-card{padding:18px}.stat-value>span{margin:3px 0;display:block}.stat-grid{gap:12px}.mini-bars{bottom:18px}.courses-grid{gap:15px}.course-card{padding:23px}.course-card h2{font-size:23px}.source-grid{grid-template-columns:1fr}.publish-panel{flex-wrap:wrap}.page-heading .button{padding:10px 13px;font-size:12px}}@media (width<=760px){.sidebar{width:260px;padding-top:24px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:25;background:#1b25185c;position:fixed;inset:0}.main-shell{width:100%;margin-left:0}.topbar{height:67px;padding:0 20px}.mobile-menu{display:inline-flex}.breadcrumbs{gap:8px;font-size:12px}.topbar-actions{gap:5px}.demo-badge{padding:6px 8px;font-size:12px}.topbar-actions .avatar{display:none}main{padding:25px 20px 100px}.page-heading{align-items:flex-end;margin:0 0 25px}.page-heading h1{max-width:360px;margin-top:10px;font-size:39px}.page-heading .eyebrow{font-size:12px}.page-heading>.button{gap:0;min-width:39px;padding:10px;font-size:0}.page-heading>.button svg{width:18px;height:18px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:28px}.stat-card{border-radius:13px;min-height:127px;padding:14px 12px}.stat-label{font-size:12px;line-height:1.4}.stat-label svg{display:none}.stat-value{margin-top:14px;font-size:32px}.stat-value>span{margin-top:3px;font-size:12px;line-height:1.3}.mini-bars{display:none}.stat-card small{font-size:12px;line-height:1.3;display:block}.stat-card .text-link{margin-top:8px;font-size:12px}.progress-track{height:3px;margin:10px 0 6px}.section-heading h2{font-size:21px}.dashboard-grid{gap:26px}.lesson-content h3{max-width:94%;margin-bottom:12px;font-size:18px}.lesson-card{gap:16px;min-height:135px;padding:23px 17px}.lesson-bottom{gap:6px;font-size:12px}.lesson-meta{font-size:12px}.lesson-time strong{font-size:16px}.lesson-arrow{right:13px}.dashboard-grid>section:nth-child(2){display:block}.note-card{min-height:165px;margin-top:20px}.note-card h3 br{display:none}.note-card h3{max-width:70%;font-size:27px}.note-illustration{top:50px;right:28px}.course-mini-grid{gap:12px}.course-mini h3{font-size:16px}.course-mini{padding:17px}.course-mini>span{font-size:12px}.mobile-nav{background:var(--panel);border-top:1px solid var(--line);padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:24;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 25px #18251906}.mobile-nav button{color:#959d8d;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:54px;min-height:44px;font-size:12px;display:flex}.mobile-nav button.selected{color:#536e43}.mobile-nav button.selected svg{background:#e8eddf;border-radius:5px;box-shadow:0 0 0 7px #e8eddf}.page-footer{flex-wrap:wrap;margin-top:30px;font-size:12px;line-height:1.4}.toast{width:max-content;max-width:calc(100vw - 32px);padding:15px;font-size:14px;bottom:90px;left:50%}.toolbar{gap:12px;margin-bottom:20px}.selects{width:100%}.selects select{flex:1;width:calc(50% - 5px);min-width:0;max-width:none;font-size:12px}.selects select:first-child{flex-basis:100%;width:100%}.segmented{margin-left:auto}.calendar-bar{gap:2px;margin-bottom:27px;padding:7px}.calendar-bar>.icon-button{width:24px;min-width:24px;padding:2px}.day-button{border-radius:8px;gap:8px;min-width:0;padding:12px 4px}.day-button span{font-size:12px}.day-button strong{font-size:21px}.section-heading h2 small{margin:6px 0 0;font-size:12px;display:block}.schedule-info{grid-template-columns:1fr}.schedule-info .info-box:first-child{display:none}.schedule-info .info-box{padding:20px}.courses-grid{grid-template-columns:1fr}.course-card h2{margin-top:25px;font-size:27px}.course-card{padding:25px}.tasks-list .task-card{gap:12px;padding:20px 17px}.tasks-list .task-copy h3{font-size:18px}.task-copy .eyebrow{max-width:230px}.pills{gap:2px}.pills>button{padding:9px 10px;font-size:12px}.search{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%;padding:0 10px}.search input{width:100%;max-width:none}.request-row,.notification-row{gap:11px;padding:18px 15px}.request-row h3,.notification-row h3{font-size:15px}.request-row p,.request-row>.status{font-size:12px}.journal-lesson{flex-wrap:wrap;gap:13px;padding:19px 15px}.journal-lesson h3{font-size:16px}.journal-lesson .chip{margin-left:auto}.journal-lesson>svg{display:none}.modal-backdrop{align-items:center;padding:14px}.modal{border-radius:17px;max-height:92dvh;padding:23px 19px}.modal>header h2{font-size:26px}.modal>header .eyebrow{max-width:270px;font-size:12px}.modal .icon-button{min-width:32px;padding:5px}.modal-actions{gap:8px;margin-top:23px}.modal-actions .button{flex:1;font-size:12px}.detail-grid{gap:19px}.detail-grid strong,.task-description>p{font-size:14px}.form-two{grid-template-columns:1fr}.form-grid{gap:17px}.attendance-row{gap:9px}.attendance-row .avatar{display:none}.student-name{min-width:125px}.student-name strong{font-size:14px}.attendance-options button{width:33px;height:35px}.attendance-summary{align-items:flex-start;gap:10px}.attendance-summary>div:first-child{flex-direction:column;gap:5px}.attendance-summary .chip,.attendance-row>.status{font-size:12px}.journal-footer{flex-wrap:wrap;gap:12px}.journal-footer .button{font-size:12px}.publish-panel{flex-direction:column;align-items:stretch}.publish-panel label{width:100%}.inline-actions{flex-wrap:wrap}.inline-actions .button{width:100%}.source-card h2{font-size:24px}.export-banner{flex-wrap:wrap;padding:23px}.export-banner .button{width:100%}.export-row{flex-wrap:wrap;gap:11px;padding:17px}.export-row h3{font-size:14px}.export-row>.button{margin-left:auto;font-size:12px}.scroll-pills{flex-wrap:nowrap;max-width:calc(100vw - 90px);overflow:auto}.scroll-pills button{flex-shrink:0}.worker-value{letter-spacing:-.03em;margin-top:20px;font-size:17px}.help-grid{grid-template-columns:1fr}.course-intro{flex-wrap:wrap;gap:13px}.course-intro h3{font-size:18px}.course-intro p{font-size:12px}.course-intro .button{margin-left:78px}.prose{padding:23px}.prose h2{font-size:24px}.prose p{font-size:14px}.error-bar{gap:8px;font-size:12px}.error-bar>svg{flex-shrink:0}.error-bar button{font-size:12px}.login-card{padding:28px}.login-card h1{font-size:41px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.stat-label{font-size:14px}.sidebar nav button{font-size:15px}.lesson-meta,.lesson-bottom,.task-foot{font-size:14px}.task-card.compact .task-copy h3{font-size:18px}.status{font-size:12px}.source-info,.source-info strong,.source-error{font-size:14px}.page-footer{font-size:12px}@media (width<=760px){.stat-label,.lesson-meta,.lesson-bottom,.task-foot,.status{font-size:12px}.task-card.compact .task-copy h3{font-size:18px}.page-footer{font-size:12px}}.stat-illustration{color:#d5cce5;position:absolute;bottom:15px;right:20px}@media (width<=760px){.stat-illustration{display:none}}.discard-confirm{padding:15px 0}.discard-confirm h3{font-size:23px}.discard-confirm p{color:var(--muted);margin-top:15px;font-size:14px}.structure-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.result-score{font-size:28px;font-weight:600}.result-score small{font-size:14px}@media (width<=900px){.structure-grid{grid-template-columns:1fr}}.task-settings,.record-history{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:16px}.task-settings summary,.record-history summary{cursor:pointer;font-size:14px;font-weight:650}.task-settings .form-grid{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.record-history{padding:8px;font-size:12px}.record-history>div{border-bottom:1px solid var(--line);padding:10px 0}[hidden]{display:none!important}:root{--brand:#4d2e7b;--brand-strong:#3b205f;--purple:#6226a6;--purple-bg:#f0eaf8;--bg:#f6f5f8;--panel:#fff;--text:#25212b;--muted:#6b6374;--line:#e6e0ec;--soft:#f3eff7;--green:#237650;--green-bg:#eaf5ee;--blue:#21638d;--orange:#fca62d;--shadow:0 16px 64px #29173b26;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:90px;font-family:Arial,Helvetica,sans-serif;line-height:1.5}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);min-width:320px}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:#6226a61a}button:disabled{opacity:.55}:focus-visible{outline:3px solid var(--purple);outline-offset:3px}::selection{color:var(--text);background:#fca62d66}h1,h2,h3{letter-spacing:-.025em;font-weight:700}svg{flex-shrink:0}.skip-link{z-index:300;background:var(--brand);color:#fff;border-radius:4px;padding:12px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.app-shell,.main-shell,main,section,.structure-grid>*,.dashboard-grid>*{min-width:0}.sidebar{border-top:5px solid var(--brand);width:264px;padding:28px 18px 16px}.brand{letter-spacing:0;min-height:70px;margin-bottom:38px;padding:0 10px}.brand-wordmark{color:var(--brand);letter-spacing:-.035em;font-size:29px;font-weight:700;line-height:1.15}.brand-wordmark>small{letter-spacing:.055em;text-transform:uppercase;color:var(--muted);margin-top:7px;font-size:10px;font-weight:400;line-height:1.4;display:block}.brand-mark{background:var(--brand);color:#fff;letter-spacing:-.06em;border-radius:4px;width:47px;height:47px;font:700 18px Arial,sans-serif}.brand-small{letter-spacing:.04em;color:var(--muted);margin-top:7px;font-size:12px}.sidebar-label{color:var(--muted);letter-spacing:.1em;font-size:11px;font-weight:700}.sidebar nav{gap:4px}.sidebar nav button{color:var(--muted);border-radius:5px;min-height:50px;padding:13px 16px;font-size:16px}.sidebar nav button.active{background:var(--brand);color:#fff;box-shadow:inset 3px 0 var(--orange);font-weight:700}.sidebar nav button.active small{color:var(--brand);background:#fff}.sidebar nav button:hover:not(.active){color:var(--brand);background:var(--soft)}.sidebar-bottom{padding-top:22px}.semester{padding-bottom:18px}.dot.mint,.dot.violet{background:var(--purple)}.user-card{padding-top:16px}.user-card strong{font-size:15px}.avatar{background:var(--purple-bg);color:var(--brand);font-weight:700}.main-shell{width:calc(100% - 264px);margin-left:264px}.topbar{background:var(--panel);border-top:5px solid var(--brand);height:82px;padding:0 40px}.breadcrumbs{gap:12px;min-width:0;font-size:14px}.breadcrumbs strong{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.topbar-actions{flex-shrink:0;gap:8px}.demo-badge{color:#7b4a09;background:#fff3de;border-radius:4px;font-size:12px;font-weight:700}.demo-badge>span,.notification-dot{background:var(--orange)}.icon-button{border-radius:5px;min-width:44px;min-height:44px}.icon-button:hover{color:var(--purple)}main{max-width:1600px;padding:36px 40px 24px}.page-heading{align-items:flex-end;margin:0 0 32px}.page-heading h1{letter-spacing:-.035em;overflow-wrap:anywhere;margin-top:9px;font-size:clamp(36px,3.7vw,58px);line-height:1.1}.eyebrow{color:var(--brand);letter-spacing:.09em;font-size:12px;font-weight:700}.title-dot{display:none}.button{border-radius:5px;min-height:46px;padding:12px 18px;font-size:15px;font-weight:700;line-height:1.3}.button.primary{color:#fff;background:var(--brand)}.button.primary:hover{background:var(--brand-strong)}.button.subtle{color:var(--brand);background:var(--panel);border-color:var(--line)}.button.subtle:hover{background:var(--purple-bg);border-color:var(--purple)}.text-link,.wide-link{color:var(--brand);font-size:14px;font-weight:700}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.stat-grid{gap:18px;margin-bottom:32px}.stat-card{border-radius:8px;min-height:157px;padding:22px 24px}.stat-label,.stat-label svg{color:var(--muted);font-weight:700}.stat-value{letter-spacing:-.04em;font-size:48px;font-weight:700}.stat-card.accent{color:#fff;background:var(--brand);border-color:var(--brand)}.stat-card.accent small{opacity:.85}.progress-track{background:#ffffff30;height:5px}.progress-track>span{background:var(--orange)}.stat-illustration{color:#e4daef}.section-heading h2{letter-spacing:-.025em;font-size:25px;font-weight:700}.section-heading h2 small{color:var(--muted);font-size:14px}.panel,.schedule-panel,.tasks-panel,.course-card,.task-card,.source-card,.info-box{border-color:var(--line);border-radius:8px}.panel-date{padding:17px 22px}.panel-date strong{font-size:15px;font-weight:700}.lesson-card{gap:24px;min-height:145px;padding:24px}.lesson-card:hover{background:var(--soft)}.lesson-card:last-child{border-bottom:0}.lesson-time{gap:6px;width:53px}.lesson-time strong{letter-spacing:-.025em;font-size:18px;font-weight:700}.lesson-time span{font-size:14px}.lesson-meta{font-size:13px;line-height:1.5}.lesson-meta .tiny{color:var(--muted)}.lesson-content h3{overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.28}.lesson-bottom{gap:10px;font-size:14px;line-height:1.5}.lesson-bottom span:last-child{background:var(--purple-bg);color:var(--brand);border-radius:3px;padding:3px 7px}.lesson-arrow{color:var(--brand);top:26px;right:18px}.chip.violet,.count-badge{background:var(--purple-bg);color:var(--brand)}.course-icon{border-radius:5px}.course-icon.violet{color:var(--purple)}.note-card{background:var(--purple-bg);color:var(--text);border-radius:8px}.note-card .text-link{color:var(--brand)}.course-card h2,.task-copy h3{font-weight:700}.course-card:hover,.task-card:hover{border-color:var(--purple);box-shadow:0 4px 18px #4d2e7b0a}.task-card.compact:hover{box-shadow:none;background:var(--soft)}.task-foot{font-size:14px}.toolbar{align-items:stretch;gap:16px}.selects{flex-wrap:wrap;flex:1;gap:10px;min-width:0;display:flex}.selects select{flex:160px;min-width:150px;max-width:300px}select,input,textarea{border-radius:5px;min-height:46px;font-size:16px;line-height:1.4}select{text-overflow:ellipsis;padding-right:30px}textarea{resize:vertical;min-height:110px}input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:24px;accent-color:var(--brand)}label{color:var(--text);font-size:15px;font-weight:700}.segmented{border-radius:5px;align-items:center;padding:3px}.segmented button{border-radius:3px;min-height:40px;padding:8px 18px;font-size:14px;font-weight:700}.segmented button.selected{color:#fff;background:var(--brand)}.calendar-caption{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:4px 0 12px;display:flex}.calendar-caption strong{text-transform:capitalize;font-size:20px}.calendar-caption .text-link{min-height:44px;padding:8px 0 8px 14px}.calendar-bar{border-radius:8px;gap:4px;margin-bottom:28px;padding:8px}.day-button{border-radius:5px;gap:6px;min-width:0;min-height:88px;padding:13px 6px}.day-button strong{font-size:27px;font-weight:700}.day-button.selected{background:var(--brand);color:#fff}.day-button.selected span{color:#fff}.day-button.selected i{background:var(--orange)}.day-button .has-lessons{background:var(--purple)}.day-button.today:not(.selected){box-shadow:inset 0 0 0 2px var(--purple);color:var(--brand)}.schedule-info{min-width:0}.info-box{padding:24px}.info-box>svg{color:var(--brand)}.info-box p,.source-mini p{font-size:14px;line-height:1.6}.source-mini{overflow-wrap:anywhere}.source-card>a{overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:14px}.source-card-top{align-items:flex-start;gap:12px}.source-info,.source-error,.worker-value{overflow-wrap:anywhere}.source-error,.error-bar{color:#9e312b;background:#fff0ee;border-color:#efc8c3}.source-error{border-radius:5px}.notification-row.unread{background:var(--purple-bg)}.notification-row h3,.request-row h3{font-size:18px;font-weight:700}.message{border-radius:8px}.message.own{background:var(--purple-bg)}.personas>button.selected{background:var(--purple-bg);border-color:var(--purple)}.export-banner{background:var(--purple-bg);border-color:var(--line);border-radius:8px}.export-banner p{color:var(--muted)}.table-wrap{overscroll-behavior-x:contain;scrollbar-color:var(--purple) var(--soft);max-width:100%}th{color:var(--brand);font-size:13px;font-weight:700}td{font-size:15px}.journal-table td input{font-size:16px}.attendance-options{gap:8px}.attendance-options button{min-width:46px;min-height:46px;color:var(--muted);border-radius:5px}.attendance-options .selected.present{color:#17613d;background:#e5f4eb;border-color:#82b699}.attendance-options .selected.absent{color:#a32c25;background:#fff0ee;border-color:#dca69f}.attendance-options .selected.unknown{color:var(--muted);background:var(--soft)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#21133180}.modal{overscroll-behavior:contain;border-radius:10px;max-height:calc(100dvh - 64px);padding:30px}.modal>header h2{overflow-wrap:anywhere;font-size:30px;font-weight:700}.modal>header .icon-button{flex-shrink:0}.detail-grid>div{overflow-wrap:anywhere;min-width:0}.personal-result{background:var(--purple-bg);border-radius:8px}.lesson-detail-time{color:var(--brand);font-weight:700}.toast{color:#fff;background:var(--brand-strong);border-radius:6px}.toast>svg{color:var(--orange)}.toast button{color:#fff;justify-content:center;align-items:center;min-width:32px;min-height:32px}.login-page{background:var(--bg);border-top:6px solid var(--brand)}.login-card{border-radius:8px;box-shadow:0 12px 50px #4d2e7b0a}.login-card h1{font-size:46px}.loader{border-color:var(--line);border-top-color:var(--purple)}.page-footer{color:var(--muted);gap:16px;line-height:1.6}.page-footer .dot{background:var(--purple)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#c9a7f2;--brand-strong:#4d2e7b;--purple:#c9a7f2;--purple-bg:#34263f;--bg:#17131d;--panel:#211b29;--text:#f5f1f9;--muted:#b6acbf;--line:#3c3247;--soft:#2b2335;--green:#8ad1ab;--green-bg:#20392c;background:var(--bg);color:var(--text)}html[data-theme=dark] .sidebar nav button.active,html[data-theme=dark] .day-button.selected,html[data-theme=dark] .stat-card.accent{color:#fff;background:#4d2e7b;border-color:#745094}html[data-theme=dark] .button.primary,html[data-theme=dark] .segmented button.selected,html[data-theme=dark] .brand-mark{color:#fff;background:#6226a6}html[data-theme=dark] .button.primary:hover{background:#7640b6}html[data-theme=dark] .note-card,html[data-theme=dark] .notification-row.unread,html[data-theme=dark] .message.own,html[data-theme=dark] .personas>button.selected,html[data-theme=dark] .export-banner{background:var(--purple-bg)}html[data-theme=dark] .lesson-card:hover{background:var(--soft)}html[data-theme=dark] .demo-badge{color:#ffd18c;background:#3d3020}html[data-theme=dark] .error-bar,html[data-theme=dark] .source-error{color:#ffb8ae;background:#3e2429;border-color:#6e3b43}html[data-theme=dark] .attendance-options .selected.present{color:#a2e0bb;background:#233e2f;border-color:#4d8060}html[data-theme=dark] .attendance-options .selected.absent{color:#ffbeb6;background:#45282b;border-color:#975b60}@media (width<=1200px) and (width>=761px){.sidebar{width:228px;padding-inline:12px}.main-shell{width:calc(100% - 228px);margin-left:228px}main,.topbar{padding-inline:28px}.brand{padding-inline:6px}.brand-wordmark{font-size:26px}.brand-wordmark>small{font-size:9px}.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){:root{scroll-padding-top:80px}.sidebar{overscroll-behavior:contain;width:min(310px,100vw - 40px);height:100dvh;padding:24px 16px;padding-bottom:max(24px, env(safe-area-inset-bottom));overflow-y:auto}.sidebar .brand{margin-bottom:28px}.sidebar-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#21133180}.main-shell{width:100%;margin-left:0}.topbar{z-index:23;border-top-width:4px;height:70px;padding:0 12px;position:sticky;top:0}.breadcrumbs{flex:1;gap:6px}.breadcrumbs>span,.breadcrumbs>svg{display:none}.breadcrumbs strong{color:var(--brand);font-size:17px}.topbar-actions{gap:0}.topbar-actions .avatar{min-width:40px;min-height:40px;margin-left:3px;display:flex}.demo-badge{display:none}.mobile-demo-label{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:400;display:block}main{padding:26px 16px calc(112px + env(safe-area-inset-bottom))}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:26px}.page-heading h1{max-width:100%;margin-top:7px;font-size:clamp(32px,8.5vw,42px)}.page-heading .eyebrow{font-size:11px}.page-heading>.button{gap:8px;min-height:44px;padding:11px 14px;font-size:14px}.page-heading>.button svg{width:18px;height:18px}.button{white-space:normal;text-align:center;font-size:15px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.stat-card{border-radius:8px;min-height:145px;padding:18px}.stat-card.accent{grid-column:1/-1;min-height:138px}.stat-label{font-size:14px}.stat-label svg{width:18px;display:block}.stat-value{margin-top:12px;font-size:40px}.stat-value>span{font-size:13px}.stat-card.accent .stat-value>span{margin-left:9px;display:inline}.stat-card small,.stat-card .text-link{font-size:13px}.section-heading{flex-wrap:wrap;gap:10px}.section-heading h2{font-size:24px}.section-heading h2 small{margin:5px 0 0;font-size:14px;display:block}.lesson-card{gap:14px;min-height:150px;padding:20px 16px}.lesson-time{width:50px}.lesson-time strong{font-size:17px}.lesson-time span{font-size:13px}.lesson-content h3{max-width:100%;margin-bottom:12px;padding-right:12px;font-size:21px;line-height:1.3}.lesson-meta,.lesson-bottom{font-size:13px}.lesson-meta{flex-wrap:wrap;gap:5px}.lesson-meta .tiny{margin-left:0}.lesson-bottom{flex-direction:column;align-items:flex-start;gap:8px}.lesson-arrow{width:14px;top:22px;right:10px}.toolbar{gap:12px;margin-bottom:18px}.selects{flex-basis:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;display:grid}.selects select{width:100%;min-width:0;max-width:none;padding:12px 30px 12px 12px;font-size:16px}.selects select:first-child{grid-column:1/-1}.segmented{width:100%;margin-left:0}.segmented button{flex:1;min-height:42px;font-size:15px}.calendar-caption strong{font-size:19px}.calendar-bar{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:26px;padding:8px 6px;display:grid;position:relative}.calendar-bar>.icon-button{width:44px;min-width:44px;height:44px;padding:10px;position:absolute;top:-57px}.calendar-bar>.icon-button:first-child{right:44px}.calendar-bar>.icon-button:last-child{right:0}.calendar-caption{min-height:44px;padding-right:95px}.calendar-caption .text-link{min-height:44px;padding-left:0}.day-button{gap:5px;min-width:0;min-height:82px;padding:9px 2px}.day-button span{font-size:11px}.day-button strong{font-size:23px}.schedule-info{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.info-box{padding:22px}.source-card{padding:20px}.source-card h2{font-size:23px}.source-card>a{font-size:13px}.source-card-top,.source-info{flex-wrap:wrap}.worker-value{font-size:21px}.courses-grid,.course-mini-grid,.help-grid,.structure-grid{grid-template-columns:minmax(0,1fr)}.course-card{padding:24px}.task-card,.task-card.compact{gap:12px;padding:20px 16px}.task-card.compact .task-copy h3,.task-copy h3{font-size:19px}.task-foot{flex-wrap:wrap;gap:8px;font-size:13px}.note-card h3{font-size:28px}.request-row,.notification-row{flex-wrap:wrap;padding:20px 16px}.request-row h3,.notification-row h3{font-size:17px}.request-row p,.notification-row p{font-size:14px}.mobile-nav{padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:2px;display:flex;box-shadow:0 -4px 20px #4d2e7b08}.mobile-nav button{min-width:0;min-height:58px;color:var(--muted);border-radius:5px;flex:1;gap:5px;padding:8px 2px;font-size:11px;line-height:1.3}.mobile-nav button.selected{color:var(--brand);background:var(--purple-bg);font-weight:700}.mobile-nav button.selected svg{box-shadow:none;background:0 0;border-radius:0}.mobile-nav svg{width:22px;height:22px}.modal-backdrop{align-items:flex-end;padding:16px 0 0}.modal,.modal.wide{width:100%;max-height:calc(100dvh - 16px);padding:0 20px calc(24px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0}.modal>header{background:var(--panel);border-bottom:1px solid var(--line);z-index:4;margin:0 -20px 22px;padding:24px 20px 18px;position:sticky;top:0}.modal>header h2{font-size:27px;line-height:1.2}.modal-actions{gap:10px}.modal-actions>.button{flex:140px;min-height:48px}.form-two{grid-template-columns:minmax(0,1fr)}label{font-size:15px}input,select,textarea,.journal-table td input{font-size:16px}.detail-grid{grid-template-columns:minmax(0,1fr);gap:18px}.detail-grid strong{font-size:16px}.lesson-detail-time{font-size:34px}.lesson-detail-time span{margin-inline:6px}.attendance-summary{flex-wrap:wrap}.attendance-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 0;display:grid}.attendance-row .avatar{display:none}.attendance-row .attendance-options{justify-content:flex-start}.attendance-options button{width:48px;height:48px}.table-wrap{border-radius:8px;width:100%}th,td{padding:15px 12px}.journal-table th:first-child,.journal-table td:first-child{z-index:1;white-space:normal;background:var(--panel);min-width:145px;max-width:180px;box-shadow:2px 0 var(--line);position:sticky;left:0}.journal-table th:first-child{background:var(--soft)}.journal-table td input{width:160px;min-height:46px}.search{width:100%}.search input{width:100%;max-width:none;font-size:16px}.publish-panel,.export-banner{gap:16px;padding:20px}.publish-panel .button,.export-banner .button{width:100%;margin:0}.course-intro .button{width:100%;margin-left:0}.personas>button{min-height:76px}.personas strong{font-size:16px}.personas small{font-size:13px}.toast{bottom:calc(92px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px);padding:14px 16px;font-size:14px;left:50%}.page-footer{flex-direction:column;align-items:flex-start;padding-top:26px}.page-footer>span:last-child{flex-wrap:wrap;line-height:1.6}.login-page{padding:24px 16px}.login-card{width:min(450px,100vw - 32px);padding:26px 22px}.login-card h1{font-size:38px}}@media (width>=761px){.mobile-demo-label{display:none}}@media (width<=359px){main{padding-inline:12px}.topbar{padding-inline:8px}.topbar-actions .avatar{display:none}.lesson-content h3{font-size:19px}.lesson-card{gap:10px;padding-inline:12px}.stat-card{padding:15px}.calendar-caption{flex-wrap:wrap;gap:0}.mobile-nav button{font-size:10px}}.sidebar-brand-row{justify-content:space-between;align-items:flex-start;display:flex}.sidebar-brand-row .brand{min-width:0}.pills{gap:6px}.pills>button{border-radius:5px;min-height:44px;font-size:15px}.pills>button.selected{background:var(--brand);color:#fff}.journal-table td select{min-height:46px;font-size:16px}.status{color:var(--muted);background:var(--soft);font-weight:700;line-height:1.4}.status.accepted,.status.succeeded,.status.current,.status.resolved{color:#216642;background:#e8f4ed}.status.received,.status.running,.status.in_review,.status.published,.status.syncing{color:#4d2e7b;background:#f0eaf8}.status.revision_required,.status.failed,.status.error{color:#a02e26;background:#fff0ee}.status.draft,.status.sent,.status.queued,.inline-note{color:#79500c;background:#fff3dc}.draft-label{color:#79500c}.source-actions{flex-wrap:wrap}.student-name strong{font-size:16px;font-weight:700}html[data-theme=dark] .pills>button.selected{color:#fff;background:#6226a6}html[data-theme=dark] .status{filter:none}html[data-theme=dark] .status.accepted,html[data-theme=dark] .status.succeeded,html[data-theme=dark] .status.current,html[data-theme=dark] .status.resolved{color:#a2e0bb;background:#233e2f}html[data-theme=dark] .status.received,html[data-theme=dark] .status.running,html[data-theme=dark] .status.in_review,html[data-theme=dark] .status.published,html[data-theme=dark] .status.syncing{color:#d7b9ff;background:#34263f}html[data-theme=dark] .status.revision_required,html[data-theme=dark] .status.failed,html[data-theme=dark] .status.error{color:#ffb8ae;background:#3e2429}html[data-theme=dark] .status.draft,html[data-theme=dark] .status.sent,html[data-theme=dark] .status.queued,html[data-theme=dark] .inline-note{color:#ffd18c;background:#3d3020}html[data-theme=dark] .draft-label{color:#ffd18c}@media (width<=760px){.sidebar-brand-row .brand{margin-bottom:28px}.sidebar-brand-row>.icon-button{margin-top:-4px}.pills{width:100%}.pills>button{padding:11px 13px;font-size:14px}.journal-footer{flex-wrap:wrap;font-size:13px}.inline-actions{flex-wrap:wrap;gap:12px}}.university-brand{max-width:220px;display:block}.university-logo{object-fit:contain;object-position:left center;width:100%;max-width:220px;height:65px;display:none}.university-logo.loaded{display:block}html[data-theme=dark] .university-logo.loaded{background:#fff;border-radius:4px;padding:7px}.app-loading .university-brand{text-align:center;min-width:220px}.checkbox-label{min-height:44px}:root{--studkamp-soft-ui:1;--bg:#f7f5fa;--line:#eae4f1;--soft:#f3eef9;--purple-bg:#f0e9f8;--shadow:0 20px 80px #3920501c}.sidebar{border-right-color:var(--line)}.sidebar nav button{border-radius:15px}.sidebar nav button.active{background:var(--purple-bg);color:var(--brand);box-shadow:none}.sidebar nav button.active small{background:var(--panel);color:var(--brand)}.brand{border-radius:16px}.topbar{border-bottom-color:var(--line)}.icon-button{border-radius:50%}.demo-badge{border-radius:20px}.button{border-radius:15px}.button.primary{box-shadow:0 5px 16px #4d2e7b15}.button.subtle{border-color:var(--line)}.page-heading>.button{font-size:15px}.stat-card,.panel,.tasks-panel,.course-card,.course-mini,.source-card,.info-box,.prose{border-radius:22px;box-shadow:0 3px 18px #4d2e7b04}.stat-card{border-color:var(--line)}.stat-card.accent{background:var(--purple-bg);border-color:var(--line);color:var(--brand)}.stat-card.accent .stat-value,.stat-card.accent .stat-label,.stat-card.accent .stat-label svg,.stat-card.accent .stat-value>span,.stat-card.accent small{color:var(--brand)}.stat-card.accent .progress-track{background:#4d2e7b14}.stat-card.accent .progress-track>span{background:var(--purple)}.schedule-panel{background:0 0;border:0;border-radius:0;gap:12px;display:grid;overflow:visible}.schedule-panel>.panel-date{border:0;padding:8px 3px}.schedule-panel>.lesson-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:0 3px 18px #4d2e7b04}.schedule-panel>.lesson-card:hover{background:var(--soft);border-color:#d8cce7}.schedule-panel>.wide-link{background:var(--panel);border-radius:16px}.task-card,.note-card,.export-banner,.personal-result{border-radius:20px}.task-card.compact{border-radius:0}.course-icon,.course-icon.large{border-radius:14px}.course-icon.violet,.course-icon.blue,.course-icon.mint,.course-icon.orange{background:var(--purple-bg);color:var(--brand)}.chip,.status,.count-badge{border-radius:10px}.lesson-bottom span:last-child{border-radius:8px;padding:4px 8px}select,input,textarea{border-radius:14px}input[type=checkbox],input[type=radio]{border-radius:6px}.segmented{border-radius:16px;padding:4px}.segmented button{border-radius:12px}.calendar-bar{border-color:var(--line);border-radius:24px;padding:10px}.day-button{border-radius:17px}.pills>button{border-radius:14px}.pills>button.selected{color:var(--brand);background:var(--purple-bg)}.week-indicator{color:var(--brand);background:var(--purple-bg);border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:7px 12px;font-size:14px;font-weight:700;display:inline-flex}.week-indicator>span{color:var(--muted);font-size:13px;font-weight:400}.source-error,.error-bar,.inline-note,.task-settings,.record-history{border-radius:14px}.modal{border-radius:28px}.modal-actions>.button{border-radius:15px}.message,.personas>button{border-radius:18px}.attendance-options button{border-radius:14px}.toast{border-radius:18px}.login-card{border-radius:28px}.loader{border-radius:50%}.university-logo{max-width:220px;height:65px}html[data-theme=dark]{--bg:#18131f;--panel:#241d2e;--line:#3c314a;--soft:#30263b;--purple-bg:#38294a}html[data-theme=dark] .sidebar nav button.active{color:var(--brand);background:var(--purple-bg);border-color:var(--line)}html[data-theme=dark] .stat-card.accent{background:var(--purple-bg);border-color:var(--line)}html[data-theme=dark] .stat-card.accent .stat-value{color:var(--brand)}html[data-theme=dark] .stat-card.accent .progress-track{background:#c9a7f233}html[data-theme=dark] .pills>button.selected{background:var(--purple-bg);color:var(--brand)}html[data-theme=dark] .university-logo.loaded{border-radius:12px}@media (width<=760px){.sidebar nav button{border-radius:16px}.stat-card,.course-card,.course-mini,.source-card,.info-box,.panel,.tasks-panel{border-radius:20px}.calendar-bar{border-radius:20px;padding:8px 6px}.day-button{border-radius:13px}.calendar-bar>.icon-button{border-radius:50%}.schedule-panel>.lesson-card{border-radius:20px}.schedule-panel>.lesson-card:hover{background:var(--panel)}.mobile-nav{border-radius:24px 24px 0 0;box-shadow:0 -4px 24px #4d2e7b08}.mobile-nav button{border-radius:15px}.modal,.modal.wide,.modal>header{border-radius:28px 28px 0 0}.table-wrap{border-radius:20px}.button,.modal-actions>.button{border-radius:15px}.week-indicator{padding:7px 11px;font-size:13px}}.lesson-meta{flex-wrap:wrap}:root{--studkamp-simple-ui:1}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-date{color:var(--muted);margin-bottom:10px;font-size:16px}.lesson-item{background:var(--panel);border:1px solid var(--line);border-radius:22px;min-width:0;overflow:hidden}.lesson-item>.lesson-card{border-radius:inherit;border:0;gap:20px;min-height:112px;padding:22px}.lesson-item>.lesson-card:hover{background:var(--soft)}.lesson-item .lesson-time{gap:8px;width:58px;padding-top:0}.lesson-item .lesson-time strong{letter-spacing:-.02em;font-size:21px}.lesson-item .lesson-time span{font-size:15px}.lesson-item .lesson-content h3{overflow-wrap:anywhere;max-width:none;margin:0 16px 13px 0;font-size:24px;line-height:1.28}.lesson-item .lesson-meta{margin:0 18px 10px 0;font-size:15px}.lesson-place{color:var(--muted);align-items:center;gap:7px;font-size:16px;line-height:1.5;display:flex}.lesson-place svg{flex:none}.lesson-item .lesson-arrow{top:26px;right:18px}.lesson-online{background:var(--purple-bg);min-height:48px;color:var(--brand);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:16px;font-weight:700;display:flex}.lesson-online:hover{text-decoration:underline}.schedule-columns{grid-template-columns:minmax(0,1fr);gap:8px}.schedule-info{flex-flow:wrap;justify-content:space-between;align-items:flex-start;gap:16px}.schedule-timezone{color:var(--muted);align-items:center;gap:7px;padding:14px 0;font-size:15px;display:inline-flex}.source-disclosure{border:1px solid var(--line);background:var(--panel);border-radius:18px;flex:300px;min-width:0;max-width:720px}.source-disclosure>summary,.source-diagnostic>summary{cursor:pointer;align-items:center;gap:10px;min-height:48px;padding:13px 16px;font-size:16px;font-weight:700;list-style:none;display:flex}.source-disclosure>summary::-webkit-details-marker{display:none}.source-diagnostic>summary::-webkit-details-marker{display:none}.source-disclosure>summary>span{flex:1}.source-disclosure>summary>svg:last-child,.source-diagnostic>summary>svg{flex:none;margin-left:auto;transition:transform .15s}.source-disclosure[open]>summary>svg:last-child,.source-diagnostic[open]>summary>svg{transform:rotate(180deg)}.source-disclosure.has-warning>summary{color:#9b3c22}html[data-theme=dark] .source-disclosure.has-warning>summary{color:#ffb68f}.source-disclosure-content{padding:0 18px 18px}.source-disclosure-content .source-mini{gap:10px;margin-top:15px}.source-disclosure-content .source-mini strong,.source-disclosure-content .source-mini>span,.source-disclosure-content p{overflow-wrap:anywhere;font-size:15px;line-height:1.5}.source-diagnostic{margin-top:16px}.source-diagnostic>summary{color:var(--muted);padding-inline:0}.source-diagnostic p{overflow-wrap:anywhere;font-size:15px;line-height:1.5}.source-info,.source-info strong{font-size:15px}.source-info{margin-top:14px}.source-actions .button{font-size:16px}.schedule-primary{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.schedule-primary>select{flex:1;min-width:120px;max-width:340px;font-size:17px;font-weight:700}.filter-toggle{white-space:nowrap}.filter-active{background:var(--brand);border-radius:50%;width:9px;height:9px}.schedule-filter-panel{border:1px solid var(--line);background:var(--panel);border-radius:20px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:-4px 0 20px;padding:18px;display:flex}.schedule-filter-panel[hidden]{display:none}.schedule-filter-panel>label{flex:230px;min-width:0}.schedule-filter-panel select{width:100%}.schedule-filter-panel>.text-link{min-height:44px;font-size:16px}.active-filter{background:var(--purple-bg);min-height:44px;color:var(--brand);text-align:left;border-radius:14px;align-items:center;gap:8px;max-width:100%;margin-bottom:16px;padding:10px 14px;font-size:16px;display:inline-flex}.active-filter>svg{flex-shrink:0}.task-copy h3,.tasks-list .task-copy h3,.task-card.compact .task-copy h3{margin-top:0;font-size:22px;line-height:1.3}.task-course{color:var(--muted);overflow-wrap:anywhere;margin-bottom:8px;font-size:15px;line-height:1.4;display:block}.task-foot,.task-foot .status{font-size:15px;line-height:1.5}.status,.chip{font-size:14px}.task-card{padding:22px}.task-card.compact{padding-block:22px}.wide-link,.text-link{font-size:16px}.attendance-key{gap:20px;margin-top:14px;display:flex}.attendance-key>span{align-items:center;gap:6px;font-size:16px;display:inline-flex}.attendance-key>span:first-child svg{color:#2e7756}.attendance-key>span:last-child svg{color:#a0453b}html[data-theme=dark] .attendance-key>span:first-child svg{color:#8ed7ac}html[data-theme=dark] .attendance-key>span:last-child svg{color:#ffb4a8}.detail-grid small,.personal-result>small,.course-intro p,.course-card p,.course-card-bottom,.request-row p,.notification-row p,.notification-row small{font-size:15px;line-height:1.5}.course-card h2{font-size:25px}.course-mini h3{font-size:21px}.personal-result .eyebrow{letter-spacing:0;text-transform:none;font-size:16px}.task-description .detail-grid{gap:20px}.mobile-nav button{font-size:13px}.source-disclosure summary:focus-visible,.source-diagnostic summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:12px}@media (prefers-reduced-motion:reduce){.source-disclosure>summary>svg:last-child,.source-diagnostic>summary>svg{transition:none}}@media (width<=760px){.schedule-toolbar{align-items:stretch;gap:12px}.schedule-primary{flex-basis:100%;width:100%}.schedule-primary>select{width:100%;max-width:none}.filter-toggle{min-height:48px;padding:10px 12px;font-size:15px}.schedule-toolbar .segmented{align-self:flex-start}.schedule-filter-panel{padding:16px}.schedule-info{gap:8px}.source-disclosure{flex-basis:100%}.schedule-timezone{padding:6px 2px}.lesson-item{border-radius:20px}.lesson-item>.lesson-card{gap:14px;min-height:108px;padding:20px 16px}.lesson-item .lesson-time{width:52px}.lesson-item .lesson-time strong{font-size:20px}.lesson-item .lesson-time span{font-size:15px}.lesson-item .lesson-content h3{margin-bottom:12px;margin-right:12px;padding-right:0;font-size:22px}.lesson-item .lesson-arrow{width:16px;top:24px;right:12px}.lesson-place{align-items:flex-start;font-size:16px}.lesson-place svg{margin-top:3px}.task-card,.task-card.compact{padding:20px 16px}.task-copy h3,.tasks-list .task-copy h3,.task-card.compact .task-copy h3{font-size:21px}.task-card>.course-icon{width:36px;height:40px}.task-card>svg{width:16px}.mobile-nav button{font-size:12px}.source-card h2,.worker-value{font-size:24px}}@media (width<=360px){.lesson-item>.lesson-card{gap:10px;padding-inline:12px}.lesson-item .lesson-time{width:50px}.lesson-item .lesson-content h3{font-size:21px}.task-card>.course-icon{display:none}}.current-lesson{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple), 0 6px 20px #4d2e7b0a}.lesson-live{color:var(--brand);align-items:center;gap:7px;font-size:15px;font-weight:700;display:inline-flex}.lesson-live>span{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.lesson-progress{appearance:none;background:var(--purple-bg);width:100%;height:5px;color:var(--purple);border:0;border-radius:10px;margin-top:16px;display:block;overflow:hidden}.lesson-progress::-webkit-progress-bar{background:var(--purple-bg);border-radius:10px}.lesson-progress::-webkit-progress-value{background:var(--purple);border-radius:10px}.lesson-progress::-moz-progress-bar{background:var(--purple);border-radius:10px}.pdf-notices{gap:12px;margin:0 0 20px;display:grid}.pdf-notice,.pdf-pair{background:var(--card,#fff);border:1px solid var(--line,#e8e4ee);color:inherit;border-radius:24px;align-items:center;gap:16px;min-height:72px;padding:20px 24px;text-decoration:none;display:flex}.pdf-notice strong{flex:1;font-size:19px}.pdf-notice span,.pdf-pair span{color:var(--muted,#6b6675);font-size:16px}.pdf-pair{border-style:dashed;margin:12px}.pdf-pair>div:nth-child(2){flex:1}.pdf-pair h3{margin:0 0 8px;font-size:22px}.pdf-notice:hover,.pdf-pair:hover{border-color:var(--primary,#63378d)}.pdf-notice:focus-visible,.pdf-pair:focus-visible{outline-offset:3px;outline:3px solid #8e6cb2}@media (width<=600px){.pdf-notice,.pdf-pair{border-radius:22px;gap:12px;padding:18px 16px}.pdf-notice{flex-wrap:wrap}.pdf-notice strong{flex-basis:calc(100% - 52px);font-size:18px}.pdf-notice span{margin-left:36px}}:root{--studkamp-pdf-ui:1;--studkamp-simple-ui:1;--attendance-good:#17734c;--attendance-bad:#bb3544}body{font-size:16px}.button,.text-button,.text-link{min-height:44px;font-size:16px}.soft-select-trigger,.soft-select-options button{font-size:16px!important}.soft-select-search input{padding-left:16px!important;font-size:16px!important}.soft-select-popup{border-radius:24px}.soft-select-search{padding:10px 14px}.app-loading{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100dvh;display:flex}.app-loading .university-brand{justify-items:center;max-width:min(420px,86vw);display:grid}.app-loading .university-logo.loaded{width:min(390px,85vw);height:auto;max-height:150px;display:block}.app-loading .brand-wordmark{font-size:54px}.app-loading .brand-wordmark small{text-align:center;font-size:17px;line-height:1.5}.app-loading .loader{border-width:3px;width:38px;height:38px}.university-brand .brand-small{display:none}.analytics-page{gap:24px;font-size:16px}.analytics-heading h2{font-size:clamp(30px,4vw,42px);line-height:1.15}.analytics-person{color:var(--text);margin:0 0 12px;font-size:19px}.analytics-tabs{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.analytics-tabs button{white-space:nowrap;min-height:48px;font-size:16px}.analytics-filters label,.analytics-card label{font-size:16px}.analytics-card h3{margin-top:0;font-size:24px;line-height:1.3}.analytics-card{border-radius:28px;min-width:0;padding:28px}.analytics-metric>span{color:var(--text);font-size:17px}.analytics-metric strong{font-size:44px}.analytics-metric{border-radius:26px;min-height:144px}.analytics-metric.purple{background:var(--purple-bg)}.analytics-metric.mint{background:var(--mint-bg,var(--soft))}.analytics-metric small{display:none}.analytics-card-title .text-button{font-size:16px}.analytics-record{border:1px solid var(--line);border-radius:22px;min-height:90px;padding:20px}.analytics-records{gap:12px}.analytics-record strong,.analytics-record b{font-size:18px}.analytics-record span,.analytics-record time{color:var(--muted);font-size:16px;line-height:1.5}.analytics-record-value{max-width:42%;font-size:18px}.analytics-record-value.present b,.attendance-mark.present{color:var(--attendance-good);background:#e2f5e9;border-radius:14px;padding:9px 13px}.analytics-record-value.absent b,.attendance-mark.absent{color:var(--attendance-bad);background:#fde9ed;border-radius:14px;padding:9px 13px}.analytics-record-value.missing b,.attendance-mark.missing{color:var(--text);font-weight:650}.analytics-current-filter{flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0;font-size:16px;display:flex}.analytics-current-filter button{background:var(--purple-bg);color:var(--brand);border:0;border-radius:15px;min-height:44px;padding:10px 14px;font-size:16px}.analytics-current-filter>span{color:var(--muted);margin-left:auto}.analytics-pagination>span{font-size:16px}.performance-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;display:grid}.performance-card{text-align:left;background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:25px;align-content:start;gap:18px;min-width:0;padding:24px;display:grid}.performance-card>span{justify-content:space-between;align-items:center;gap:10px;font-size:18px;line-height:1.4;display:flex}.performance-card>strong{color:var(--brand);overflow-wrap:anywhere;font-size:38px}.performance-card>span:last-child{font-size:16px}.performance-marks{flex-wrap:wrap;gap:10px;display:flex}.performance-marks>b{background:var(--panel);border-radius:14px;padding:8px 12px;font-size:18px}.performance-marks span{font-size:16px;font-weight:400}.attendance-totals{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.attendance-totals button{background:var(--soft);color:var(--text);border:0;border-radius:20px;justify-items:start;gap:12px;padding:15px;font-size:16px;display:grid}.attendance-totals strong{font-size:32px}.attendance-totals .present{color:var(--attendance-good);background:#e2f5e9}.attendance-totals .absent{color:var(--attendance-bad);background:#fde9ed}.analytics-stack{border-radius:10px;height:15px;margin-top:10px}.analytics-action-list button{min-height:64px;font-size:17px}.analytics-action-list b{font-size:26px}.analytics-group-grid>button{border-radius:23px}.analytics-group-grid b{font-size:22px}.analytics-group-grid span{font-size:16px}.analytics-export b{font-size:18px}.analytics-export span,.analytics-export time{font-size:16px}.export-status{align-items:center;gap:8px;display:inline-flex}.export-status:before{content:"";background:var(--muted);border-radius:50%;width:9px;height:9px}.export-status.succeeded:before{background:var(--attendance-good)}.export-status.running:before,.export-status.queued:before{background:#d49b27}.export-status.failed:before{background:var(--attendance-bad)}.analytics-export .export-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-settings{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.report-settings>summary{cursor:pointer;align-items:center;gap:12px;min-height:50px;font-size:18px;font-weight:650;display:flex}.report-settings>summary b{background:var(--soft);border-radius:12px;padding:6px 11px}.report-columns{grid-template-columns:1fr 1fr;gap:10px;max-height:420px;padding:14px 0;display:grid;overflow:auto}.report-columns label{align-items:center;gap:12px;min-height:44px;display:flex}.report-columns input{width:21px;height:21px;accent-color:var(--brand);flex-shrink:0}.analytics-room-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.analytics-room-grid>button{border-radius:26px;gap:13px;padding:23px}.analytics-room-grid span{font-size:16px}.analytics-room-grid strong{overflow-wrap:anywhere;font-size:32px}.analytics-room-grid b{font-size:22px}.analytics-room-days i{border-radius:5px;width:10px;height:18px}.analytics-room-detail{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.room-basis{color:var(--muted);font-size:16px}.room-date{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.room-date>input{border:1px solid var(--line);background:var(--panel);min-height:48px;color:var(--text);border-radius:16px;min-width:0;padding:12px 15px;font-size:17px}.room-date .analytics-tabs{margin-left:auto}.room-day-totals{grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;display:grid}.room-day-totals>div{background:var(--purple-bg);border-radius:23px;gap:10px;padding:22px;display:grid}.room-day-totals>div:nth-child(2){background:#e2f5e9}.room-day-totals strong{font-size:38px}.room-day-totals span{font-size:17px}.room-slots{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.room-slot{text-align:left;color:#155c40;background:#e5f5eb;border:2px solid #0000;border-radius:23px;gap:12px;min-width:0;padding:20px;font-size:16px;display:grid}.room-slot.busy{color:var(--brand);background:#efe7fa}.room-slot.partial{color:#79520a;background:#fff0d7}.room-slot.selected{border-color:var(--brand)}.room-slot>b{font-size:23px}.room-slot strong{font-size:18px}.room-slot time,.room-slot span{overflow-wrap:anywhere;font-size:16px}.room-events{gap:12px;margin-top:24px;display:grid}.room-no-events{color:var(--muted);font-size:18px}.course-score{background:var(--soft);border-radius:22px;gap:12px;margin:22px 0;padding:22px;display:grid}.course-score>span{font-size:16px}.course-score>strong{color:var(--brand);font-size:36px}.course-score strong span{font-size:22px}.course-score-parts{flex-wrap:wrap;gap:10px;font-size:16px;display:flex}.course-score-parts b{font-size:22px}.course-quick-stats{font-size:16px}.workspace-pair-state .attendance-mark{font-size:17px;line-height:1.5}.workspace-course-heading p,.workspace-course-heading>div>span{font-size:16px}.workspace-total>span{font-size:18px}.workspace-total strong{font-size:40px}.workspace-pair h3{font-size:20px}.workspace-tabs button{font-size:16px}.detail-grid small{font-size:15px}.detail-grid strong{font-size:18px}.task-description p{font-size:18px;line-height:1.6}.delivery-note{background:var(--soft);border-radius:23px;margin:22px 0;padding:20px 24px;font-size:20px;font-weight:650}.submission-panel h3,.submission-history h3{font-size:23px}.submission-files b{font-size:17px}.file-picker{border-radius:22px;min-height:64px;font-size:17px}.file-picker input{cursor:pointer}.attachment-picker{gap:12px;margin:20px 0;display:grid}.attachment-list{gap:10px;min-width:0;display:grid}.attachment-list>div{border:1px solid var(--line);background:var(--panel);border-radius:18px;align-items:center;gap:12px;min-width:0;padding:15px;display:flex}.attachment-list b{overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px}.attachment-list>div>svg{flex-shrink:0}.attachment-list .button{flex-shrink:0;padding:10px}.request-context{background:var(--soft);border-radius:24px;gap:14px;margin:20px 0;padding:22px;font-size:17px;display:grid}.request-context b{overflow-wrap:anywhere;font-size:21px}.request-context .button{width:fit-content}.messages{flex-direction:column;gap:14px;min-width:0;margin:24px 0;display:flex}.message{background:var(--soft);overflow-wrap:anywhere;border-radius:24px 24px 24px 8px;align-self:flex-start;min-width:0;max-width:90%;padding:20px}.message.own{background:var(--purple-bg);border-radius:24px 24px 8px;align-self:flex-end}.message strong{font-size:17px}.message p{white-space:pre-wrap;font-size:18px;line-height:1.6}.message small{margin-top:12px;font-size:14px;display:block}.request-status small{font-size:16px}.group-page{gap:24px;display:grid}.group-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;display:grid}.group-card{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:27px;gap:16px;padding:26px;display:grid}.group-card h3{margin:0;font-size:28px}.group-card>span{color:var(--muted);font-size:16px;line-height:1.5}.group-card>div:last-child{flex-wrap:wrap;align-items:center;gap:18px;font-size:16px;display:flex}.group-card>div:last-child>svg{margin-left:auto}.group-faculty{color:var(--muted);max-width:650px;font-size:18px;line-height:1.5}.group-overview{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.group-overview>div,.group-overview>button{text-align:left;border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:24px;gap:14px;padding:23px;font-size:17px;display:grid}.group-overview strong{font-size:36px}.group-overview svg{color:var(--brand)}.group-columns{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.group-student{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:18px 0;display:flex}.group-student>div{gap:9px;display:grid}.group-student b{font-size:18px;line-height:1.5}.group-student span{font-size:16px}.group-person{text-align:left;color:var(--text);background:0 0;border:0;gap:8px;min-height:44px;padding:0;display:grid}.group-person>span{color:var(--brand)}.group-move{background:var(--soft);border-radius:22px;gap:18px;margin:10px 0;padding:20px;display:grid}.group-move>label{gap:10px;display:grid}.group-teacher{color:var(--muted);margin-top:10px;font-size:16px;display:block}.group-columns .workspace-row{font-size:18px;line-height:1.5}.group-columns .button{margin-top:18px}.analytics-card .analytics-program-form{font-size:16px}.schedule-info,.page-footer{display:none}@media (width<=1000px){.group-columns{grid-template-columns:1fr}.room-slots{grid-template-columns:repeat(2,1fr)}.group-overview{grid-template-columns:1fr 1fr}}@media (width<=760px){.analytics-card{border-radius:25px;padding:20px}.analytics-metric{min-height:126px;padding:20px}.analytics-metric>span{font-size:16px}.analytics-metric strong{font-size:36px}.analytics-card h3{font-size:23px}.analytics-filters label{font-size:16px}.analytics-tabs button{flex:none;padding:12px 15px;font-size:16px}.analytics-record{flex-wrap:wrap;gap:12px;padding:17px}.analytics-record>div:first-child{flex:1;min-width:160px}.analytics-record strong,.analytics-record b{font-size:17px}.analytics-record-value{flex-shrink:0;max-width:100%}.analytics-record time,.analytics-record span{font-size:15px}.analytics-pagination{flex-wrap:wrap}.analytics-pagination>span{font-size:15px}.performance-card{padding:22px}.attendance-totals{grid-template-columns:1fr}.attendance-totals button{grid-template-columns:auto 1fr;align-items:center;gap:18px}.attendance-totals strong{font-size:28px}.analytics-room-grid{grid-template-columns:1fr 1fr;gap:12px}.analytics-room-grid>button{border-radius:22px;padding:17px}.analytics-room-grid strong{font-size:26px}.room-date .analytics-tabs{width:100%;margin-left:0}.room-date .analytics-tabs button{flex:1}.room-day-totals>div{padding:18px}.room-day-totals strong{font-size:32px}.room-day-totals span{font-size:16px}.room-slot{gap:10px;padding:16px}.room-slot>b{font-size:22px}.room-slot strong{font-size:17px}.room-slot time,.room-slot span,.room-basis{font-size:15px}.report-columns{grid-template-columns:1fr}.analytics-export{flex-wrap:wrap}.analytics-export .export-actions{justify-content:flex-end;width:100%}.group-card{padding:24px}.group-overview>div,.group-overview>button{padding:20px}.group-overview strong{font-size:30px}.group-student b{font-size:17px}.group-student{gap:10px}.group-faculty{font-size:17px}.request-context{padding:18px}.message{max-width:100%;padding:18px}.message p{font-size:17px}.detail-grid{gap:18px}.attachment-list>div{gap:10px;padding:12px}.attachment-list b{font-size:16px}.file-picker{font-size:17px}}html[data-theme=dark]{--attendance-good:#8ee3b3;--attendance-bad:#ffb3bd}html[data-theme=dark] .attendance-totals .present,html[data-theme=dark] .analytics-record-value.present b,html[data-theme=dark] .attendance-mark.present{color:#8ee3b3;background:#203d32}html[data-theme=dark] .attendance-totals .absent,html[data-theme=dark] .analytics-record-value.absent b,html[data-theme=dark] .attendance-mark.absent{color:#ffb3bd;background:#492930}html[data-theme=dark] .room-slot.empty,html[data-theme=dark] .room-day-totals>div:nth-child(2){color:#b3efd0;background:#203d32}html[data-theme=dark] .room-slot.busy{color:#e0c7ff;background:#3c2e51}html[data-theme=dark] .room-slot.partial{color:#ffe0a1;background:#493a23}.form-grid label,.form-grid input,.form-grid textarea,.account-field,.grading-editor label{font-size:16px}.workspace-row small,.status{font-size:15px}.modal p{line-height:1.6}.modal .form-grid{gap:20px}.modal .attendance-list .student-name strong{font-size:18px}.modal-actions{flex-wrap:wrap;gap:12px}.request-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.analytics-card .performance-card>strong{font-size:38px}.workspace-warning{font-size:16px}.analytics-record .room-overlap{color:#a72c3c;background:#fde9ed;border-radius:12px;width:fit-content;padding:7px 12px;font-size:16px;font-weight:650;display:inline-flex}html[data-theme=dark] .analytics-record .room-overlap{color:#ffb3bd;background:#492930}:root{--studkamp-methodist-ui:1}.sidebar{height:100dvh;padding-top:24px;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow:hidden}.sidebar-brand-row,.sidebar-label,.sidebar-bottom{flex-shrink:0}.sidebar nav{overscroll-behavior:contain;scrollbar-width:thin;flex:1 1 0;align-content:start;min-height:60px;padding:2px 2px 10px;overflow-y:auto}.sidebar-bottom{margin-top:0;padding-top:12px}.sidebar-bottom .semester{padding-top:8px;padding-bottom:12px}.sidebar-bottom .user-switch{min-height:52px}.university-brand{min-height:64px;display:block}.university-logo.loaded{opacity:1;object-fit:contain;width:100%;max-width:280px;height:72px;display:block}.analytics-search{min-height:50px;align-items:center!important;gap:0!important;padding:0!important;display:flex!important;position:relative!important}.analytics-search>svg{pointer-events:none;z-index:1;width:20px;height:20px;position:absolute!important;top:50%!important;left:17px!important;transform:translateY(-50%)!important}.analytics-search>input{box-sizing:border-box;width:100%;min-height:50px;font-size:17px;margin:0!important;padding-left:50px!important;padding-right:17px!important}.account-unit-choices label,.group-choices>div>label{text-align:left;justify-content:space-between;gap:16px;min-height:52px;align-items:center!important;display:flex!important}.account-unit-choices label>input,.group-choices label>input{order:2;flex:0 0 22px!important;width:22px!important;height:22px!important;min-height:22px!important;margin:0 0 0 auto!important;padding:0!important}.account-unit-choices label>span,.group-choices label>span{flex:1;order:1;min-width:0;line-height:1.45}.view-toggle{justify-content:flex-end;gap:6px;margin:0 0 16px;display:flex}.view-toggle>button{background:var(--soft);min-width:46px;min-height:46px;color:var(--muted);border-radius:16px;place-items:center;display:grid}.view-toggle>button[aria-pressed=true]{background:var(--purple-bg);color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.courses-grid.as-list,.performance-grid.as-list{grid-template-columns:1fr}.courses-grid.as-list .course-card{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:22px;display:grid}.courses-grid.as-list .course-card-top{grid-row:1/4;display:block}.courses-grid.as-list .course-card-top .chip{display:none}.courses-grid.as-list .course-card h2{margin:0;font-size:23px}.courses-grid.as-list .course-card p{grid-column:2;margin:0}.courses-grid.as-list .course-score{grid-area:1/3/3;min-width:100px}.courses-grid.as-list .course-card-bottom{grid-column:2/-1;margin:0}.performance-grid.as-list .performance-card{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.performance-grid.as-list .performance-card>span:first-child{flex:1;min-width:150px}.task-mark{color:var(--brand);white-space:nowrap;align-items:center;gap:7px;font-size:21px;font-weight:750;display:inline-flex}.task-mark>span{font-size:18px;font-weight:550}.task-mark.accepted{color:var(--attendance-good)}.received-work{background:var(--purple-bg);border-radius:26px;margin:22px 0;padding:22px;scroll-margin-top:24px}.received-work h3{margin:0 0 16px;font-size:22px}.received-work h3>b{background:var(--panel);border-radius:12px;place-items:center;min-width:34px;padding:4px 8px;display:inline-grid}.received-work-list{gap:10px;display:grid}.received-work-list>button{background:var(--panel);text-align:left;color:var(--text);border:2px solid #0000;border-radius:20px;align-items:center;gap:14px;min-height:72px;padding:17px;display:flex}.received-work-list>button.selected{border-color:var(--brand)}.received-work-list>button>span:nth-child(2){flex:1;gap:5px;display:grid}.received-work time{color:var(--muted);font-size:16px}.received-work .submission-review{background:var(--panel);border-radius:22px;margin-top:18px;padding:22px}.submission-sent{border-radius:20px;flex-wrap:wrap;gap:14px;padding:18px;font-size:18px}.submission-history{scroll-margin-top:24px}.submission-history article{border:1px solid var(--line);border-radius:20px;margin:14px 0;padding:20px}.submission-history article p{overflow-wrap:anywhere;white-space:pre-wrap;font-size:18px}.submission-panel .submission-history{order:-1}.submission-panel{flex-direction:column;gap:16px;display:flex}.modal>header{background:var(--panel);z-index:3;border-radius:24px;padding-bottom:12px;position:sticky;top:-1px}.modal>header>.icon-button{touch-action:manipulation;width:48px;min-width:48px;height:48px;min-height:48px}.modal-backdrop{touch-action:pan-y}.attendance-row .student-name:empty{display:none}.request-teacher{color:var(--brand);margin-top:6px;font-size:18px}.headman-substitute{grid-column:1/-1;max-width:760px}.headman-substitute h2{align-items:center;gap:12px;display:flex}.headman-substitute form{gap:18px;display:grid}.group-archive-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}@media (width<=760px){.sidebar{padding-top:18px}.sidebar nav{min-height:48px}.sidebar-bottom .semester{display:none}.sidebar-bottom{padding-top:8px}.received-work{margin:18px 0;padding:16px}.received-work-list>button{flex-wrap:wrap}.received-work-list>button>span:nth-child(2){min-width:160px}.courses-grid.as-list .course-card{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:20px}.courses-grid.as-list .course-score{grid-area:auto/2}.courses-grid.as-list .course-card h2{font-size:21px}.course-workspace .task-card{flex-wrap:wrap}.course-workspace .task-card .task-copy{flex:1;min-width:180px}}@media (height<=650px){.sidebar-bottom .semester{display:none}.sidebar-label{margin-top:8px;margin-bottom:8px}.sidebar nav button{min-height:46px;padding-top:10px;padding-bottom:10px}.sidebar-brand-row{min-height:66px}}.group-cycle{margin-bottom:22px}.group-cycle h3{align-items:center;gap:12px;display:flex}.group-course-steps{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.group-course-steps>span{background:var(--soft);width:70px;min-height:76px;color:var(--muted);border-radius:23px;place-items:center;gap:3px;display:grid}.group-course-steps b{font-size:28px}.group-course-steps>span.current{background:var(--brand);color:var(--panel);box-shadow:0 5px 18px #66469b22}.group-course-steps>span.done{background:var(--purple-bg);color:var(--brand)}.group-next-transition{align-items:center;gap:10px;font-size:18px;display:flex}.group-cycle form{flex-wrap:wrap;align-items:end;gap:18px;display:flex}.group-cycle form>label:first-child{width:130px}.group-cycle input[type=number]{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);border-radius:16px;padding:12px;font-size:20px}.course-period{align-items:center;gap:14px;max-width:550px;margin-bottom:18px;font-size:17px;display:flex}.curriculum-page{gap:22px;display:grid}.curriculum-page>label{max-width:440px}.curriculum-hero{background:var(--purple-bg);color:var(--brand);border-radius:30px;flex-wrap:wrap;align-items:center;gap:22px;padding:30px;display:flex}.curriculum-hero>div{flex:1;min-width:200px}.curriculum-hero h2{margin:0 0 10px;font-size:clamp(26px,4vw,36px)}.curriculum-hero p{margin:0;font-size:18px}.curriculum-hero>strong{font-size:32px}.semester-strip{gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.semester-strip button{background:var(--soft);min-width:80px;min-height:82px;color:var(--muted);border-radius:23px;place-items:center;gap:4px;display:grid}.semester-strip button[aria-pressed=true]{background:var(--brand);color:var(--panel)}.semester-strip b{font-size:27px}.semester-strip span{font-size:15px}.curriculum-summary{flex-wrap:wrap;gap:24px;display:flex}.curriculum-summary>span{align-items:center;gap:10px;font-size:18px;display:flex}.curriculum-summary b{font-size:27px}.curriculum-subjects{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px;display:grid}.curriculum-subject{align-items:start;gap:16px;display:flex}.curriculum-subject>svg{color:var(--brand);flex-shrink:0}.curriculum-subject h3{margin:0 0 15px;font-size:22px;line-height:1.35}.curriculum-forms{flex-wrap:wrap;gap:9px;display:flex}.curriculum-forms b{background:var(--purple-bg);color:var(--brand);border-radius:13px;padding:8px 13px;font-size:16px}.curriculum-partial{background:var(--soft);border-radius:20px;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;font-size:17px;display:flex}.curriculum-partial a{color:var(--brand);margin-left:auto}.curriculum-empty{justify-items:start;gap:16px;display:grid}.curriculum-empty p{font-size:18px}@media (width<=760px){.curriculum-hero{gap:16px;padding:24px}.curriculum-hero>a{justify-content:center;width:100%}.curriculum-subjects{grid-template-columns:1fr}}
