:root{--color-brand-primary: #007171;--color-brand-primary-hover: #005f5f;--color-brand-primary-disabled: #a2c6c6;--color-brand-primary-light: #73c5c5;--color-brand-primary-border: #5ab2b2;--color-success: #1f7a4f;--color-success-hover: #196641;--color-success-bg: #e7f7ef;--color-error: #cf3f3f;--color-error-bg: #fff1f1;--color-error-border: #efc6c6;--color-error-bg-hover: #ffe3e3;--color-error-border-hover: #e9b0b0;--color-info-bg: #eaf5f5;--color-info-bg-light: #f4fbfb;--color-info-bg-lighter: #f8fdfd;--color-info-border: #cfe3e3;--color-text-primary: #232525;--color-text-secondary: #393939;--color-text-tertiary: #4b5050;--color-text-muted: #5f6262;--color-text-icon: #8b9090;--color-text-white: #ffffff;--color-text-question-title: #232525;--color-text-answer-label: #5f6262;--color-bg-white: #ffffff;--color-bg-subtle: #fcfdfd;--color-bg-hover: #f3f6f6;--color-bg-brand-subtle: #d9efef;--color-bg-answer-box: #fafafa;--color-bg-comment-active: #eaf5f5;--color-bg-comment-inactive: #f2f4f4;--color-border-default: #dadada;--color-border-strong: #8f8f8f;--color-border-focus: #007171;--color-border-card: #d3d3d3;--color-border-comment-active: #5ab2b2;--color-border-comment-inactive: #cfd5d5;--color-border-score-badge: #007171;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-9: 36px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--font-family-sans: "Inter", sans-serif;--font-family-display: "Lora", "Times New Roman", serif;--shadow-sm: 0 2px 2px 0 rgba(145, 145, 145, .25);--shadow-md: 0 4px 20px 0 rgba(160, 160, 160, .25);--transition-fast: .12s ease;--transition-base: .2s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}h1{font-family:var(--font-family-display);font-weight:500;color:var(--color-text-primary)}html{font-size:16px}body{font-family:var(--font-family-sans);color:var(--color-text-primary);background:var(--color-bg-subtle)}*,*:before,*:after{font-family:inherit;cursor:default}button *,a *,[role=button] *,.clickable *,[class*=button] *,[class*=clickable] *,[class*=cursor-pointer] *{cursor:inherit}.cursor-pointer{cursor:pointer}.cursor-pointer *{cursor:inherit}.app{min-height:100vh;background:var(--color-bg-subtle)}.app-route-content{opacity:0;transform:translateY(4px);transition:opacity .22s ease,transform .22s ease}.app-route-content--visible{opacity:1;transform:translateY(0)}.main-content{display:flex;flex-direction:column;align-items:center;margin-top:10.9375rem;gap:1.875rem;height:100vh}.main-content-container{display:flex;flex-direction:column;gap:1.875rem;padding:1.875rem}.navbar{display:flex;flex-direction:column;position:sticky;top:0;width:100%;align-self:stretch;z-index:1001}.navbar-primary-row{display:flex;align-items:center;justify-content:space-between;height:43px;padding:7px 60px 6px;background:#f7f8f8;border-bottom:1px solid #d9dcdc}.navbar-company-logo{width:73px;height:23px;flex-shrink:0;cursor:pointer;object-fit:contain}.navbar-profile-dropdown{position:relative;margin-left:auto}.navbar-profile-button{display:flex;gap:6px;width:12.5rem;height:30px;padding:5px 8px;justify-content:flex-start;align-items:center;border-radius:999px;border:1px solid #d3d3d3;background:#fff;cursor:pointer}.navbar-profile-name{flex:1;min-width:0;color:#494949;font-size:14px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-profile-icon{width:14px;height:14px;margin-left:auto;flex-shrink:0;color:#494949}.navbar-profile-chevron{width:12px;height:12px;flex-shrink:0;color:#494949;transition:transform var(--transition-base)}.navbar-profile-chevron.open{transform:rotate(180deg)}.navbar-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #d3d3d3;border-radius:4px;padding:4px;display:flex;flex-direction:column;gap:10px;min-width:12.5rem;z-index:1001;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.navbar-dropdown-item{padding:12px;border-radius:4px;cursor:pointer;text-decoration:none;color:#494949;font-family:Inter,Darker Grotesque,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:400;transition:background-color .2s ease}.navbar-dropdown-item:hover{background-color:#f9fafb}.navbar-dropdown-item span{display:block;white-space:nowrap}.navbar-progress-row{display:flex;align-items:flex-start;justify-content:center;height:57px;padding-top:13px;background:var(--color-bg-white);box-shadow:0 2px 4px #73737340;border-bottom:1px solid var(--color-border-default)}.navbar-progress-track{width:1120px;display:flex;align-items:center;justify-content:flex-start;height:32px;gap:14px}.navbar-progress-step{display:inline-flex;align-items:center;gap:12px;color:var(--color-text-tertiary);font-size:16px;font-weight:500;letter-spacing:-.01em;transition:color .28s ease;border:none;background:transparent;padding:0;margin:0;font-family:inherit}.navbar-progress-step--active{color:#1f4646}.navbar-progress-step--clickable{cursor:pointer}.navbar-progress-step--clickable:hover{color:#1f4646}.navbar-progress-step--clickable:focus-visible{outline:2px solid rgba(80,167,160,.45);outline-offset:4px;border-radius:999px}.navbar-progress-step--locked{cursor:not-allowed;opacity:.55}.navbar-progress-step--s1{width:172px}.navbar-progress-step--s2{width:160px}.navbar-progress-step--s3{width:172px}.navbar-progress-step--s4{width:118px}.navbar-progress-index{width:32px;height:32px;border-radius:var(--radius-full);background:#e8e9e9;color:#646a6a;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;transition:background-color .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease}.navbar-progress-index--active{background:var(--color-brand-primary-light);color:#1f4646;box-shadow:0 0 0 3px #50a7a033;animation:navbar-step-activate .32s ease}@keyframes navbar-step-activate{0%{transform:scale(.92)}60%{transform:scale(1.06)}to{transform:scale(1)}}.navbar-progress-divider{width:150px;height:1px;background:var(--color-border-default)}@media (max-width: 1200px){.navbar-primary-row{padding-left:20px;padding-right:20px}.navbar-progress-row{overflow-x:auto;justify-content:flex-start;padding-left:20px;padding-right:20px}.navbar-progress-track{min-width:1120px}}.feide-login-button{background-color:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:.85rem .95rem;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.75rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.feide-login-button:hover{background-color:var(--color-info-bg-light);border-color:var(--color-border-focus);box-shadow:0 10px 18px -16px #22676ab3;transform:translateY(-1px)}.feide-login-button-text{font-family:var(--font-family-sans);font-weight:500;font-size:1rem;color:var(--color-text-primary);line-height:1.35}.feide-login-button-icon{flex-shrink:0}.feide-login-button--google,.feide-login-button--microsoft,.feide-login-button--feide{border-color:var(--color-border-default)}.feide-login-button-icon--google{color:#db4437}.feide-login-button-icon--microsoft{color:#737373}.feide-login-button-icon--feide{width:20px;height:20px;object-fit:contain}.feide-login-modal-overlay{min-height:100vh;width:100%;padding:4.25rem 1rem 2.75rem;box-sizing:border-box;display:flex;justify-content:center;align-items:flex-start}.feide-login-modal-content{width:min(39rem,100%);background:linear-gradient(180deg,#fff,#f8fcfc);border:1px solid var(--color-border-default);border-radius:1rem;box-shadow:0 24px 46px -30px #1e383899,0 10px 20px -18px #0000004d;padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.feide-login-modal-content:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:.3rem;background:linear-gradient(135deg,#22676a,#32959a)}.feide-login-modal-title-section{display:flex;flex-direction:column;gap:.5rem;width:100%;padding-top:.25rem}.feide-login-modal-title{font-family:var(--font-family-display);font-weight:500;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.015em;color:var(--color-text-primary);margin:0;line-height:1.1}.feide-login-modal-subtitle{font-family:var(--font-family-sans);font-weight:400;font-size:1.06rem;color:var(--color-text-muted);margin:0;line-height:1.5}.feide-login-modal-content .feide-login-button{margin-top:.15rem}.feide-login-modal-pilot-hint{font-family:var(--font-family-sans);font-weight:400;font-size:.92rem;color:var(--color-text-tertiary);margin:0;margin-top:.7rem;line-height:1.5;padding:.8rem .9rem;border:1px solid var(--color-info-border);border-radius:.75rem;background:var(--color-info-bg-light)}@media (max-width: 768px){.feide-login-modal-overlay{padding-top:2rem}.feide-login-modal-subtitle{font-size:1rem}}.button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);min-height:39px;border-radius:var(--radius-lg);font-family:var(--font-family-sans);font-weight:500;font-size:16px;line-height:20px;letter-spacing:-.015em;cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base);border:none;box-sizing:border-box;white-space:nowrap}.button--primary{background:var(--color-brand-primary);color:var(--color-text-white);border:1px solid transparent}.button--primary:hover:not(:disabled){background:var(--color-brand-primary-hover)}.button--primary:disabled{background:var(--color-brand-primary-disabled);cursor:not-allowed;opacity:.7}.button--secondary{background:var(--color-bg-white);color:var(--color-text-tertiary);border:1px solid var(--color-border-card)}.button--secondary:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.button--secondary:disabled{opacity:.5;cursor:not-allowed}.button--outline{background:transparent;color:var(--color-brand-primary);border:1px solid var(--color-brand-primary)}.button--outline:hover:not(:disabled){background:var(--color-bg-brand-subtle);border-color:var(--color-brand-primary-hover)}.button--outline:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-brand-primary-disabled);color:var(--color-brand-primary-disabled)}.button--ghost{background:transparent;color:var(--color-text-tertiary);border:none}.button--ghost:hover:not(:disabled){background:var(--color-bg-hover)}.button--ghost:disabled{opacity:.5;cursor:not-allowed}.button--sm{padding:var(--spacing-1) var(--spacing-3);font-size:14px;height:32px}.button--md{padding:var(--spacing-2) var(--spacing-4);font-size:16px;height:39px}.button--lg{padding:var(--spacing-3) var(--spacing-6);font-size:18px;height:46px}.button--full-width{width:100%}.button--loading{position:relative;color:transparent}.button-spinner{position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.button--primary .button-spinner{border-top-color:var(--color-text-white)}.button--secondary .button-spinner,.button--outline .button-spinner{border-top-color:var(--color-brand-primary)}.button-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.button-icon svg{width:100%;height:100%}.button-text{white-space:nowrap}.button--processing{background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-primary-light) 50%,var(--color-brand-primary) 100%);background-size:200% 200%;animation:gradient-flow 2s ease-in-out infinite;color:var(--color-text-white);border:1px solid transparent;cursor:wait}.button--processing:disabled{opacity:1;color:var(--color-text-white)}.button--complete{background:var(--color-bg-white);color:var(--color-text-tertiary);border:1px solid var(--color-border-default)}.button--complete:hover:not(:disabled){background:var(--color-bg-hover)}.button--complete.button--primary{background:var(--color-bg-white);color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.button--complete.button--primary:hover:not(:disabled){background:var(--color-bg-hover)}.card{display:flex;flex-direction:column;background:var(--color-bg-white);box-sizing:border-box;border-radius:var(--radius-xl);transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.card--padding-none{padding:0}.card--padding-sm{padding:var(--spacing-4)}.card--padding-md{padding:var(--spacing-6)}.card--padding-lg{padding:var(--spacing-8)}.card--bordered{border:1px solid var(--color-border-default);box-shadow:var(--shadow-sm)}.card--bordered.card--border-strong{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card--bordered.card--enabled{border:1px solid var(--color-brand-primary-border);box-shadow:var(--shadow-sm)}.card--bordered.card--disabled{opacity:.6;background:var(--color-bg-subtle);box-shadow:none}.card--clickable{cursor:pointer}.card--clickable:hover{background:var(--color-bg-hover);border-color:var(--color-border-card)}.dropdown-container{position:relative;width:100%}.dropdown-container--open{z-index:220}.dropdown-button{width:100%;height:48px;display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff;border:1px solid lightgrey;border-radius:8px;font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#494949;cursor:pointer;transition:all .2s ease;gap:10px}.dropdown-button:hover:not(:disabled){background:#e8f7f7;border-color:#d3d3d3}.dropdown-button--selected,.dropdown-button--selected:hover:not(:disabled){background:#d9efef;border-color:#d9efef}.dropdown-button--disabled{cursor:not-allowed;opacity:.6}.dropdown-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-chevron{width:24px;height:24px;transition:transform .2s ease;color:#494949;flex-shrink:0}.dropdown-chevron--rotated{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:1px solid #8f8f8f;border-radius:4px;padding:4px;display:flex;flex-direction:column;max-height:300px;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dropdown-menu--upward{top:auto;bottom:100%;box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -1px #0000000f}.dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px;background:transparent;border:none;border-radius:4px;font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#494949;text-align:left;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dropdown-item:hover{background:#f5f5f5}.dropdown-item--selected{background:#e8f7f7;color:#494949}.dropdown-no-results{padding:12px;text-align:center;color:#6b7280;font-style:italic;font-size:16px}@media (max-width: 768px){.dropdown-container{max-width:none}.dropdown-menu{max-height:300px}}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%}.section-header-left{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 0}.section-header-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#414141}.section-header-icon svg{width:24px;height:24px;color:#414141}.section-header-title{font-family:Inter,sans-serif;font-size:20px;font-weight:500;color:#414141;margin:0;white-space:nowrap}.section-header-info-icon{width:24px;height:24px;color:#414141;flex-shrink:0}.loading-screen{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center}.loading-screen-spinner{border:2px solid rgba(0,113,113,.2);border-top:2px solid #007171;border-radius:50%;animation:loading-screen-spin 1s linear infinite}@keyframes loading-screen-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-box{position:relative;display:flex;width:100%;max-width:100%;min-width:0;padding:1rem;flex-direction:column;align-items:center;gap:1rem;border-radius:.5rem;border:1px solid #9c9c9c;background:#fff;box-sizing:border-box}.upload-box.drag-over{border:3px dashed #2e5456;background:#e8f7f7}.upload-box.disabled{opacity:.6;cursor:not-allowed;background:#f9fafb}.clickable:hover{background:#e8f7f7;cursor:pointer}.upload-box-header{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .625rem .625rem 0}.upload-box-header-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#414141}.upload-box-header-icon svg{width:24px;height:24px;color:#414141}.upload-box-header .upload-info-icon{margin-left:auto;color:#828282;width:24px;height:24px;flex-shrink:0}.upload-title{font-family:Inter,sans-serif;font-size:20px;font-weight:400;color:#414141;margin:0;white-space:nowrap}.mandatory-indicator{color:#ef4444;font-size:1.25rem;font-weight:300}.upload-details{font-family:Inter,sans-serif;font-style:italic;font-size:.9375rem;font-weight:300;color:#414141;margin:0;width:100%;cursor:inherit}.upload-description,.upload-file-types{font-family:Inter,sans-serif;font-size:.9375rem;font-weight:300;color:#414141;margin:0;width:100%;cursor:inherit}.upload-box-content{display:flex;flex-direction:column;gap:1rem;width:100%}.upload-box-bottom{display:flex;flex-direction:column;margin-top:auto}.upload-box-list-column{display:flex;flex-direction:column;width:100%}.upload-box-list{flex-direction:row;align-items:stretch;gap:2rem;min-height:300px}.upload-box-list .upload-box-content{flex:1;min-width:0;display:flex;flex-direction:column}.upload-box-list .upload-box-list-column{flex:1;min-width:0}@media (max-width: 768px){.upload-box{padding:12px;gap:12px}.upload-title{font-size:18px}.upload-description,.upload-file-types{font-size:14px}.upload-box-list{flex-direction:column;gap:1rem}}.assessment-processing-buttons{display:flex;flex-direction:row;align-items:center;justify-content:center;margin-top:1rem;gap:28px;width:100%}.assessment-processing-buttons .button{width:302px;max-width:302px}@media (max-width: 768px){.assessment-processing-buttons{flex-direction:column;gap:1rem}.assessment-processing-buttons .button{width:100%;max-width:302px}}.workflow-step{position:relative;width:100%;max-width:51.625rem;min-height:5.875rem;gap:var(--spacing-2);transition:background-color .32s ease-in-out,border-color .32s ease-in-out,box-shadow .32s ease-in-out}.step-number-badge{display:flex;width:2.875rem;height:2.875rem;padding:.625rem;justify-content:center;align-items:center;border-radius:var(--radius-full);background:#e8e9e9;color:#a1a6a6;font-family:var(--font-family-sans);font-size:1.125rem;font-weight:500;line-height:1}.step-number-badge svg{width:1.5rem;height:1.5rem}.step-number-badge--active{background:var(--color-bg-brand-subtle);color:var(--color-brand-primary)}.workflow-step--completed .step-number-badge{background:#40b0b0;color:#fff;padding:8px}.workflow-step--completed .step-number-badge svg{width:30px;height:30px}.step-header{display:flex;width:100%;justify-content:space-between;align-items:center;gap:1rem}.step-header-main{display:flex;align-items:flex-start;gap:.75rem;min-width:0;flex:1}.step-header-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:.5rem}.step-header-content h2{font-size:1.125rem;font-weight:500;color:var(--color-text-tertiary);letter-spacing:-.01em;margin:0}.step-header-action{font-size:14px;font-weight:600;color:#40b0b0;flex-shrink:0}.step-description{margin:0;color:var(--color-text-muted);font-size:.875rem;font-weight:400}.step-body{margin-top:.5rem;transition:max-height .42s ease-in-out,opacity .32s ease-in-out}.step-body--open{max-height:1200px;opacity:1;overflow:visible}.step-body--closed{max-height:0;opacity:0;overflow:hidden}.workflow-step.card--disabled .step-header h2{color:#8b9090}.workflow-step.card--disabled .step-description{display:none}.file-upload-wrapper{position:relative;height:100%;width:100%;min-width:0;max-width:100%}.assignment-upload-step .file-upload-step-content,.criteria-upload-step .file-upload-step-content,.teaching-material-upload-step .file-upload-step-content{width:100%}.assignment-upload-dropfield.upload-box,.criteria-upload-dropfield.upload-box,.teaching-material-upload-dropfield.upload-box{padding:0;border:none;border-radius:0;background:transparent;gap:0}.assignment-upload-dropfield .upload-box-content,.criteria-upload-dropfield .upload-box-content,.teaching-material-upload-dropfield .upload-box-content{gap:0}.assignment-upload-dropfield .upload-box-header,.assignment-upload-dropfield .upload-description,.assignment-upload-dropfield .upload-file-types,.assignment-upload-dropfield .upload-details,.criteria-upload-dropfield .upload-box-header,.criteria-upload-dropfield .upload-description,.criteria-upload-dropfield .upload-file-types,.criteria-upload-dropfield .upload-details,.teaching-material-upload-dropfield .upload-box-header,.teaching-material-upload-dropfield .upload-description,.teaching-material-upload-dropfield .upload-file-types,.teaching-material-upload-dropfield .upload-details{display:none}.assignment-upload-dropfield .upload-box-bottom,.criteria-upload-dropfield .upload-box-bottom,.teaching-material-upload-dropfield .upload-box-bottom{margin-top:0}.file-upload-input{display:none}.upload-button{width:100%;min-width:0;min-height:39px;display:flex;align-items:center;justify-content:center;padding:10px 30px;border:1px solid lightgrey;border-radius:8px;box-sizing:border-box;background:#fff;cursor:inherit}.assignment-upload-dropfield .upload-button,.criteria-upload-dropfield .upload-button,.teaching-material-upload-dropfield .upload-button{min-height:140px;border:2px dashed #d2d2d2;border-radius:4px;padding:16px 10px;background:#fff}.teaching-material-upload-step.teaching-material-upload-step--complete .teaching-material-upload-dropfield .upload-button{min-height:39px;border:1px solid #d9efef;border-radius:4px;padding:9px 15px;background:transparent}.teaching-material-upload-step.teaching-material-upload-step--complete,.assignment-upload-step.assignment-upload-step--complete,.criteria-upload-step.criteria-upload-step--complete{background:#f2fafa;border-color:#d9efef!important;box-shadow:0 2px 2px #91919140}.assignment-upload-step.assignment-upload-step--error,.criteria-upload-step.criteria-upload-step--error{background:#fefaf4;border-color:#efbb59!important;box-shadow:0 2px 2px #91919140}.assignment-upload-step.assignment-upload-step--error .step-header h2,.criteria-upload-step.criteria-upload-step--error .step-header h2{color:#393939}.assignment-upload-step.assignment-upload-step--error .step-description,.criteria-upload-step.criteria-upload-step--error .step-description{color:#52390c}.assignment-upload-step.assignment-upload-step--error .step-number-badge,.criteria-upload-step.criteria-upload-step--error .step-number-badge{background:#f8dfb2;color:#af7b19}.assignment-upload-step.assignment-upload-step--complete .upload-box-content,.criteria-upload-step.criteria-upload-step--complete .upload-box-content{gap:.75rem}.assignment-upload-dropfield.parse-complete .upload-button,.assignment-upload-dropfield.parse-in-progress .upload-button,.assignment-upload-dropfield.parse-error .upload-button,.criteria-upload-dropfield.parse-complete .upload-button,.criteria-upload-dropfield.parse-in-progress .upload-button,.criteria-upload-dropfield.parse-error .upload-button{min-height:39px;border:none;border-radius:4px;padding:9px 15px;box-sizing:border-box}.assignment-upload-dropfield.parse-in-progress .upload-button,.criteria-upload-dropfield.parse-in-progress .upload-button{background:#fff;animation:parse-progress-glow 1.8s ease-in-out infinite}.assignment-upload-dropfield.parse-complete .upload-button,.criteria-upload-dropfield.parse-complete .upload-button{background:#d9efef}.assignment-upload-dropfield.parse-error .upload-button,.criteria-upload-dropfield.parse-error .upload-button{border:none;background:#fcf1de}.assignment-upload-dropfield.parse-complete .uploaded-files-status,.assignment-upload-dropfield.parse-in-progress .uploaded-files-status,.criteria-upload-dropfield.parse-complete .uploaded-files-status,.criteria-upload-dropfield.parse-in-progress .uploaded-files-status{gap:0}.assignment-upload-dropfield.parse-complete .uploaded-file-status-item,.assignment-upload-dropfield.parse-in-progress .uploaded-file-status-item,.assignment-upload-dropfield.parse-error .uploaded-file-status-item,.criteria-upload-dropfield.parse-complete .uploaded-file-status-item,.criteria-upload-dropfield.parse-in-progress .uploaded-file-status-item,.criteria-upload-dropfield.parse-error .uploaded-file-status-item{justify-content:flex-start;gap:12px}.assignment-upload-dropfield.parse-complete .upload-file-check-icon,.criteria-upload-dropfield.parse-complete .upload-file-check-icon{width:21px;height:21px;color:#40b0b0}.assignment-upload-dropfield.parse-complete .uploaded-file-name,.assignment-upload-dropfield.parse-in-progress .uploaded-file-name,.assignment-upload-dropfield.parse-error .uploaded-file-name,.criteria-upload-dropfield.parse-complete .uploaded-file-name,.criteria-upload-dropfield.parse-in-progress .uploaded-file-name,.criteria-upload-dropfield.parse-error .uploaded-file-name{color:#484848;padding-right:0}.assignment-upload-dropfield.parse-complete .remove-file-button,.assignment-upload-dropfield.parse-in-progress .remove-file-button,.assignment-upload-dropfield.parse-error .remove-file-button,.criteria-upload-dropfield.parse-complete .remove-file-button,.criteria-upload-dropfield.parse-in-progress .remove-file-button,.criteria-upload-dropfield.parse-error .remove-file-button{position:static;margin-left:auto;width:18px;height:18px;border:none;border-radius:4px;background:transparent;color:#555}.assignment-upload-dropfield.parse-complete .remove-file-button:hover:not(:disabled),.assignment-upload-dropfield.parse-in-progress .remove-file-button:hover:not(:disabled),.assignment-upload-dropfield.parse-error .remove-file-button:hover:not(:disabled),.criteria-upload-dropfield.parse-complete .remove-file-button:hover:not(:disabled),.criteria-upload-dropfield.parse-in-progress .remove-file-button:hover:not(:disabled),.criteria-upload-dropfield.parse-error .remove-file-button:hover:not(:disabled){background:#ececec;color:#393939}.assignment-upload-dropfield.parse-in-progress .remove-file-button:hover:not(:disabled),.criteria-upload-dropfield.parse-in-progress .remove-file-button:hover:not(:disabled){background:#ececec;color:#393939}.assignment-upload-dropfield .upload-button:hover,.criteria-upload-dropfield .upload-button:hover{transform:none}.assignment-upload-dropfield.clickable:not(.parse-complete):not(.parse-in-progress):not(.parse-error):hover .upload-button,.criteria-upload-dropfield.clickable:not(.parse-complete):not(.parse-in-progress):not(.parse-error):hover .upload-button{background:#f2fafa;border-color:#73c5c5}.teaching-material-upload-dropfield .upload-button:hover{transform:none}.assignment-dropfield-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.teaching-material-upload-dropfield .uploaded-files-status{gap:8px}.teaching-material-upload-dropfield .uploaded-file-status-item{justify-content:flex-start;gap:12px;background:#d9efef;border-radius:4px;padding:9px 15px}.teaching-material-upload-dropfield.parse-error .uploaded-file-status-item{background:transparent;border-radius:0}.teaching-material-upload-step.teaching-material-upload-step--complete .teaching-material-upload-dropfield .uploaded-file-status-item{background:#d9efef}.teaching-material-upload-dropfield .upload-file-check-icon{width:21px;height:21px;color:#40b0b0}.teaching-material-upload-dropfield .uploaded-file-name{color:#484848;padding-right:0}.teaching-material-upload-dropfield .remove-file-button{position:static;margin-left:auto;width:18px;height:18px;border:none;border-radius:4px;background:transparent;color:#555}.teaching-material-upload-dropfield .remove-file-button:hover:not(:disabled){background:#ececec;color:#393939}.teaching-material-upload-dropfield .upload-file-spinner{border:2px solid rgba(64,176,176,.25);border-top:2px solid #40b0b0}.teaching-material-upload-dropfield.teaching-material-loading .upload-button{border-color:#8fcccc;animation:parse-progress-glow 1.8s ease-in-out infinite}.teaching-material-upload-dropfield .uploaded-file-status-item--loading{border:1px solid #8fcccc;background:#f0fbfb}.upload-add-more-button{display:inline-flex;align-items:center;justify-content:center;align-self:center;margin-top:4px;min-height:32px;padding:6px 12px;border:1px solid #a9d5d5;border-radius:8px;background:#fff;color:#0f7474;font-family:var(--font-family-sans);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.upload-add-more-button:hover:not(:disabled){background:#f0fbfb;border-color:#84bcbc;color:#0b6161}.upload-add-more-button:disabled{opacity:.6;cursor:not-allowed}.upload-bottom-stack{display:flex;flex-direction:column;align-items:stretch;gap:10px}.assignment-dropfield-icon{display:flex;align-items:center;justify-content:center;width:31px;height:31px;color:#737676}.assignment-dropfield-icon svg{width:31px;height:31px}.assignment-dropfield-text{margin:0;font-family:var(--font-family-sans);font-size:14px;font-weight:500;line-height:20px;color:#646a6a;text-align:center}.assignment-dropfield-types{margin:0;font-family:var(--font-family-sans);font-size:12px;font-weight:500;line-height:16px;color:#919494;text-align:center}.upload-button:hover{transform:scale(1.025)}.upload-button.parse-complete{justify-content:space-between;border:1px solid #548f66;background:#d9f5e1}.teaching-material-upload-dropfield.parse-complete .upload-button{border:1px solid #d2d2d2;background:#fff}.upload-button.parse-in-progress{justify-content:space-between;border:1px solid #8fcccc;background:#fff;animation:parse-progress-glow 1.8s ease-in-out infinite}.assignment-upload-dropfield.parse-error .upload-file-error-icon,.criteria-upload-dropfield.parse-error .upload-file-error-icon,.teaching-material-upload-dropfield.parse-error .upload-file-error-icon{width:21px;height:21px;color:#c18800}.upload-button.parse-error{justify-content:space-between;border:1px solid #efbb59;background:#fcf1de}.upload-placeholder{font-size:1rem;color:#575757;white-space:nowrap;cursor:inherit}.uploaded-files-status{width:100%;display:flex;flex-direction:column;gap:8px}.uploaded-file-status-item{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;position:relative}.upload-file-check-icon{width:20px;height:20px;color:#29524a;flex-shrink:0}.upload-file-error-icon{width:20px;height:20px;color:#dc2626;flex-shrink:0}.upload-file-spinner{width:20px;height:20px;border:2px solid rgba(41,82,74,.2);border-top:2px solid #29524a;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.assignment-upload-dropfield.parse-in-progress .upload-file-spinner,.criteria-upload-dropfield.parse-in-progress .upload-file-spinner{border:2px solid rgba(64,176,176,.2);border-top:2px solid #40b0b0;animation:spin 1.8s linear infinite}.uploaded-file-name{flex:1;font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:#575757;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;padding-right:34px;min-width:0}.remove-file-button{position:absolute;right:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#575757;cursor:pointer;border-radius:4px;transition:all .2s ease;flex-shrink:0;padding:0}.remove-file-button:hover:not(:disabled){background:#f5f5f5;color:#ef4444}.remove-file-button:disabled{opacity:.5;cursor:not-allowed}.remove-file-button svg{width:16px;height:16px}.parse-status-section{position:absolute;bottom:1rem;right:1rem;z-index:999;width:1.5rem;height:1.5rem;pointer-events:none}.parse-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%}@keyframes parse-progress-glow{0%{box-shadow:0 0 0 1px #40b0b029}50%{box-shadow:0 0 0 4px #40b0b047}to{box-shadow:0 0 0 1px #40b0b029}}.checkmark{width:1.5rem;height:1.5rem;background-color:#32959a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;animation:checkmark-bounce .6s ease-out;transform-origin:center}@keyframes checkmark-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width: 768px){.upload-title{font-size:18px}.upload-description,.upload-file-types{font-size:14px}}.approve-btn{display:flex;gap:.625rem;align-items:center;justify-content:center;border:3px solid #29524a;border-radius:5.625rem;background:transparent;padding:.625rem 1.5rem;font-size:1.25rem;font-weight:400;color:#171b1f;cursor:pointer;transition:all .2s ease;align-self:flex-end;max-width:12rem;min-width:12rem;white-space:nowrap}.approve-btn:hover{background:#d8f1f3;transform:scale(1.05)}.approve-btn.approved{background:#29524a;color:#fff}.approve-btn-icon.approved{stroke:#fff}.approve-all-btn{background:#2e5557;border:none;border-radius:3.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.approve-all-btn:hover{background:#1e3d3f;transform:translateY(-1px)}.editable-markdown-content{white-space:pre-wrap;outline:none;cursor:text;min-height:1.2em;word-wrap:break-word;padding:2px;margin:-2px;border-radius:4px;transition:background-color .2s ease}.editable-markdown-content:hover{background-color:#39a2991a}.editable-markdown-content:focus{background-color:transparent}.editable-markdown-content:empty:before{content:attr(data-placeholder);color:#888;font-style:italic}.editable-markdown-content.disabled{cursor:default}.editable-markdown-content.disabled:hover{background-color:transparent}.editable-markdown-content.disabled:focus{background-color:transparent}.editable-markdown-content .competence-aim-code{cursor:help;text-decoration:underline dotted}.comment-card{display:flex;padding:var(--spacing-6);flex-direction:column;align-items:flex-start;gap:var(--spacing-2);flex-shrink:0;border-radius:8px;border:1px solid #b3b3b3;background:#fff;transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease;z-index:1;box-sizing:border-box;width:100%;height:fit-content;align-self:start}.comment-card--waiting-approval{border:1px solid #bcbcbc;background:#fff}.comment-card--editing{border:1px solid #40b0b0;background:#fff}.comment-card--waiting-approval,.comment-card--editing,.comment-card--ai-approved{border-radius:.375rem;padding:.75rem;gap:.5rem}.comment-card--approved{border:1px solid #007171;background:#f8fafa}.comment-card:hover:not(.approved):not(.comment-card--ai-approved),.comment-card[data-highlighted=true]:not(.approved):not(.comment-card--ai-approved){opacity:1;border-radius:.375rem;border:1px solid #40b0b0;background:#fff;box-shadow:0 2px 4px #96afaf}.comment-card.approved{border-radius:.375rem;border:1px solid #40b0b0;background:#f2fafa}.comment-card.approved:hover,.comment-card.approved[data-highlighted=true],.comment-card.comment-card--general.approved,.comment-card.comment-card--general.approved:hover,.comment-card.comment-card--general.approved[data-highlighted=true],.comment-card.comment-card--ai-approved,.comment-card.comment-card--ai-approved:hover,.comment-card.comment-card--ai-approved[data-highlighted=true],.comment-card.comment-card--general.comment-card--ai-approved,.comment-card.comment-card--general.comment-card--ai-approved:hover,.comment-card.comment-card--general.comment-card--ai-approved[data-highlighted=true]{border-radius:.375rem;border:1px solid #40b0b0;background:#f2fafa;box-shadow:none}.comment-header{display:flex;width:100%;justify-content:space-between;align-items:center;color:var(--color-text-question-title);font-family:var(--font-family-sans);font-size:.875rem;font-style:normal;font-weight:500;line-height:1.25rem;letter-spacing:-.00938rem}.comment-header h4{display:inline-flex;align-items:center;gap:.25rem;margin:0;color:#272727;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-style:normal;font-weight:500;line-height:1.25rem;letter-spacing:-.00938rem}.comment-header-actions{display:flex;gap:.5rem;align-items:center}.comment-header-ai-icon{display:inline-flex;flex-shrink:0;color:#40b0b0}.comment-delete-icon{width:1.25rem;height:1.25rem;cursor:pointer;transition:color .2s ease}.comment-text{color:var(--color-text-primary);font-family:var(--font-family-sans);gap:.625rem;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.45;width:100%}.comment-text--editing{border:1px solid #40b0b0;border-radius:.25rem;padding:.125rem .25rem;box-sizing:border-box}.comment-card--general{border-radius:.5rem;border:1px solid #b3b3b3;background:#fff}.comment-card--general:hover:not(.approved):not(.comment-card--ai-approved),.comment-card--general[data-highlighted=true]:not(.approved):not(.comment-card--ai-approved){border-radius:.375rem;border:1px solid #40b0b0;background:#fff;box-shadow:0 2px 4px #96afaf}.comment-card--general .comment-header{margin-bottom:4px}.comment-text-collapsed{color:#000;font-size:1.15rem;font-style:normal;font-weight:400;line-height:normal}.comment-footer-actions{display:flex;width:100%;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:6px}.comment-footer-actions--waiting-approval{justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.5rem;border-top:1px solid #e2e2e2}.comment-footer-actions--editing{justify-content:flex-start;align-items:center;margin-top:.25rem;padding-top:.5rem;border-top:1px solid #e2e2e2}.comment-footer-actions--approved{justify-content:flex-end;align-items:center;margin-top:.25rem;padding-top:.5rem;border-top:1px solid #e2e2e2}.comment-footer-actions-left{display:inline-flex;align-items:center;gap:.5rem}.comment-text-action{border:none;background:transparent;padding:.125rem .25rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;letter-spacing:-.1504px;cursor:pointer}.comment-text-action--neutral{color:#383f3f}.comment-text-action--approve{color:#06894c}.comment-save-button{border:none;border-radius:.1875rem;background:#f2fafa;color:#009696;padding:.125rem .25rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;letter-spacing:-.1504px;cursor:pointer}.comment-approve-button{border:1px solid #40b0b0;background:#f2fafa;color:#007171;border-radius:999px;padding:4px 10px;font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;line-height:1rem;cursor:pointer}.comment-approve-button.approved{background:#40b0b0;color:#fff}.comment-approve-button:disabled{cursor:default;opacity:1}.comment-reject-button{border:1px solid #c45c5c;background:#fff5f5;color:#a02828;border-radius:999px;padding:4px 10px;font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;line-height:1rem;cursor:pointer}.comment-reject-button:hover{background:#ffecec}.comments-list{display:flex;flex-direction:column;gap:12px;width:100%}.comment-card.pending{border:1px solid #40b0b0;background:#fff;opacity:1;transform:scale(1);animation:slideIn .3s ease-out}.comment-card.pending .comment-text,.comment-footer-actions--pending{margin-top:0}.comment-text-action:disabled{cursor:default;opacity:.45}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.comment-header-highlight-icon{width:1.25rem;height:1.25rem;cursor:pointer;transition:color .2s ease;color:#2e5456}.comment-header-highlight-icon:hover{color:#39a299}.comment-card[data-awaiting-highlight=true]{border:1px dashed #29524a;animation:pulse-awaiting-highlight 1.2s ease-in-out infinite}@keyframes pulse-awaiting-highlight{0%,to{box-shadow:0 0 #29524a33}50%{box-shadow:0 0 0 3px #29524a26}}.comment-header-edit-icon{width:1.25rem;height:1.25rem;cursor:pointer;transition:color .2s ease;color:#2e5456}.comment-header-edit-icon:hover{color:#39a299}.comment-header-edit-btn{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:background-color .2s ease}.comment-header-edit-btn:hover{background-color:#00717114}.comment-header-edit-btn:focus-visible{outline:2px solid #007171;outline-offset:2px}.comment-header-delete-icon:hover{color:#39a299}.comment-footer-actions--compact{margin-top:2px}.comment-inline-action,.comment-inline-edit-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bcbcbc;background:#fff;color:#4b5757;border-radius:6px;min-height:28px;padding:4px 10px;font-family:Inter,system-ui,sans-serif;font-size:.8125rem;cursor:pointer}.comment-inline-edit-btn{border-color:#009696;color:#007171;background:#f8fafa}.create-comment-card{display:flex;padding:.75rem;flex-direction:column;align-items:flex-start;gap:.5rem;flex-shrink:0;border-radius:.5rem;border:1px solid #b3b3b3;background:#fff;box-shadow:none;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;height:fit-content;align-self:start;width:100%;box-sizing:border-box}.create-comment-card.fade-out{opacity:0;transform:scale(.8)}.create-comment-card-header{display:flex;width:100%;align-items:center;justify-content:space-between}.create-comment-card-header h4{margin:0;color:#272727;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-weight:500;line-height:1.25rem}.create-comment-card-icon{width:1rem;height:1rem;color:#007171;flex-shrink:0;transition:color .2s ease}.create-comment-card-actions{display:inline-flex;align-items:center;align-self:flex-end;gap:.25rem;border:1px solid #40b0b0;background:#f2fafa;color:#007171;border-radius:999px;padding:.25rem .625rem}.create-comment-trigger-container{display:flex;justify-content:center;align-items:center;width:100%;min-height:52px}.create-comment-card-actions--floating{cursor:pointer;padding:.4rem .875rem;gap:.35rem;transition:background-color .2s ease,border-color .2s ease}.create-comment-card-actions--floating:hover{background:#eaf7f7;border-color:#009696}.create-comment-card-actions--floating:focus-visible{outline:2px solid #007171;outline-offset:2px}.create-comment-card-action-text{font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.1rem}.create-comment-card:hover,.create-comment-card.hovered{border-color:#40b0b0;background:#f8fafa}.create-comment-card:hover .create-comment-card-actions,.create-comment-card.hovered .create-comment-card-actions{background:#eaf7f7}.create-comment-card-text{color:#5a5a5a;font-family:var(--font-family-sans);font-size:.875rem;font-weight:400;line-height:1.4;width:100%;opacity:1;transition:none}.create-comment-card.editing{cursor:default}.create-comment-card-editor{width:100%;box-sizing:border-box}.create-comment-card.editing .create-comment-card-icon{cursor:pointer}.create-comment-card-actions--floating .create-comment-card-icon{width:1.1rem;height:1.1rem}.create-comment-card:focus-visible{outline:2px solid #007171;outline-offset:2px}.create-comment-input{min-height:2.5rem;align-self:stretch;border:none;outline:none;font-size:.875rem;font-family:var(--font-family-sans);background:transparent;color:var(--color-text-primary);font-weight:400;width:100%;resize:vertical}.create-comment-input::placeholder{color:var(--color-text-secondary);font-style:italic}.task-section{display:flex;flex-direction:column;gap:0;width:100%;max-width:100%;background:var(--color-bg-white);border:1px solid #bcbcbc;border-radius:8px;padding:0;box-sizing:border-box;align-items:stretch;overflow:hidden}.task-section--approved{border-color:#40b0b0}.task-section--unapproved{border-color:#bcbcbc}.task-answer-card{display:flex;flex-direction:column;gap:0;align-items:stretch;width:100%}.task-approve-button{align-self:flex-end;margin-top:var(--spacing-2)}.sub-question{display:flex;width:100%;flex-direction:column;gap:0;margin:0}.sub-question-card{display:flex;flex-direction:column;gap:0;background:transparent;border:none;border-radius:0;padding:0;box-sizing:border-box;overflow:visible}.sub-question-card+.sub-question-card{border-top:1px solid #bcbcbc}.sub-question-answer-section{display:flex;flex-direction:column;flex:1;min-width:0;gap:var(--spacing-2)}.sub-question-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:0}.sub-question-text{font-family:var(--font-family-sans);font-size:var(--spacing-5);font-weight:500;color:var(--color-text-primary);margin:0;flex:1;min-width:0}.answer-label{font-family:var(--font-family-sans);font-size:var(--spacing-4);font-weight:600;color:var(--color-text-answer-label);text-transform:uppercase;letter-spacing:.1em;line-height:normal}.sub-question-card>.comment-card{align-self:start;height:fit-content}.task-header{display:flex;justify-content:space-between;align-items:flex-start;align-self:stretch}.task-info{display:flex;flex-direction:column;gap:.75rem}.task-title{color:var(--color-text-question-title);font-family:var(--font-family-sans);font-size:22px;font-style:normal;font-weight:600;line-height:normal;margin:0}.task-description{color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--spacing-5);font-style:normal;font-weight:400;line-height:normal;white-space:pre-wrap;margin:0}.score-badge{display:flex;width:4.75rem;padding:.5rem 1rem;justify-content:center;align-items:center;gap:.625rem;border-radius:3rem;border:1px solid #a1cccb;background:#d8f1f3}.score-badge span{color:#2e5456;font-size:1.25rem;font-style:normal;font-weight:600;line-height:normal}.answer-section{margin-top:.875rem}.task-options-list{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.task-option{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid transparent;color:var(--color-text-primary);font-family:var(--font-family-sans)}.task-option-row-main{flex:1;min-width:0}.task-option-correct{background:#daf4e8;border-color:#46c98c;color:var(--color-success)}.task-option-selected-correct{border-width:2px;font-weight:600}.task-option-wrong-pick{background:#f4dadf;border:2px solid #d7778a;color:var(--color-error);font-weight:600;box-shadow:0 0 0 1px var(--color-error-border)}.task-option-picked-tag{flex-shrink:0;align-self:flex-start;font-size:.6875rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .5rem;border-radius:var(--radius-sm);white-space:nowrap}.task-option-picked-tag--correct{background:var(--color-bg-white);color:var(--color-success);border:1px solid var(--color-success)}.task-option-picked-tag--wrong{background:var(--color-bg-white);color:var(--color-error);border:1px solid var(--color-error-border)}.task-option-label{font-weight:600;margin-right:.5rem}.answer-label{font-size:.75rem;color:#4a5568;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;color:#818181;font-size:1rem;font-style:normal;font-weight:600;line-height:normal}.task-card-header{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);align-items:stretch;gap:0;width:100%;margin:0;padding:0;box-sizing:border-box;background:#d9efef;border-bottom:1px solid #bcbcbc}.task-section--approved .task-card-header{background:#f2fafa;border-bottom:1px solid #40b0b0}.task-section--approved .sub-question-card .task-with-comments-answer-header .task-card-header{background:#f2fafa}.sub-question-card .task-with-comments-answer-header .task-card-header{width:100%;margin:0;padding:0;background:#fff;border-bottom:none;grid-template-columns:minmax(0,1fr)}.sub-question-card .task-with-comments-answer-header .task-card-header-cell{background:#fff}.task-card-header-cell{background:#f8fafa}.task-section--approved .task-card-header-cell,.task-section--approved .sub-question-card .task-with-comments-answer-header .task-card-header-cell{background:#f2fafa}.task-card-header-cell--left{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:nowrap;padding:10px 20px}.task-card-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:#d9efef;color:#007171;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:600;line-height:1;flex-shrink:0}.task-card-step-badge svg{width:20px;height:20px}.task-section--approved .task-card-step-badge{width:32px;min-width:32px;height:32px;padding:0;border-radius:50%;background:#40b0b0;color:#fff}.task-section--approved .sub-question-card .task-with-comments-answer-header .task-card-step-badge.task-card-step-badge--letter{background:#40b0b0;color:#fff}.task-card-step-badge--letter{min-width:22px;height:22px;padding:0 6px;font-size:14px;text-transform:lowercase;font-weight:400;color:#313636;background:#d9efef}.task-card-title{margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-question-card .task-card-title{color:#313636;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:1.25}.sub-question-card .task-card-header-cell--left{gap:8px;padding:20px 20px 16px}.sub-question-card .editable-score-badge{min-height:27px;padding:2px 12px;border-radius:8px}.task-card-header-cell--right{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;border-left:1px solid #bcbcbc;padding:10px 20px}.task-card-header-text{font-family:Lora,serif;font-size:1.45rem;font-style:normal;font-weight:500;color:#1b1b1b;line-height:normal}@media (max-width: 640px){.task-card-header{grid-template-columns:1fr}.task-card-header-cell--right{border-left:none;border-top:1px solid #bcbcbc}}.comment-info-box{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:24px;background-color:#fdfdfd;border:1px solid #40b0b0;border-radius:8px;width:100%;max-width:543px;box-sizing:border-box}.comment-info-box-section{display:flex;flex-direction:column;gap:12px}.comment-info-box-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-info-box-section h3{margin:0;color:#111212;font-family:Lora,serif;font-size:16px;font-style:normal;font-weight:500;line-height:normal;letter-spacing:-.439px}.comment-info-box-section p{margin:0;color:#393939;font-family:Inter,system-ui,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:normal;letter-spacing:-.439px}.comment-info-box-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;background:none;border:none;cursor:pointer;color:#555;padding:0;flex-shrink:0;transition:color .2s ease}.comment-info-box-close:hover{color:#222}.comment-info-box-close svg{width:18px;height:18px}.comment-info-box-close img{display:block;width:20px;height:20px}.score-badge{display:flex;justify-content:center;align-items:center;gap:2px;border-radius:6px;border:1px solid #40b0b0;background:#fff;cursor:pointer;color:#313636;font-family:Inter,system-ui,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:normal;padding:3px 12px;min-height:27px}.score-badge:hover:not(.disabled){background:#f7fcfc;transform:none}.score-badge .score-value{cursor:text;color:#313636}.score-badge .score-input{border:none;background:transparent;color:#313636;font-size:14px;font-weight:400;text-align:center;outline:none;width:1.5rem;padding:0}.score-badge .score-input:focus{outline:none}.score-badge .score-separator{color:#313636;cursor:inherit}.score-badge .score-max{cursor:inherit;color:#313636}.score-badge.disabled{cursor:default;border:1px solid #40b0b0;background:#fff}.score-badge.disabled:hover{transform:none;background:#fff}.score-badge.disabled .score-value{cursor:default;color:#313636}.score-badge.disabled .editable-markdown-content:focus{background:transparent;outline:none;cursor:not-allowed}.task-with-comments-layout{position:relative;display:flex;flex-direction:column;width:100%;gap:0}.task-with-comments-layout--has-info-overlay{padding-top:4.25rem}.comment-info-box-overlay{position:absolute;z-index:2;top:0;left:0;right:0;box-sizing:border-box}.task-with-comments-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:0;width:100%;min-height:10.25rem;align-items:start;border-bottom:1px solid #bcbcbc}.answer-column-wrap{position:relative;height:fit-content;background:#fff}.answer-column-wrap--has-score-control{height:100%;align-self:stretch}.task-with-comments-answer-header{width:100%}.answer-besvarelse-pill{position:absolute;top:1rem;left:1.75rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:4px;background:#d9efef;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;color:#000;line-height:normal}.answer-column{background-color:#fff;border-radius:0;padding:2rem 1rem .75rem;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:normal;color:#1c1c1c;position:relative;height:fit-content;transition:background-color .2s ease,box-shadow .2s ease}.task-with-comments-score-row{position:absolute;right:1rem;bottom:.75rem;display:inline-flex;align-items:center;justify-content:flex-end;z-index:2;background:#fff;padding-left:8px;border-radius:4px}.task-points-control{display:inline-flex;align-items:center;gap:3px}.task-points-control--approved .score-badge{border-color:#40b0b0;background:#40b0b0}.task-with-comments-layout .task-points-control .score-badge span{font-size:14px;font-weight:400}.task-points-approve-button{display:inline-flex;align-items:center;justify-content:center;height:100%;min-height:27px;padding:2px 8px;border:1px solid #40b0b0;border-radius:3px;background:#f2fafa;color:#009696;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:400;line-height:20px;letter-spacing:-.1504px;cursor:pointer}.task-points-approve-button:hover{background:#e4f6f6}.task-points-approve-button--approved{padding:0;border:none;border-radius:0;background:transparent}.task-points-approve-button--approved:hover{background:transparent;text-decoration:underline}.answer-column-wrap.answer-column.answer-column-wrap--has-score-control{height:100%;padding-bottom:3rem}.answer-column.answer-column--hover-comment-no-highlight{background-color:#fff;box-shadow:0 0 0 1px #40b0b040}.task-with-comments-layout .answer-column-wrap.answer-column-compact{min-height:0}.task-with-comments-layout .answer-column-wrap.answer-column-compact.answer-column{padding-top:.75rem}.sub-question-card .answer-besvarelse-pill{display:none}.sub-question-card .answer-column{padding:0 1rem .75rem;font-size:16px;line-height:1.23}.sub-question-card .task-with-comments-score-row{right:1rem;bottom:.75rem}.sub-question-card .answer-column-wrap.answer-column.answer-column-wrap--has-score-control{padding-bottom:3rem}.sub-question-card .answer-column.answer-column-compact{padding-top:0}.sub-question-card .answer-column .text-answer-container{padding-left:1rem}.sub-question-card .task-with-comments-body{border-bottom:none}.comments-column-container{position:relative;width:100%;height:100%;align-self:stretch;background:#f2f5f5;border-left:1px solid #bcbcbc;border-radius:0;padding:18px 20px;box-sizing:border-box}.sub-question-card .comments-column-container{padding:22px 40px 22px 38px;border-left:1px solid #bcbcbc;min-height:0}.comments-column{position:relative;display:flex;flex-direction:column;gap:12px;height:100%}.comments-how-it-works-summary{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;border:none;background:transparent;width:20px;height:20px;margin-left:auto;padding:0;color:#009696}.comments-how-it-works-summary:after{content:none}.comments-how-it-works-icon{flex-shrink:0;display:block;width:20px;height:20px}.comments-how-it-works-body{margin:8px 0 0;padding:0 0 0 26px;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.45;color:#4a5568;max-width:36rem}.comments-info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1112124d}.comments-info-modal{width:min(543px,100%);max-height:min(90vh,760px);overflow:auto;border-radius:8px}.comments-scroll-container{display:flex;flex-direction:column;gap:13px;flex:0 1 auto;overflow-y:auto;padding:0 2px 0 0;min-height:0;background:transparent}.comments-scroll-container::-webkit-scrollbar{width:10px}.comments-scroll-container::-webkit-scrollbar-track{background:#e8f5f5;border-radius:10px}.comments-scroll-container::-webkit-scrollbar-thumb{background:#9fd4d4;border-radius:10px}.comments-scroll-container::-webkit-scrollbar-thumb:hover{background:#73c5c5}.task-with-comments-footer{margin-top:0;padding:18px 20px 16px;background:#f2f5f5;border-top:1px solid #bcbcbc;border-radius:0 0 8px 8px;box-sizing:border-box}.sub-question-card .task-with-comments-footer{display:none}.task-with-comments-general-card-wrap{margin-bottom:14px}.task-with-comments-footer-actions,.task-with-comments-footer-actions-center{display:flex;justify-content:center;align-items:center}.add-comment-button{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .15s ease;font-family:Inter,sans-serif;font-weight:500;font-size:16px}.add-comment-button--figma{position:relative;width:34px;height:34px;padding:5px;border:none;border-radius:999px;background-color:#d9efef;color:#007171}.add-comment-button--figma:hover:not(:disabled){background-color:#73c5c5;transform:scale(1.04)}.add-comment-button--figma:focus-visible{outline:2px solid #007171;outline-offset:2px}.add-comment-button--figma:disabled{cursor:not-allowed;opacity:.55}.add-comment-button__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.add-comment-button__icon{display:flex;align-items:center;justify-content:center}@media (max-width: 900px){.task-with-comments-body{grid-template-columns:1fr;gap:16px}.comments-column-container,.comments-column{min-height:0}.task-with-comments-footer-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.task-with-comments-footer-actions-center,.task-with-comments-footer-actions-right{display:contents}}@media (prefers-reduced-motion: reduce){.add-comment-button--figma:hover:not(:disabled){transform:none}.comments-how-it-works-summary:after{transition:none}}.text-answer-container{position:relative;background:#fff}.text-answer-box{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:.95rem;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:normal;align-self:stretch;border-radius:0;background:#fff;cursor:text;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.text-answer-box .segment-renderer{display:flex;flex-direction:column;gap:.95rem;width:100%;background:#fff;color:#1c1c1c}.text-answer-box .answer-heading{margin:.35rem 0 .15rem;font-weight:700;line-height:1.25;color:#1c1c1c}.text-answer-box h1.answer-heading{font-size:1.35em}.text-answer-box h2.answer-heading{font-size:1.2em}.text-answer-box h3.answer-heading{font-size:1.08em}.text-answer-box .answer-line{margin:0;color:#1c1c1c;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:normal}.text-answer-box .answer-line--plain{white-space:pre-wrap;overflow-wrap:break-word}.text-answer-box .answer-line--list{display:flex;align-items:flex-start;gap:.25rem}.text-answer-box .answer-line__bullet{flex-shrink:0;-webkit-user-select:none;user-select:none}.text-answer-box .answer-line__body{min-width:0}.text-answer-box strong{font-weight:700}.text-answer-box em{font-style:italic}.text-answer-box::selection{background-color:#dfdfdf;color:#000}.text-answer-box::-moz-selection{background-color:#dfdfdf;color:#000}.text-answer-box .selection-highlight{background-color:#626262;color:#fff;padding:0;margin:0;border-radius:2px}.text-answer-box mark{display:inline;background-color:#e2fbfb;border-radius:.3em;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:text;position:relative;z-index:1;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.text-answer-box mark:hover,.text-answer-box mark.highlight-active{transform:scale(1.05);background-color:#a6dada;box-shadow:0 2px 8px #a6dada73;z-index:10}.text-answer-box mark.pending-highlight{background-color:#eaf0f0;color:#000;box-shadow:0 2px 6px #eaf0f073;animation:pendingPulse 1.5s ease-in-out infinite}@keyframes pendingPulse{0%,to{opacity:1}50%{opacity:.85}}.feedback-section{display:flex;flex-direction:column;gap:1.5rem;width:100%;margin-top:0;padding-bottom:2rem}.feedback-section--export{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid #f3f4f6}.feedback-section--export .feedback-section-header{border-top:none;padding-top:0;margin-top:0}.feedback-unlock-hint{margin:0 0 1rem;font-size:1rem;font-weight:400;color:#4b5563;max-width:42rem;line-height:1.45}.teacher-assessment-section{scroll-margin-top:13rem}.teacher-assessment-lock-hint{margin:0;font-size:1rem;font-weight:400;color:#4b5563;max-width:42rem;line-height:1.45}.teacher-assessment-body-wrap{position:relative}.teacher-assessment-body-wrap--locked .teacher-assessment-grid{opacity:.42;filter:grayscale(.15);transition:opacity .35s ease,filter .35s ease}.teacher-assessment-locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:8px;background:#fdfdfdb8;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:auto;cursor:not-allowed}.feedback-section-header{border-top:1px solid #e8e9e9;padding-top:1.25rem;margin-top:0;position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.feedback-section-header h2{font-family:Lora,serif;font-size:2.5rem;color:#000;font-weight:300;letter-spacing:-.01em;margin:0;display:inline-block;position:relative}.teacher-assessment-section .feedback-section-header{padding-top:2rem}.teacher-assessment-grid{display:flex;flex-direction:column;gap:1.5rem}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.feedback-actions{grid-column:1 / -1;display:flex;justify-content:center;gap:1rem}.feedback-actions>button{width:min(340px,100%)}.teacher-assessment-card{background:#fff;border:1px solid #bcbcbc;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.teacher-assessment-card-header{align-items:center;background:#f8fafa;border-bottom:1px solid #cecece;display:flex;gap:.625rem;padding:.875rem 1rem}.teacher-assessment-card-header h3{color:#313131;font-family:Inter,system-ui,sans-serif;font-size:1.125rem;font-weight:500;line-height:1.25;margin:0}.teacher-assessment-card-header-icon{display:block;height:1.2rem;width:1.2rem;color:#64a9a9}.teacher-assessment-card-description{color:#292929;font-size:.875rem;margin:0;padding:.75rem 1rem 0}.teacher-assessment-card--grade{overflow:visible;padding-bottom:.875rem;position:relative;z-index:3}.teacher-assessment-card--combined{background:#fff}.teacher-assessment-card--feedback{padding:0}.teacher-assessment-card-header--feedback{min-height:3.75rem}.teacher-assessment-combined-columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr)}.teacher-assessment-column--preferences{background:#f2f5f5;border-left:1px solid #cecece}.teacher-assessment-column--preferences .teacher-assessment-card-header{background:#f8fafa}.teacher-assessment-combined-actions{align-items:center;border-top:1px solid #cecece;display:flex;justify-content:flex-end;min-height:4.3rem;padding:.75rem 1.5rem}.teacher-assessment-generate-button{margin:0}.feedback-card{background:#fff;border:1px solid #b3b3b3;border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:.875rem}.justification-area{align-self:start}.feedback-card-header{display:flex;justify-content:space-between;align-items:center}.feedback-card h3{font-family:Inter,system-ui,sans-serif;font-size:1.125rem;font-weight:600;color:#272727;margin:0}.feedback-card-content{display:flex;flex-direction:column;font-size:1.0625rem}.teacher-assessment-notes{display:flex;align-self:stretch;border-radius:.5rem;background:#f4f7f7;margin:.75rem 1rem 1rem;min-height:13rem;padding:.625rem}.teacher-assessment-preferences{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 1.5rem 0}.teacher-assessment-preference-field{display:grid;gap:.65rem}.teacher-assessment-preference-label{color:#2b2b2b;font-size:1rem;font-weight:500;line-height:1.2}.teacher-assessment-preference-dropdown-button{background:#fff;border:1px solid #ccc;border-radius:8px;color:#545353;font-size:1rem;min-height:2.35rem}.teacher-assessment-preference-dropdown-button:hover:not(:disabled){background:#fff;border-color:#bdbdbd}@media (max-width: 900px){.teacher-assessment-preferences{grid-template-columns:1fr}}.teacher-assessment-notes-textarea{width:100%;height:100%;border:none;background:transparent;resize:none;outline:none;font-size:.875rem;line-height:1.4;color:#111827}.teacher-assessment-notes-textarea::placeholder{color:var(--color-text-muted);font-style:italic;font-size:.875rem;font-weight:300}.teacher-assessment-feedback-content{background:#fff;border-top:1px solid #cecece;padding:1.5rem 1.75rem}.teacher-assessment-feedback-text{color:#1c1c1c;font-size:1rem;line-height:1.35;margin:0;white-space:pre-wrap}.teacher-assessment-feedback-actions{align-items:center;border-top:1px solid #cecece;display:flex;gap:1rem;justify-content:space-between;min-height:4.375rem;padding:.75rem 1.5rem}.teacher-assessment-feedback-grade-badge{align-items:center;background:#f2fafa;border:1px solid #40b0b0;border-radius:.5rem;color:#2f3d3d;display:inline-flex;font-family:Inter,system-ui,sans-serif;gap:.5rem;line-height:1;padding:.5rem .75rem;box-shadow:0 2px 2px #91919140}.teacher-assessment-feedback-grade-label{color:#3f4d4d;font-size:1rem;font-weight:500}.teacher-assessment-feedback-grade-value{color:#2f3d3d;font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.teacher-assessment-feedback-action-buttons{align-items:center;display:flex;gap:.75rem;margin-left:auto}.info-badge{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background-color:#e8f7fa;border-radius:var(--radius-lg);font-size:14px;font-weight:400;width:fit-content}.info-badge-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;background-color:#2e636b;border-radius:50%;flex-shrink:0}.info-icon-text{color:var(--color-text-white);font-family:var(--font-family-sans);font-weight:600;font-size:14px;line-height:1}.info-badge-text{flex:1;margin:0;font-family:var(--font-family-sans);font-weight:400;font-size:14px;line-height:1.4;color:#2c3b41}.info-badge-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;background:none;border:none;cursor:pointer;color:#2c3b41;padding:0;flex-shrink:0;transition:color .2s ease}.info-badge-close:hover{color:#1a2529}.info-badge-close svg{width:18px;height:18px}.success-badge{background-color:#def7ec;color:#03543f;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;width:fit-content}.edit-icon-btn{background:none;border:none;cursor:pointer;color:#9ca3af;padding:.25rem;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-icon-btn:hover{background-color:#f3f4f6;color:#4b5563}.grade-control-area{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem 0}.grade-scale-info{display:flex;align-items:center;gap:.5rem;color:#4b5563;font-weight:500}.grade-input-wrapper{display:flex;align-items:center;width:19rem}.grade-input-wrapper .dropdown-button{min-height:2.85rem}.grade-scale-dropdown-selected{display:flex;align-items:center;gap:8px;flex:1}.grade-scale-dropdown-check-icon{width:20px;height:20px;color:#40b0b0;flex-shrink:0}.teacher-assessment-section .teacher-assessment-generate-button svg{color:#64a9a9}.grade-input-wrapper .dropdown-button.grade-scale-dropdown-button--selected{background:#d9efef;border-color:#d9efef}.grade-input-wrapper .dropdown-button.grade-scale-dropdown-button--selected:hover:not(:disabled){background:#d9efef;border-color:#d9efef}.feedback-section--export .feedback-card.export-area{max-width:100%}.export-card-content{justify-content:center}.export-text{color:#6b7280;font-size:.875rem}.export-error{color:#b91c1c;font-size:.875rem;margin:.5rem 0 0}@media (max-width: 768px){.teacher-assessment-combined-columns{grid-template-columns:1fr}.teacher-assessment-column--preferences{border-left:none;border-top:1px solid #cecece}.teacher-assessment-generate-button{align-self:stretch;width:100%}.feedback-grid{grid-template-columns:1fr}.feedback-actions{flex-direction:column;align-items:stretch}.feedback-actions>button{width:100%}.teacher-assessment-feedback-actions{align-items:flex-start;flex-direction:column}.teacher-assessment-feedback-grade-badge{font-size:1.25rem}.teacher-assessment-feedback-action-buttons{justify-content:stretch;margin-left:0;width:100%}.teacher-assessment-feedback-action-buttons button{flex:1}}.submission-container{display:flex;flex-direction:column;gap:1.5rem;width:100%}.assessment-navbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;width:100%;min-height:3.75rem;padding:.625rem 2.625rem;box-sizing:border-box;border-bottom:1px solid #aeb2b3;background:#f5f7f7;box-shadow:none;z-index:1;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.assessment-navbar-left{flex:1 1 auto;min-width:0;display:flex;flex-direction:row;align-items:center}.assessment-navbar-title{margin:0;font-family:Lora,Georgia,serif;font-size:2rem;font-weight:400;color:#2f3434;letter-spacing:-.0094rem;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-navbar-right{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;gap:.625rem}.assessment-navbar-pagination{font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:400;color:#5e5e5e;letter-spacing:-.0094rem;line-height:1.25rem}.assessment-navigation-button{cursor:pointer;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;border-radius:0;background:transparent;padding:0;transition:transform .2s ease}.assessment-navigation-button:hover{transform:scale(1.08)}.assessment-navigation-button:focus-visible{outline:2px solid #007171;outline-offset:2px}.assessment-navbar-chevron-icon{font-size:.875rem;color:#009ba5}.assessment-navbar-text-container{font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:#5e5e5e;font-weight:400;white-space:nowrap;letter-spacing:-.0094rem;line-height:1.25rem}.assessment-navbar-text-container--meta b{font-weight:500;color:#343434}@media (max-width: 768px){.assessment-navbar{padding:.625rem 1rem;gap:.75rem}.assessment-navbar-title{font-size:1.5rem}.assessment-navbar-right{gap:.5rem}.assessment-navbar-text-container--meta{display:none}}@media (max-width: 480px){.assessment-navbar{min-height:4rem;padding:.5rem .75rem}.assessment-navbar-title{font-size:1.25rem}.assessment-navbar-right{gap:.25rem}}.app{display:flex;flex-direction:column;gap:0}.assessment-form-container{width:100%;max-width:1440px;margin:0 auto 4rem;padding:0}.header-content{display:flex;align-items:flex-start;gap:2rem;margin-bottom:1rem}.header-text{max-width:38rem}.page-header{width:100%;max-width:51.625rem;margin:4.25rem auto 2.75rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.header-actions{display:flex;align-items:center;margin-top:.5rem}.clear-cache-button{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;white-space:normal;line-height:1.2;background:transparent;color:var(--color-text-icon);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:.5rem .7rem;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.clear-cache-button:hover{background:var(--color-bg-hover);color:var(--color-error);border-color:var(--color-error-border)}.clear-cache-button svg{width:1.25rem;height:1.25rem}.page-header h1{margin:0;color:var(--color-text-primary);text-align:left;font-family:var(--font-family-display);font-size:clamp(2rem,3.6vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.015em}.page-header p{margin:.75rem 0 0;font-size:1.125rem;font-weight:400;color:var(--color-text-muted);max-width:37.5rem;line-height:1.5}.assessment-workflow{display:flex;flex-direction:column;align-items:center;gap:2.1875rem;padding-bottom:3rem}.setup-floating-next-button{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);padding:.6rem 1rem;border:none;border-radius:.5rem;background:#009696;color:#2f3838;display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:10.5rem;min-height:2.5rem;font-size:1.2rem;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px #0000002e,0 2px 6px #0000001f;z-index:1000;transition:transform .2s ease,filter .2s ease,opacity .2s ease;animation:setup-floating-next-button-float 2.6s ease-in-out infinite}.setup-floating-next-cta{position:fixed;left:50%;bottom:1.2rem;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem;z-index:1000}.setup-floating-next-button:hover{transform:translate(-50%) translateY(-1px) scale(1.5);filter:brightness(1.05);animation-play-state:paused}.setup-floating-next-button:disabled{background:#8aa2a2;color:#3f4b4b;cursor:not-allowed;filter:saturate(.7);animation:none}.setup-floating-next-button:disabled:hover{transform:translate(-50%);filter:saturate(.7)}.setup-floating-next-button--fading{opacity:0;pointer-events:none}.setup-page-transition{min-height:100vh;display:flex;flex-direction:column;transition:transform .28s ease,opacity .28s ease;opacity:1}.setup-page-transition--leaving{transform:translate(-48px);opacity:0}.setup-next-page{min-height:100vh;display:flex;flex-direction:column;margin-bottom:0;transition:transform .28s ease,opacity .28s ease}.setup-page-transition{margin-bottom:0}.setup-next-page .page-header,.setup-next-page .header-text{max-width:64rem}.setup-next-page .page-header p{max-width:52rem}.setup-next-page .assessment-workflow{gap:1rem;padding-bottom:1.25rem}.setup-next-start-assessment-wrap{width:min(64rem,calc(100vw - 2rem));display:flex;justify-content:center}.setup-next-start-assessment-button{width:min(26rem,100%)}.setup-next-page--entering{transform:translate(0);opacity:1;animation:setup-next-enter .28s ease}@keyframes setup-next-enter{0%{transform:translate(48px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes setup-floating-next-button-float{0%{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-3px) scale(1.02)}to{transform:translate(-50%) translateY(0) scale(1)}}.step-content{display:flex;align-items:stretch;gap:.875rem}.file-upload-step-content{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.teaching-material-confirmation{display:flex;align-items:center;gap:.5rem;align-self:flex-end;font-size:.7rem;color:var(--color-text-secondary);margin-top:.125rem}.teaching-material-confirmation-checkbox{width:.85rem;height:.85rem;accent-color:var(--color-brand-primary);cursor:pointer}.teaching-material-confirmation-checkbox:disabled{cursor:not-allowed}.teaching-material-confirmation-helptext{margin:0;align-self:flex-end;font-size:.75rem;font-weight:600;color:#b42318}.teaching-material-confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100}.teaching-material-confirm-modal{width:min(36rem,calc(100vw - 2rem));background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.25rem;display:flex;flex-direction:column;gap:.875rem}.teaching-material-confirm-modal h3{margin:0;font-size:1.125rem;color:var(--color-text-primary)}.teaching-material-confirm-modal p{margin:0;font-size:.95rem;color:var(--color-text-secondary);line-height:1.45}.teaching-material-confirm-modal-actions{display:flex;justify-content:flex-end;gap:.625rem}.teaching-material-confirm-modal-primary,.teaching-material-confirm-modal-secondary{border-radius:var(--radius-md);padding:.5rem .9rem;font-size:.9rem;cursor:pointer}.teaching-material-confirm-modal-primary{border:1px solid var(--color-brand-primary);background:var(--color-brand-primary);color:#fff}.teaching-material-confirm-modal-secondary{border:1px solid var(--color-border-default);background:#fff;color:var(--color-text-secondary)}.file-upload-step-confirm{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border-default, #e5e7eb)}.file-upload-step-confirm-button{display:inline-flex;align-items:center;justify-content:center;background:#009696;color:#2f3838;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.file-upload-step-confirm-button:hover:not(:disabled){filter:brightness(1.05)}.file-upload-step-confirm-button:disabled{opacity:.6;cursor:not-allowed}.file-upload-step-confirm-button--secondary{background:transparent;color:#22676a;border:1px solid #22676a;font-size:.875rem;padding:.375rem .875rem}.file-upload-step-confirm-button--secondary:hover:not(:disabled){background:#f0fafa;filter:none}.file-upload-step-confirm-done{margin:0;font-size:1rem;font-weight:500;color:#22676a}.file-upload-step-confirm-hint{margin:0;font-size:.875rem;color:#4b5563;max-width:28rem}.file-upload-step-confirm-error{margin:0;font-size:.875rem;color:var(--color-error, #b91c1c)}.single-upload-container{display:flex;flex-direction:row;gap:.875rem}.step-content>*{flex:1;min-width:0;max-width:100%}.start-assessment-button{display:flex;align-items:center;justify-content:center;gap:.5rem;justify-self:center;background:#009696;color:#2f3838;border:none;border-radius:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:16rem;text-align:center;width:22.5rem}.start-assessment-button:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.start-assessment-button:disabled{opacity:1;cursor:not-allowed;transform:none;background:#009696;color:#2f3838;filter:saturate(.85) brightness(.95)}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.processing-indicator{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;background:#f0f9ff;border:1px solid #0ea5e9;border-radius:.5rem}.processing-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;box-sizing:border-box}.start-assessment-button .processing-spinner{margin-left:.35rem;margin-top:.25rem;animation:spin 1s linear infinite}.processing-indicator p{margin:0;color:#0c4a6e;font-weight:400}.processing-indicator p:last-child{margin-top:10px;color:#6c757d;font-style:italic}.results-summary{background:#ecf8f9;border:1px solid #b2efe6;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;text-align:center}.results-summary h3{margin:0 0 .5rem;font-weight:500;color:#194b4d;font-size:1.25rem}.results-summary p{margin:0;color:#194b4d;font-size:1rem}.results-summary .results-note{margin-top:.5rem;font-size:.875rem;color:#194b4d;opacity:.8}.results-actions{text-align:center}.view-results-button{display:inline-flex;align-items:center;gap:.75rem;background:#009696;color:#2f3838;border:none;border-radius:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.view-results-button:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}@media (max-width: 768px){.assessment-form-container{padding:0 1rem 2rem}.page-header h1{font-size:2.2rem}.page-header p{font-size:1rem}.page-header{flex-direction:column;margin:2rem auto 1.5rem}.workflow-step{max-width:100%}.step-header{flex-direction:column;align-items:flex-start;gap:.75rem;text-align:left}.header-content{flex-direction:column;align-items:center;gap:1rem}.header-actions{justify-content:flex-start;margin-top:0}.upload-grid{grid-template-columns:1fr;gap:1rem}.start-assessment-button,.view-results-button{width:100%;padding:1rem}.processing-indicator{flex-direction:column;text-align:center;gap:.5rem}.assessment-header{flex-direction:column;align-items:flex-start;gap:.5rem}.assessment-header h4{font-size:1rem}.score-badge,.grade-badge{align-self:flex-start}}.dropdown-wrapper{width:100%;margin-top:auto}.dropdown-selected{display:flex;align-items:center;gap:8px;flex:1}.dropdown-check-icon{width:20px;height:20px;color:var(--color-success);flex-shrink:0}.dropdown-wrapper .dropdown-button.dropdown-button--selected{background:var(--color-success-bg);border-color:var(--color-success)}.dropdown-wrapper .dropdown-button.dropdown-button--selected:hover:not(:disabled){background:var(--color-success-bg);border-color:var(--color-success)}.assessment-form-footer{width:100%;min-height:6.75rem;background:#a6dada;margin-top:auto;box-shadow:0 0 0 100vmax #a6dada;clip-path:inset(0 -100vmax);display:flex;align-items:flex-end;justify-content:flex-start;padding:.5rem 0 .35rem}.assessment-form-footer-content{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.9rem;color:#1a2a2a}.assessment-form-footer-content a{color:inherit;text-decoration:none}.assessment-form-footer-content a:hover{text-decoration:underline}.subject-selection-step .step-header{min-height:46px;gap:12px}.subject-selection-step .step-number-badge{width:46px;height:46px;padding:11px 18px;font-size:20px}.subject-selection-step .step-header h2{font-size:18px;line-height:1}.subject-selection-step .step-description{padding:0;margin-top:0;font-size:14px;color:#555}.subject-selection-step .subject-dropdown-container{max-width:778px}.subject-selection-step .subject-selection-input-grid{display:flex;flex-direction:column;width:100%;gap:1rem}.subject-selection-step .subject-selection-input-group{display:flex;flex-direction:column;gap:.5rem;min-width:0}.subject-selection-step .subject-selection-input-label{margin:0;display:inline-flex;align-items:center;gap:.25rem;color:#4b5050;font-size:.875rem;font-weight:500;line-height:1.25rem}.subject-selection-step .subject-selection-input-label svg{width:1.375rem;height:1.375rem}.subject-selection-step .subject-selection-grade-scale .dropdown-button{height:39px;border:1px solid #d3d3d3;background:#fff}.subject-selection-step .subject-selection-grade-scale .dropdown-button:hover:not(:disabled){background:#fff;border-color:#d3d3d3}.subject-selection-step .subject-selection-grade-scale .dropdown-button.subject-selection-grade-button--selected,.subject-selection-step .subject-selection-grade-scale .dropdown-button.subject-selection-grade-button--selected:hover:not(:disabled){background:#d9efef;border-color:#d9efef}.subject-selection-step .subject-selection-grade-scale .dropdown-menu{border-color:#d3d3d3}.subject-selection-step .subject-selection-grade-selected{display:flex;align-items:center;gap:8px;flex:1}.subject-selection-step .subject-selection-grade-check-icon{width:1.25rem;height:1.25rem;color:#40b0b0;flex-shrink:0}.subject-selection-step .subject-selection-grade-scale .dropdown-text{color:#494949;opacity:.55}.subject-selection-step .subject-selection-grade-scale .dropdown-button.subject-selection-grade-button--selected .dropdown-text{opacity:1}.subject-selection-step.subject-selection-step--loaded{background:#f2fafa;border-color:#d9efef!important;box-shadow:0 2px 2px #91919140}.subject-selection-step.subject-selection-step--loaded .step-number-badge{background:#40b0b0;color:#fff;padding:8px}.subject-selection-step.subject-selection-step--loaded .step-number-badge svg{width:30px;height:30px}.subject-selection-step.subject-selection-step--loaded .step-header h2{color:#393939}.subject-selection-step.subject-selection-step--loaded .step-description{color:#555}.subject-dropdown-container{position:relative;width:100%;max-width:100%}.subject-dropdown-container .react-select__control{min-height:39px;border:1px solid #d3d3d3;border-radius:8px;font-family:Inter,sans-serif;font-size:16px;color:#494949;box-shadow:none;background:#fff}.subject-dropdown-container .react-select__control:hover:not(.react-select__control--is-disabled){background:#fff;border-color:#c4c9c9;box-shadow:none}.subject-dropdown-container--loaded .react-select__control,.subject-dropdown-container--loaded .react-select__control:hover:not(.react-select__control--is-disabled),.subject-dropdown-container--loaded .react-select__control--is-focused,.subject-dropdown-container--loaded .react-select__control--menu-is-open{background:#d9efef;border-color:#d9efef}.subject-dropdown-container .react-select__control--is-focused,.subject-dropdown-container .react-select__control--menu-is-open{border-color:#32959a;box-shadow:none}.subject-dropdown-container .react-select__control--is-disabled{cursor:not-allowed;opacity:.6;background:#fff}.subject-dropdown-container .react-select__placeholder{font-size:16px;color:#494949;opacity:.55}.subject-dropdown-container .react-select__single-value{font-size:16px;color:#494949}.subject-dropdown-container .react-select__control--is-focused .react-select__single-value{opacity:.35}.subject-dropdown-container .react-select__input-container{font-size:16px;color:#494949}.subject-dropdown-container .react-select__value-container{padding:2px 12px 2px 46px}.subject-dropdown-container .react-select__menu{margin-top:0;border:1px solid #d3d3d3;border-radius:4px;box-shadow:0 4px 20px #a0a0a040}.subject-dropdown-container .react-select__option{font-family:Inter,sans-serif;font-size:16px;color:#494949;border-bottom:none;border-radius:4px}.subject-dropdown-container .react-select__option:hover,.subject-dropdown-container .react-select__option--is-focused{background:#f5f5f5}.subject-dropdown-container .react-select__option--is-selected{background:#d9efef;color:#494949}.subject-dropdown-container .react-select__dropdown-indicator{padding:0 10px 0 6px;color:#6b7070}.subject-dropdown-container .react-select__indicator-separator{display:none}.subject-dropdown-search-indicator{width:32px;height:32px;border:1px solid #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff}.subject-dropdown-search-icon{width:20px;height:20px;color:#6b7280}.subject-dropdown-leading-indicator{position:absolute;top:50%;left:14px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.subject-dropdown-option-content{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.subject-dropdown-option-title{color:#374151}.subject-dropdown-option-code{font-size:12px;color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.subject-dropdown-container .react-select__option--is-selected .subject-dropdown-option-code{background:#d9efef;color:#29524a}.subject-dropdown-selected{display:flex;align-items:center;gap:8px;flex:1}.subject-dropdown-check-icon{width:20px;height:20px;color:#40b0b0;flex-shrink:0}.subject-dropdown-spinner{width:20px;height:20px;border:2px solid rgba(0,113,113,.2);border-top:2px solid #007171;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.subject-dropdown-container .dropdown-button.subject-dropdown-button--selected{background:#d9efef;border-color:#73c5c5}.subject-dropdown-container .dropdown-button.subject-dropdown-button--selected:hover:not(:disabled){background:#d9efef;border-color:#73c5c5}.subject-dropdown-container .dropdown-button.subject-dropdown-button--selected-loading{background:#fff;border-color:#d3d3d3}.subject-dropdown-container .dropdown-button.subject-dropdown-button--selected-loading:hover:not(:disabled){background:#e8f7f7;border-color:#d3d3d3}.subject-dropdown-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:.5rem;color:#6b7280;font-size:.875rem}.circle-spinner{width:1.5rem;height:1.5rem;border:.125rem solid #f3f4f6;border-top:.125rem solid #32959a;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.subject-dropdown-container{max-width:none}.subject-dropdown-menu{max-height:300px}}.subject-selector{width:100%;max-width:500px;margin-bottom:1.5rem}.react-select__control{min-height:48px;border:2px solid #e5e7eb;border-radius:.5rem;transition:all .2s ease;background-color:#fff;cursor:pointer}.react-select__control:hover:not(.react-select__control--is-disabled){border-color:#32959a;box-shadow:0 0 0 3px #4c8c501a}.react-select__control--is-focused,.react-select__control--menu-is-open{border-color:#32959a;box-shadow:0 0 0 3px #4c8c501a}.react-select__control--is-disabled{background-color:#f9fafb;cursor:not-allowed}.react-select__placeholder{color:#9ca3af}.react-select__single-value,.react-select__input{color:#374151}.react-select__menu{border-radius:.5rem;border:2px solid #e5e7eb;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:.25rem}.react-select__menu-list{max-height:400px;padding:0}.react-select__option{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;background-color:#fff;color:#374151}.react-select__option:last-child{border-bottom:none}.react-select__option:hover,.react-select__option--is-focused{background-color:#f9fafb}.react-select__option--is-selected{background-color:#ecf8f9;color:#32959a}.react-select__indicator-separator{display:none}.react-select__dropdown-indicator{color:#6b7280}.react-select-option{display:flex;align-items:center;justify-content:space-between;width:100%}.parse-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:.5rem;color:#6b7280;font-size:.875rem}.subject-selector-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.875rem;color:#374151;margin-bottom:.5rem}.label-icon{width:1.25rem;height:1.25rem;color:#6b7280}.subject-selector-dropdown{position:relative;width:100%}.subject-selector-dropdown.disabled{opacity:.6;cursor:not-allowed}.subject-selector-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;color:#374151;cursor:pointer;transition:all .2s ease}.subject-selector-button:hover:not(:disabled){border-color:#32959a;box-shadow:0 0 0 3px #4c8c501a}.subject-selector-button:focus{outline:none;border-color:#32959a;box-shadow:0 0 0 3px #4c8c501a}.subject-selector-button:disabled{cursor:not-allowed;background:#f9fafb}.selected-subject{text-align:left;flex:1;color:#374151}.subject-selector-button:not(:disabled) .selected-subject:empty:before{content:attr(placeholder);color:#9ca3af}.chevron{width:1.25rem;height:1.25rem;color:#6b7280;transition:transform .2s ease;flex-shrink:0}.chevron.rotated{transform:rotate(180deg)}.subject-dropdown-menu{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:.25rem;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.search-container{position:relative;padding:.75rem;border-bottom:1px solid #e5e7eb}.search-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:#9ca3af}.search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;outline:none;transition:border-color .2s ease}.search-input:focus{border-color:#32959a;box-shadow:0 0 0 3px #4c8c501a}.subjects-list{overflow-y:auto;max-height:300px}.subject-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;text-align:left;background:#fff;border:none;font-size:.9rem;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f3f4f6}.subject-option:hover{background:#f9fafb}.subject-option.selected{background:#ecf8f9;color:#32959a}.subject-option:last-child{border-bottom:none}.subject-title{font-weight:500;color:#374151;flex:1}.subject-option.selected .subject-title{color:#32959a}.subject-code{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.subject-option.selected .subject-code{background:#e6f3e6;color:#2d5a31}.no-results{padding:1rem;text-align:center;color:#6b7280;font-style:italic}.resources-loading,.load-error,.resources-loaded{margin-top:.5rem;padding:.5rem;border-radius:.375rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.resources-loading{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.load-error{background:#fee2e2;color:#dc2626;border:1px solid #f87171}.resources-loaded{background:#d1fae5;color:#065f46;border:1px solid #34d399}.curriculum-warning-banner{margin-top:.75rem;padding:.75rem .875rem;border-radius:.5rem;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;font-size:.875rem;line-height:1.35}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-text,.success-text{font-weight:500}@media (max-width: 768px){.subject-selector{max-width:none}.subject-dropdown-menu{max-height:300px}.subjects-list{max-height:200px}.subject-option{padding:.625rem .75rem}.subject-title{font-size:.875rem}.subject-code{font-size:.7rem}}.submission-management-card{width:min(64rem,calc(100vw - 2rem))}.submission-management-card--disabled{opacity:.6}.submission-management-step{display:flex;flex-direction:column;gap:1.25rem;width:100%}.submission-management-hidden-file-input{display:none}.submission-management-drop-surface{transition:box-shadow .15s ease,background-color .15s ease;border:1px solid var(--color-border-default, #e5e7eb);border-radius:.5rem;background:var(--color-bg-primary, #fff);padding:0;overflow:hidden}.submission-management-drop-surface--active{box-shadow:0 0 0 2px var(--color-brand-primary, #22676a);background:var(--color-bg-hover, rgba(34, 103, 106, .06))}.submission-management-table-wrap{overflow-x:auto;width:100%;padding:0}.submission-management-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}.submission-management-table th,.submission-management-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--color-border-default, #e5e7eb);vertical-align:middle}.submission-management-empty-row{text-align:center!important;color:var(--color-text-muted, #9ca3af);padding:2rem .6rem!important}.submission-management-table th{font-weight:600;color:var(--color-text-secondary, #4b5563);white-space:nowrap;background:#f8fafa}.submission-management-table th:nth-child(1),.submission-management-table td:nth-child(1){width:24%}.submission-management-table th:nth-child(2),.submission-management-table td:nth-child(2),.submission-management-table th:nth-child(3),.submission-management-table td:nth-child(3){width:20%}.submission-management-table th:nth-child(4),.submission-management-table td:nth-child(4){width:8%;text-align:center}.submission-management-table th:nth-child(5),.submission-management-table td:nth-child(5){width:20%;text-align:center}.submission-management-table th:nth-child(6),.submission-management-table td:nth-child(6){width:8%}.submission-management-table tbody tr:nth-child(odd){background:#fff}.submission-management-table tbody tr:nth-child(2n){background:#fff}.submission-management-cell-filename{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-management-input{width:100%;min-width:6rem;max-width:100%;padding:.35rem .5rem;border:1px solid var(--color-border-default, #e5e7eb);border-radius:var(--radius-md, .5rem);font-size:.875rem;background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #111827)}.submission-management-input:focus{outline:none;border-color:var(--color-brand-primary, #22676a);box-shadow:0 0 0 1px var(--color-brand-primary, #22676a)}.submission-management-input:disabled{opacity:.65;cursor:not-allowed}.submission-management-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.2rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.submission-management-badge svg{width:.9rem;height:.9rem}.submission-management-status-spinner{width:14px;height:14px;border:2px solid rgba(59,130,246,.25);border-top:2px solid #3b82f6;border-radius:50%;animation:submission-management-spin .8s linear infinite;flex-shrink:0}@keyframes submission-management-spin{to{transform:rotate(360deg)}}.submission-management-badge--parse-ok{background:#ecfdf5;color:#047857}.submission-management-badge--parse-loading{background:#eff6ff;color:#1d4ed8}.submission-management-badge--parse-error{background:#fef2f2;color:#b91c1c}.submission-management-badge--assess-complete{background:#ecfdf5;color:#047857}.submission-management-badge--assess-queued{background:#f3f4f6;color:#4b5563}.submission-management-badge--assess-scoring{background:#eff6ff;color:#1d4ed8}.submission-management-badge--assess-commenting{background:#f5f3ff;color:#6d28d9}.submission-management-badge--assess-feedback{background:#eefcf5;color:#047857}.submission-management-badge--assess-grading{background:#fff7ed;color:#c2410c}.submission-management-badge--assess-idle{background:transparent;color:var(--color-text-muted, #9ca3af)}.submission-management-badge--assess-error{background:#fef2f2;color:#b91c1c}.submission-management-remove{background:transparent;border:none;color:#575757;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:1rem;padding:.25rem}.submission-management-remove:hover:not(:disabled){background:#f5f5f5;color:#ef4444;border-radius:4px}.submission-management-remove:disabled{opacity:.5;cursor:not-allowed}.submission-management-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .75rem .5rem;margin-top:.25rem}.submission-management-quota{margin:0;font-size:.85rem;color:var(--color-text-secondary, #4b5563)}.submission-management-delete-all{border:1px solid var(--color-border-default, #e5e7eb);background:var(--color-bg-primary, #fff);border-radius:var(--radius-md, .5rem);padding:.4rem .75rem;font-size:.85rem;cursor:pointer;color:var(--color-text-secondary, #4b5563)}.submission-management-footer-actions{display:flex;align-items:center;gap:.5rem}.submission-management-upload-button{border:1px solid var(--color-brand-primary, #22676a);background:var(--color-bg-primary, #fff);border-radius:var(--radius-md, .5rem);padding:.4rem .75rem;font-size:.85rem;cursor:pointer;color:var(--color-brand-primary, #22676a)}.submission-management-upload-button:hover:not(:disabled){background:var(--color-bg-hover, #f0fafa)}.submission-management-upload-button:disabled{opacity:.5;cursor:not-allowed}.submission-management-delete-all:hover:not(:disabled){background:var(--color-bg-hover, #f9fafb)}.submission-management-delete-all:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.submission-management-table th:nth-child(4),.submission-management-table td:nth-child(4),.submission-management-table th:nth-child(5),.submission-management-table td:nth-child(5){display:none}}.setup-context-summary-card{width:min(64rem,calc(100vw - 2rem));border-color:#b8d9db;background:linear-gradient(180deg,#f8fcfc,#f2f8f8)}.setup-context-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.setup-context-summary-header-actions{display:inline-flex;align-items:center;gap:.45rem}.setup-context-summary-header h2{margin:0;font-size:1.05rem;font-weight:600;color:#194b4d}.setup-context-summary-pill{border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;white-space:nowrap}.setup-context-summary-pill--ok{background:#def7f4;color:#115e59}.setup-context-summary-pill--pending{background:#eef2f3;color:#3f5f61}.setup-context-summary-toggle{border:1px solid #b8d9db;background:#fff;color:#194b4d;border-radius:9999px;padding:.15rem .6rem;font-size:.72rem;font-weight:600;cursor:pointer}.setup-context-summary-toggle:hover{background:#f0fafa}.setup-context-summary-meta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.65rem}.setup-context-summary-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.92rem}.setup-context-summary-meta-label{color:#496b6e}.setup-context-summary-meta-value{color:#173f42;font-weight:600;text-align:right}.setup-context-summary-files-box{background:#fff;border:1px solid #d8e9e9;border-radius:.6rem;padding:.45rem .5rem}.setup-context-summary-files-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;max-height:11rem;overflow-y:auto;padding-right:.15rem}.setup-context-summary-file-item{display:flex;align-items:center;gap:.45rem;border:1px solid #d8e9e9;border-radius:.45rem;background:#f8fcfc;padding:.32rem .45rem;min-height:1.75rem}.setup-context-summary-file-icon{width:1rem;height:1rem;border-radius:9999px;border:1px solid #10b981;color:#10b981;font-size:.68rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.setup-context-summary-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173f42;font-size:.95rem}.setup-context-summary-files-empty{margin:.15rem 0;color:#5f7f82;font-size:.88rem}.school-type-selection-step .step-header{min-height:46px;gap:12px}.school-type-selection-step .step-number-badge{width:46px;height:46px;padding:11px 18px;font-size:20px}.school-type-selection-step .step-header h2{font-size:18px;line-height:1}.school-type-selection-step .step-description{padding:0;margin-top:0;font-size:14px;color:#555}.school-type-selection-step .school-type-selection-step-input-group{display:flex;flex-direction:column;gap:.5rem}.school-type-selection-step .school-type-selection-step-input-label{margin:0;display:inline-flex;align-items:center;gap:.25rem;color:#4b5050;font-size:.875rem;font-weight:500;line-height:1.25rem}.school-type-selection-step .school-type-selection-step-input-label svg{width:1.375rem;height:1.375rem}.school-type-selection-step .school-type-selection-step-dropdown .dropdown-button{height:39px;border:1px solid #d3d3d3;background:#fff}.school-type-selection-step .school-type-selection-step-dropdown .dropdown-button.dropdown-button--selected,.school-type-selection-step .school-type-selection-step-dropdown .dropdown-button.dropdown-button--selected:hover:not(:disabled){background:#d9efef;border-color:#d9efef}.school-type-selection-step .school-type-selection-step-dropdown .dropdown-menu{border-color:#d3d3d3}.school-type-selection-step .school-type-selection-step-selected,.school-type-selection-step .school-type-selection-step-placeholder{display:inline-flex;align-items:center;gap:8px}.school-type-selection-step .school-type-selection-step-check-icon{width:1.25rem;height:1.25rem;color:#40b0b0;flex-shrink:0}.school-type-selection-step.school-type-selection-step--loaded{background:#f2fafa;border-color:#d9efef!important;box-shadow:0 2px 2px #91919140}.school-type-selection-step.school-type-selection-step--loaded .step-number-badge{background:#40b0b0;color:#fff;padding:8px}.school-type-selection-step.school-type-selection-step--loaded .step-number-badge svg{width:30px;height:30px}.submission-upload-container{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}.submission-upload-main{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:32px;width:100%;flex-wrap:wrap}.submission-upload-footer{display:flex;flex-direction:column;align-items:flex-end;width:100%;max-width:1028px;gap:10px}.file-list-footer-content{display:flex;flex-direction:row;align-items:center;gap:14px;justify-content:flex-end;width:100%;flex-shrink:0;border-top:1px solid #e5e7eb;padding-top:1rem;margin-top:auto}.delete-all-files-button{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:4px 10px;gap:10px;background:#ffefef;border:1px solid #f1c8c8;border-radius:6px;box-sizing:border-box;cursor:pointer;transition:background-color .2s ease}.delete-all-files-button:hover:not(:disabled){background:#ffe0e0;border-color:#e8a8a8}.delete-all-files-button:disabled{opacity:.5;cursor:not-allowed}.delete-all-text{font-family:Inter,sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:normal;color:#555;white-space:pre}.delete-all-icon{width:17px;height:17px;color:#555}@media (max-width: 1100px){.submission-upload-main{flex-direction:column;align-items:center}.submission-upload-area,.file-list{width:100%;max-width:500px}.submission-upload-footer{align-items:center}.submission-upload-status-bar{width:100%;max-width:500px}}.file-list{display:flex;flex-direction:column;align-items:center;gap:15px;width:498px;height:275px;overflow:hidden;transition:border-color .2s ease,background-color .2s ease}.file-list.drag-over{border:2px dashed var(--color-border-focus)!important;background-color:var(--color-bg-brand-subtle)!important}.file-list-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:15px}.empty-state-icon{width:88px;height:88px;opacity:.6}.empty-state-text{font-family:var(--font-family-sans);font-style:normal;font-weight:400;font-size:var(--spacing-4);line-height:normal;color:var(--color-text-secondary);margin:0}.file-list-content{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden}.file-items-container{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;padding-right:10px}.file-items-container::-webkit-scrollbar{width:6px}.file-items-container::-webkit-scrollbar-track{background:#e9e9e9;border-radius:8px}.file-items-container::-webkit-scrollbar-thumb{background:#c9c9c9;border-radius:8px}.file-item{display:flex;flex-direction:column;width:100%;position:relative}.file-item-row{display:flex;align-items:center;gap:53px;width:100%;padding-bottom:8px}.file-name{font-family:var(--font-family-sans);font-weight:400;font-size:var(--spacing-4);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.file-status-badge{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:2px 6px;gap:10px;width:3rem;height:24px;background:#d9f5e1;border-radius:var(--radius-sm);box-sizing:border-box}.file-status-badge--ok{background:#d9f5e1}.file-status-badge--loading{background:#dbeafe}.file-status-badge--error{background:#fee2e2}.file-status-error-icon{width:16px;height:16px;color:#b91c1c;flex-shrink:0}.file-status-spinner{width:14px;height:14px;border:2px solid rgba(59,130,246,.25);border-top:2px solid #3b82f6;border-radius:50%;animation:file-status-spin .8s linear infinite;flex-shrink:0}@keyframes file-status-spin{to{transform:rotate(360deg)}}.file-type{font-family:var(--font-family-sans);font-weight:400;font-size:var(--spacing-4);color:var(--color-text-primary);width:40px;text-align:center}.file-delete-button{display:flex;justify-content:center;align-items:center;width:20px;height:20px;background:none;border:none;cursor:pointer;padding:0;color:var(--color-text-primary);transition:color .2s}.file-delete-button:hover{color:var(--color-error)}.file-item-divider{width:100%;height:1px;background-color:var(--color-border-default);position:relative}.submission-upload-status-bar{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:4px 10px;gap:10px;background:#e1f5fe;border:1px solid #d4e6ee;border-radius:6px;box-sizing:border-box;flex-shrink:0;transition:opacity .2s ease}.submission-upload-status-bar.has-details{justify-content:space-between;align-items:flex-start}.submission-upload-status-bar.disabled{opacity:.5}.status-bar-text-group{display:flex;flex-direction:column;gap:2px}.status-bar-text{font-family:Inter,sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:normal;color:#555;white-space:normal;margin:0}.status-bar-subtext{font-family:Inter,sans-serif;font-weight:400;font-size:13px;color:#666;margin:0}.status-bar-subtext-warning{color:#b45309}.status-bar-icon-wrapper{width:17px;height:17px;display:flex;align-items:center;justify-content:center}.status-bar-icon{width:100%;height:100%;color:#555}.assessment-dashboard-page{width:100%;max-width:1440px;margin:0 auto 4rem;padding:0}.assessment-dashboard-header{width:100%;max-width:64rem;margin:6.75rem auto 2.75rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.assessment-dashboard-header h1{margin:0;color:var(--color-text-primary);text-align:left;font-family:var(--font-family-display);font-size:clamp(2rem,3.6vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.015em}.assessment-dashboard-header p{margin:.75rem 0 0;font-size:1.125rem;font-weight:400;color:var(--color-text-muted);max-width:37.5rem;line-height:1.5}.assessment-dashboard-grid{width:100%;max-width:64rem;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.125rem}.assessment-dashboard-card{border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:#fff;padding:1rem 1.05rem;text-align:left;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);box-shadow:0 1px 2px #0f172a0d}@media (max-width: 1024px){.assessment-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.assessment-dashboard-grid{grid-template-columns:minmax(0,1fr)}}.assessment-dashboard-card:hover{border-color:color-mix(in srgb,var(--color-brand-primary) 26%,#d1d5db);box-shadow:0 12px 28px #0f172a1a,0 2px 10px #0f172a0d;transform:translateY(-2px)}.assessment-dashboard-card:focus-visible{outline:3px solid color-mix(in srgb,var(--color-brand-primary) 38%,transparent);outline-offset:2px}.assessment-dashboard-card--new{min-height:12.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border-style:dashed;color:#21676a;font-weight:600;background:#fff}.assessment-dashboard-card--new:disabled{cursor:not-allowed;border-color:var(--color-border-default);color:var(--color-text-muted);background:var(--color-bg-secondary);box-shadow:none;transform:none}.assessment-dashboard-card--new small{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-align:center;line-height:1.35;max-width:13rem}.assessment-dashboard-card--new svg{width:1.65rem;height:1.65rem}.assessment-dashboard-card--workspace{min-height:12.5rem;display:flex;flex-direction:column;justify-content:flex-start;gap:.9rem}.assessment-dashboard-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.assessment-dashboard-card-top h2{margin:0;font-family:var(--font-family-display);font-size:1.2rem;font-weight:500;color:var(--color-text-primary);line-height:1.25;letter-spacing:-.01em;min-height:3rem}.assessment-dashboard-delete{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:.35rem;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.assessment-dashboard-delete:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.assessment-dashboard-card-meta{margin-top:auto;display:flex;flex-direction:column;gap:.35rem}.assessment-dashboard-card-meta p{margin:0;font-size:.98rem;color:var(--color-text-secondary);font-weight:500}.assessment-dashboard-card-meta small{color:var(--color-text-muted);font-size:.82rem}.assessment-dashboard-error{width:100%;max-width:64rem;margin:1rem auto 0;color:var(--color-error);font-size:.95rem}.assessment-dashboard-delete-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:1200}.assessment-dashboard-delete-modal{width:min(28rem,calc(100vw - 2rem));background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.assessment-dashboard-delete-modal h3{margin:0;color:var(--color-text-primary);font-size:1.2rem;font-weight:600}.assessment-dashboard-delete-modal p{margin:0;color:var(--color-text-secondary);font-size:.96rem;line-height:1.45}.assessment-dashboard-delete-modal-actions{display:flex;justify-content:flex-end;gap:.625rem}.assessment-dashboard-delete-modal-button{border-radius:var(--radius-md);padding:.5rem .95rem;font-size:.9rem;cursor:pointer}.assessment-dashboard-delete-modal-button--secondary{border:1px solid var(--color-border-default);background:#fff;color:var(--color-text-secondary)}.assessment-dashboard-delete-modal-button--primary{border:1px solid var(--color-error-border);background:var(--color-error);color:#fff}@media (max-width: 768px){.assessment-dashboard-page{margin-bottom:2rem}.assessment-dashboard-header{margin:3.75rem auto 1.5rem}.assessment-dashboard-header p{font-size:1rem}}.app{background:#fdfdfd!important}:root{--review-page-bg: #ffffff;--review-page-horizontal-padding: 0;--review-sidebar-width: 307px;--review-border: #aeb2b3;--review-divider-soft: #cfd3d4;--review-soft-border: #c9cccd;--review-sidebar-bg: #ffffff;--review-teal: #007171;--review-teal-muted: #f2fafa;--review-status-gray: #b7bbbc;--review-status-yellow: #f1b544;--review-status-green: #42c98c;--review-text: #343434;--review-global-header-height: 6.25rem;--review-content-header-height: 4.625rem}.assessment-review-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--review-page-bg)}.assessment-review-page{display:flex;flex-direction:column;width:100%;max-width:none;margin:0;padding:0 var(--review-page-horizontal-padding) 0rem;box-sizing:border-box}.assessment-review-header-row{display:grid;grid-template-columns:var(--review-sidebar-width) minmax(0,1fr);width:100%;position:sticky;top:var(--review-global-header-height);z-index:40}.assessment-review-sidebar-header{display:flex;flex-direction:column;justify-content:center;min-height:3.75rem;padding:.5rem .95rem .5rem 1rem;background:#f5f7f7;border-bottom:1px solid var(--review-border);border-right:1px solid var(--review-divider-soft);box-sizing:border-box}.assessment-review-sidebar-header-title{margin:0 0 .1rem;font-family:Inter,system-ui,sans-serif;font-size:1.25rem;font-weight:500;color:#2f3434;line-height:1.25rem;letter-spacing:-.01em}.assessment-review-sidebar-header-sub{margin:0;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:400;color:#5e5e5e;line-height:1.25rem}.assessment-review-main-header{display:flex;align-items:center;border-bottom:1px solid var(--review-border);border-left:1px solid var(--review-divider-soft);background:#f5f7f7}.assessment-review-main-header .assessment-navbar{min-height:4.625rem;height:100%;padding:0 2.625rem;border-bottom:none}.assessment-review-content-row{display:grid;grid-template-columns:var(--review-sidebar-width) minmax(0,1fr);width:100%}.assessment-review-sidebar{grid-column:1;border:1px solid var(--review-border);border-top:none;border-right:none;background:var(--review-sidebar-bg);padding:0;position:fixed;left:0;top:calc(var(--review-global-header-height) + var(--review-content-header-height));width:var(--review-sidebar-width);height:calc(100vh - var(--review-global-header-height) - var(--review-content-header-height));align-self:start;overflow-y:auto;box-sizing:border-box;z-index:30}.assessment-review-student-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;width:100%}.assessment-review-student-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:2.125rem;padding:.4375rem 1rem;border:1px solid transparent;border-radius:0;background:transparent;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--review-text);text-align:left;transition:background .15s ease,border-color .15s ease}.assessment-review-student-item:hover{background:#eceeee;border-color:var(--review-soft-border)}.assessment-review-student-item--active{background:var(--review-teal-muted);border-color:#40b0b0}.assessment-review-student-item--active .assessment-review-student-item-label{font-weight:500}.assessment-review-student-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:.5rem;font-size:.875rem;line-height:1.25rem}.assessment-review-student-item-status{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;background:transparent}.assessment-review-student-item-status--untouched{width:20px;height:20px}.assessment-review-student-item-status--untouched:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid #bcc1c2;box-sizing:border-box}.assessment-review-student-item-status--started,.assessment-review-student-item-status--completed{width:20px;height:20px}.assessment-review-student-item-status-icon{display:block}.assessment-review-student-item-status-icon--started{width:16px;height:16px;color:var(--review-status-yellow)}.assessment-review-student-item-status-icon--completed{width:18px;height:18px;color:var(--review-status-green)}.assessment-review-main{min-width:0}.assessment-review-main-inner{display:flex;flex-direction:column;gap:2rem;max-width:1200px;padding:3.25rem 1.5rem 2rem 3.25rem}.assessment-review-main-column{grid-column:2;min-width:0;border-left:1px solid var(--review-border);background:#fff}@media (max-width: 1200px){:root{--review-sidebar-width: 280px}.assessment-review-main-column .assessment-navbar{padding:.625rem 1.5rem}.assessment-review-main-inner{padding:1rem 1rem 2rem 1.5rem}}@media (max-width: 960px){.assessment-review-page{padding-top:0}.assessment-review-header-row,.assessment-review-content-row{grid-template-columns:1fr}.assessment-review-header-row{position:static}.assessment-review-sidebar-header{border-right:1px solid var(--review-border)}.assessment-review-main-header{border-left:1px solid var(--review-border);border-right:1px solid var(--review-border)}.assessment-review-sidebar{position:static;max-height:none;border-right:1px solid var(--review-border);border:1px solid var(--review-border);border-top:none}.assessment-review-main-column{border:1px solid var(--review-border);border-top:none;background:transparent}.assessment-review-main-column .assessment-navbar{position:static;border:none}.assessment-review-student-list{flex-direction:row;flex-wrap:wrap}.assessment-review-student-item{width:auto;min-width:140px}}@media (max-width: 768px){.assessment-review-main-column .assessment-navbar{padding:.625rem 1rem}.assessment-review-main-header .assessment-navbar-title{font-size:1.5rem}.assessment-review-main-inner{padding:.875rem .5rem 2rem 1rem}}@media (max-width: 480px){.assessment-review-main-column .assessment-navbar{min-height:4rem;padding:.5rem .75rem}.assessment-review-main-column .assessment-navbar-title{font-size:1.25rem}}.content-page{min-height:100vh;background-color:var(--color-bg-white, #fbfbfa);font-family:var(--font-family-sans, "Inter", sans-serif);color:var(--color-text-primary, #303030)}.content-container{max-width:720px;margin:0 auto;padding:2rem 1.5rem 3rem}.content-header{margin-bottom:2.5rem}.content-back-link{display:inline-block;font-size:.9375rem;color:var(--color-brand-primary, #22676a);text-decoration:none;margin-bottom:1rem;transition:color .2s ease}.content-back-link:hover{color:var(--color-brand-primary-hover, #1b5255);text-decoration:underline}.content-title{font-size:1.875rem;font-weight:600;color:var(--color-text-primary, #303030);margin:0 0 .75rem;line-height:1.3}.content-content{display:flex;flex-direction:column;gap:2rem}.content-section{padding:1.5rem 0;border-bottom:1px solid var(--color-border-default, #e5e7eb)}.content-section:last-of-type{border-bottom:none}.content-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-question-title, #194b4d);margin:0 0 1rem}.content-section-icon{flex-shrink:0;width:1.5rem;height:1.5rem;color:var(--color-brand-primary, #22676a)}.content-section p{font-size:.9375rem;line-height:1.7;margin:0 0 .75rem;color:var(--color-text-secondary, #555555)}.content-section p:last-child{margin-bottom:0}@media (max-width: 768px){.content-container{padding:1.5rem 1rem 2rem}.content-title{font-size:1.5rem}.content-section-title{font-size:1.125rem}}.privacy-updated{font-size:.9375rem;color:var(--color-text-secondary, #555555);line-height:1.6;margin:0}.privacy-subtitle{font-size:1rem;font-weight:600;color:var(--color-text-primary, #303030);margin:1.25rem 0 .5rem}.privacy-section a{color:var(--color-brand-primary, #22676a);text-decoration:none}.privacy-section a:hover{text-decoration:underline}.privacy-list{list-style:none;padding:0;margin:.5rem 0 0}.privacy-list li{font-size:.9375rem;line-height:1.65;color:var(--color-text-secondary, #555555);padding:.35rem 0 .35rem 1.25rem;position:relative}.privacy-list li:before{content:"•";position:absolute;left:0;color:var(--color-brand-primary, #22676a);font-weight:700}.privacy-list li strong{color:var(--color-text-primary, #303030)}.privacy-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-default, #e5e7eb)}.privacy-footer .content-back-link{margin-bottom:0}.export-config-panel{display:flex;flex-wrap:wrap;gap:.75rem 1rem;padding-top:1rem;border-top:1px solid #bfc3c4}.export-config-panel-title{margin:0;width:100%;font-size:.95rem;font-weight:600;color:#303536}.export-config-panel-list{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.export-config-option{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:#4b5152}.export-config-option input{width:1rem;height:1rem;accent-color:#4bb7b7}.export-hero-card{border:1px solid #bcbcbc;border-radius:8px;background:#fff;overflow:hidden}.export-hero-header{padding:.95rem 1.5rem;background:#f8fafa;border-bottom:1px solid #c8cbcc}.export-hero-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.5rem;line-height:1.1;font-weight:500;color:#303536}.export-hero-body{padding:1.25rem 1.5rem;display:flex;gap:1.25rem;align-items:flex-start;justify-content:space-between}.export-hero-description{max-width:33rem;color:#495152;font-size:.95rem;line-height:1.45}.export-hero-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.export-main-action{min-height:2.85rem}.export-main-action--muted{opacity:.82}.export-toolbar{border:1px solid #c2c7c8;border-radius:8px;padding:.6rem .8rem;display:flex;gap:.7rem;align-items:center}.export-search-input-wrap{flex:1;border:1px solid #afb5b6;border-radius:6px;min-height:2.85rem;display:inline-flex;align-items:center;gap:.5rem;padding:0 .85rem;color:#697172}.export-search-input-wrap input{width:100%;border:none;outline:none;background:transparent;font-size:.95rem;color:#303536}.export-filter-button{width:3.9rem;min-height:2.85rem;border:1px solid #afb5b6;border-radius:6px;background:#fff;color:#596162;display:inline-flex;align-items:center;justify-content:center}.export-table-wrap{border:1px solid #c1c7c8;border-radius:8px;overflow:hidden;background:#fff}.export-table-header-row{border-bottom:1px solid #d2d6d7;padding:.8rem 1rem;background:#f9fbfb;display:grid;align-items:center;gap:2rem;grid-template-columns:28px minmax(280px,1.5fr) minmax(220px,1fr) minmax(240px,1fr) minmax(220px,1fr)}.export-select-all{display:inline-flex;align-items:center;justify-content:center}.export-select-all input{width:1rem;height:1rem;accent-color:#4bb7b7}.export-table-list{display:flex;flex-direction:column}.export-column-label{color:#4b5152;font-size:.88rem;font-weight:600;text-align:center}.export-column-label--name{text-align:left}.export-row{min-height:3.65rem;display:grid;grid-template-columns:28px minmax(280px,1.5fr) minmax(220px,1fr) minmax(240px,1fr) minmax(220px,1fr);gap:2rem;align-items:center;padding:.7rem 1rem;border-bottom:1px solid #d2d6d7;background:#fff}.export-row:last-child{border-bottom:none}.export-row--selected{background:#f4fafa}.export-row-check{display:inline-flex;align-items:center;justify-content:center}.export-row-check input{width:1rem;height:1rem;accent-color:#4bb7b7}.export-row-name{text-align:left;font-size:1.1rem;font-weight:500;color:#2f3434}.export-row-cell{display:inline-flex;justify-content:center;width:100%;color:#2f3434;font-size:.98rem;line-height:1.3}.export-table-empty{text-align:center;color:#7f8687;padding:2rem 1rem;font-size:.95rem}.export-actions{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;min-height:1.5rem}.export-progress-text{margin:0;color:#4d5556;font-size:.9rem}.export-error-text{margin:0;color:#b91c1c;font-size:.9rem}.export-page-layout .assessment-review-sidebar{position:sticky;top:calc(var(--review-global-header-height) + var(--review-content-header-height));left:auto;width:100%;height:auto;min-height:calc(100vh - var(--review-global-header-height) - var(--review-content-header-height))}.export-table-wrap--with-points .export-row,.export-table-wrap--with-points .export-table-header-row{grid-template-columns:28px minmax(230px,1.2fr) minmax(160px,.75fr) minmax(160px,.75fr) minmax(190px,.85fr) minmax(180px,.85fr)}@media (max-width: 1200px){.export-hero-body{flex-direction:column}.export-hero-controls{justify-content:flex-start}.export-column-label{display:none}.export-table-header-row{grid-template-columns:28px 1fr}.export-row{grid-template-columns:1fr;align-items:flex-start;gap:.65rem}.export-row-check{justify-content:flex-start}}.delete-account-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1100}.delete-account-modal-content{background-color:#fff;border:1px solid #989898;border-radius:4px;padding:22px 26px;display:flex;flex-direction:column;gap:18px;min-width:360px;max-width:90vw}.delete-account-modal-title{font-family:Inter,sans-serif;font-weight:500;font-size:20px;color:#2c2c2c;margin:0;line-height:normal}.delete-account-modal-description{font-family:Inter,sans-serif;font-weight:400;font-size:16px;color:#343434;margin:0;line-height:1.5}.delete-account-modal-error{font-family:Inter,sans-serif;font-size:14px;color:#b91c1c;margin:0}.delete-account-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.delete-account-modal-button{padding:8px 16px;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;border:1px solid transparent}.delete-account-modal-button:disabled{opacity:.7;cursor:not-allowed}.delete-account-modal-button-cancel{background:#f3f4f6;color:#374151;border-color:#d1d5db}.delete-account-modal-button-cancel:hover:not(:disabled){background:#e5e7eb}.delete-account-modal-button-confirm{background:#b91c1c;color:#fff}.delete-account-modal-button-confirm:hover:not(:disabled){background:#991b1b}.content-section .settings-delete-button{padding:8px 16px;font-size:.9375rem;font-weight:500;color:#b91c1c;background:#fff;border:1px solid #b91c1c;border-radius:4px;cursor:pointer;transition:background .2s ease,color .2s ease}.content-section .settings-delete-button:hover{background:#fef2f2;color:#991b1b}.terms-acceptance-page{min-height:100vh;background:var(--color-bg-subtle);display:flex;justify-content:center;align-items:flex-start;padding:4.25rem 1rem 2.75rem;box-sizing:border-box}.terms-acceptance-card{width:min(51.625rem,100%);background:linear-gradient(180deg,#fff,#f8fcfc);border:1px solid var(--color-border-default);border-radius:1rem;padding:clamp(1.25rem,2.8vw,2rem);box-shadow:0 24px 46px -30px #1e38388c,0 10px 20px -18px #00000047;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.terms-acceptance-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:.3rem;background:linear-gradient(135deg,#22676a,#32959a)}.terms-acceptance-title{margin:0;font-family:var(--font-family-display);font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;letter-spacing:-.015em;color:var(--color-text-primary);padding-top:.25rem}.terms-acceptance-description{margin:0;color:var(--color-text-muted);line-height:1.5;font-size:1.06rem}.terms-acceptance-link-button{color:var(--color-brand-primary);font-weight:500;text-decoration:underline;border:none;background:transparent;padding:0;font-size:1rem;width:fit-content;cursor:pointer}.terms-acceptance-form{display:flex;flex-direction:column;gap:14px}.terms-acceptance-confirmation-status{margin:0;color:var(--color-text-tertiary);line-height:1.5;font-size:.95rem;padding:.85rem .95rem;border:1px solid var(--color-info-border);border-radius:.75rem;background:var(--color-info-bg-light)}.terms-acceptance-error{margin:0;color:var(--color-error);font-size:14px}.terms-acceptance-submit{align-self:flex-start;background:linear-gradient(135deg,#22676a,#32959a);color:#fff;border:none;border-radius:.75rem;padding:.72rem 1.35rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),filter var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 10px 20px -16px #22676abf}.terms-acceptance-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.terms-acceptance-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.terms-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;box-sizing:border-box}.terms-modal{width:100%;max-width:54rem;max-height:88vh;background:linear-gradient(180deg,#fff,#f8fcfc);border:1px solid var(--color-border-default);border-radius:1rem;box-shadow:0 34px 52px -34px #1e3838bf,0 18px 28px -24px #00000073;padding:clamp(1rem,2.5vw,1.5rem);display:flex;flex-direction:column;gap:.9rem;position:relative;overflow:hidden}.terms-modal:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:.25rem;background:linear-gradient(135deg,#22676a,#32959a)}.terms-modal-title{margin:0;color:var(--color-text-primary);font-family:var(--font-family-display);font-size:clamp(1.6rem,2.7vw,2rem);line-height:1.2;padding-top:.2rem}.terms-modal-content{border:1px solid var(--color-info-border);border-radius:.75rem;padding:14px;overflow-y:auto;max-height:min(56vh,460px);line-height:1.6;color:var(--color-text-secondary);background:#fff}.terms-modal-content h1,.terms-modal-content h2,.terms-modal-content h3,.terms-modal-content h4{color:var(--color-text-primary);margin-top:1.2em;margin-bottom:.5em}.terms-modal-content h1{font-size:1.5rem}.terms-modal-content h2{font-size:1.25rem}.terms-modal-content p,.terms-modal-content ul{margin-top:0;margin-bottom:.9em}.terms-modal-content hr{border:none;border-top:1px solid var(--color-border-default);margin:1rem 0}.terms-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.terms-modal-cancel-button,.terms-modal-confirm-button{border:none;border-radius:.75rem;padding:10px 14px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),filter var(--transition-fast)}.terms-modal-cancel-button{background:#fff;color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.terms-modal-confirm-button{background:linear-gradient(135deg,#22676a,#32959a);color:#fff;box-shadow:0 10px 20px -16px #22676abf}.terms-modal-cancel-button:hover,.terms-modal-confirm-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.terms-modal-confirm-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (max-width: 640px){.terms-acceptance-page{padding-top:2rem}.terms-modal-overlay{padding:12px}.terms-modal{padding:16px}.terms-modal-actions button{width:100%}}.notification-viewport{position:fixed;right:1.75rem;bottom:2rem;z-index:1200;display:flex;flex-direction:column;gap:.625rem;pointer-events:none}.notification-toast{min-width:16rem;max-width:19rem;display:flex;align-items:flex-start;gap:.625rem;padding:.75rem .75rem .75rem .875rem;border-radius:.625rem;border:1px solid transparent;box-shadow:0 .25rem 1.25rem #a0a0a040;background:#fff;color:#393939;pointer-events:auto;opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease;animation:notification-toast-enter .22s ease-out}.notification-toast--closing{opacity:0;transform:translateY(8px)}.notification-toast--success{border-color:#73c5c5;background:#f2fafa}.notification-toast--warning{border-color:#efbb59;background:#fefaf4}.notification-toast--info{border-color:#73b7e8;background:#f4f9ff}.notification-toast-icon{margin-top:.0625rem;flex-shrink:0}.notification-toast-icon svg{width:1.25rem;height:1.25rem}.notification-toast--success .notification-toast-icon{color:#007171}.notification-toast--warning .notification-toast-icon{color:#af7b19}.notification-toast--info .notification-toast-icon{color:#2f7ebd}.notification-toast-message{margin:0;flex:1;font-family:var(--font-family-sans);font-size:.875rem;line-height:1.4;color:#393939}.notification-toast-close{border:none;background:transparent;color:#6c6f6f;width:1.5rem;height:1.5rem;border-radius:.375rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.notification-toast-close:hover{background:#0000000d}.notification-toast-close svg{width:1rem;height:1rem}@keyframes notification-toast-enter{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}
