.dls-assignment-workspace{display:grid;gap:1.5rem}
.dls-assignment-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 1.75rem}
.dls-assignment-toolbar h2,.dls-assignment-panel h2{color:#003a40;font-family:Manrope,sans-serif;font-size:clamp(1.45rem,2.2vw,2.15rem);font-weight:900}
.dls-assignment-toolbar p,.dls-assignment-panel p{color:#59686b;margin-top:.4rem}
.dls-assignment-list{display:grid;gap:1rem}
.dls-assignment-card{align-items:center;background:#fff;border:1px solid #d7e1e3;border-radius:1.35rem;color:#191c1d;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1.25rem;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.dls-assignment-card:hover{border-color:#83c5be;box-shadow:0 16px 36px rgba(0,58,64,.1);transform:translateY(-2px)}
.dls-assignment-view-controls{align-items:end;background:#fff;border:1px solid #d7e6e6;border-radius:1.2rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.2rem}.dls-assignment-filters{display:flex;flex-wrap:wrap;gap:.7rem}.dls-assignment-filters label{color:#49666d;display:grid;font-size:.72rem;font-weight:900;gap:.32rem;letter-spacing:.04em;text-transform:uppercase}.dls-assignment-filters select{background:#f8fbfb;border:1px solid #cddfe1;border-radius:.65rem;color:#063f48;font:inherit;letter-spacing:normal;padding:.58rem .7rem;text-transform:none}.dls-assignment-view-toggle{background:#edf6f6;border-radius:.75rem;display:flex;padding:.2rem}.dls-assignment-view-toggle button{align-items:center;background:transparent;border:0;border-radius:.57rem;color:#49666d;cursor:pointer;display:flex;font:800 .82rem/1 Manrope,sans-serif;gap:.35rem;padding:.58rem .75rem}.dls-assignment-view-toggle button.is-active{background:#073f48;color:#fff}.dls-assignment-month-view{background:#fff;border:1px solid #dbe7e8;border-radius:1.15rem;display:grid;grid-template-columns:minmax(0,1fr) 18rem;overflow:hidden}.dls-assignment-month-main{min-width:0}.dls-assignment-month-toolbar{align-items:center;border-bottom:1px solid #e5eeee;display:flex;justify-content:space-between;padding:.9rem 1rem}.dls-assignment-month-toolbar h2{align-items:center;color:#173b42;display:flex;font:800 1rem/1 Manrope,sans-serif;gap:.42rem}.dls-assignment-month-toolbar h2 .material-symbols-outlined{color:#6f62d9}.dls-assignment-month-actions{display:flex;gap:.35rem}.dls-assignment-month-actions button{align-items:center;background:#fff;border:1px solid #dde7e8;border-radius:.55rem;color:#36565d;cursor:pointer;display:flex;font:700 .78rem/1 Manrope,sans-serif;min-height:2rem;padding:.45rem .62rem}.dls-assignment-month-actions button:hover{background:#f0f8f8}.dls-assignment-month-weekdays,.dls-assignment-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dls-assignment-month-weekdays{background:#f6f8fa;color:#8a9a9d;font-size:.67rem;font-weight:900;letter-spacing:.04em;text-align:center;text-transform:uppercase}.dls-assignment-month-weekdays span{padding:.7rem .2rem}.dls-assignment-month-cell{border-right:1px solid #edf1f2;border-top:1px solid #edf1f2;min-height:7.5rem;padding:.42rem;position:relative}.dls-assignment-month-cell:nth-child(7n){border-right:0}.dls-assignment-month-cell.is-outside{background:#fafcfc;color:#b1bfc1}.dls-assignment-month-cell time{background:#f1f4f5;border-radius:50%;color:#49666d;display:grid;font-size:.72rem;font-weight:800;height:1.45rem;margin-left:auto;place-items:center;width:1.45rem}.dls-assignment-month-cell.is-today time{background:#0a8f9c;color:#fff}.dls-assignment-month-events{display:grid;gap:.22rem;margin-top:.38rem}.dls-assignment-month-events a{align-items:center;background:#eaf8f7;border-left:3px solid #0b99a6;border-radius:.28rem;color:#07515c;display:flex;font-size:.68rem;font-weight:800;gap:.2rem;overflow:hidden;padding:.25rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.dls-assignment-month-events a .material-symbols-outlined{font-size:.82rem}.dls-assignment-month-events a:hover{background:#d8f3f0}.dls-assignment-calendar-sidebar{background:#fbfdfd;border-left:1px solid #e4eeee;min-width:0}.dls-assignment-calendar-sidebar header{align-items:center;border-bottom:1px solid #e5eeee;display:flex;justify-content:space-between;padding:1rem}.dls-assignment-calendar-sidebar header span{color:#556e73;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dls-assignment-calendar-sidebar header strong{background:#0a8f9c;border-radius:999px;color:#fff;font-size:.73rem;padding:.24rem .52rem}.dls-assignment-calendar-records{display:grid;gap:.65rem;max-height:35rem;overflow:auto;padding:.8rem}.dls-assignment-calendar-record{align-items:flex-start;background:#fff;border:1px solid #e0e9ea;border-radius:.75rem;color:#153a41;display:flex;gap:.55rem;padding:.7rem;text-decoration:none}.dls-assignment-calendar-record:hover{border-color:#8bcdca;background:#f4fbfb}.dls-assignment-calendar-record>.material-symbols-outlined{background:#e6f7f6;border-radius:.45rem;color:#078b9b;font-size:1.1rem;padding:.35rem}.dls-assignment-calendar-record strong,.dls-assignment-calendar-record small{display:block}.dls-assignment-calendar-record strong{font-size:.78rem}.dls-assignment-calendar-record small{color:#6b858a;font-size:.7rem;margin-top:.2rem}.dls-assignment-calendar-none{align-items:center;color:#6b858a;display:flex;flex-direction:column;gap:.5rem;padding:2rem 1rem;text-align:center}
.dls-assignment-card h3{color:#003a40;font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:900}
.dls-assignment-card-meta{color:#667578;display:flex;flex-wrap:wrap;font-size:.82rem;font-weight:700;gap:.75rem;margin-top:.65rem}
.dls-assignment-status{border-radius:999px;font-size:.75rem;font-weight:900;padding:.42rem .7rem;text-transform:uppercase}
.dls-assignment-status.assigned,.dls-assignment-status.in_progress{background:#e6f7f5;color:#006c72}
.dls-assignment-status.submitted{background:#dcebff;color:#174f93}
.dls-assignment-status.graded{background:#dcf7e9;color:#08653b}
.dls-assignment-status.late{background:#ffead8;color:#994900}
.dls-assignment-panel{padding:1.6rem}
.dls-assignment-detail-grid{display:grid;gap:1.4rem;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr)}
.dls-assignment-section{background:#fff;border:1px solid #dce5e6;border-radius:1.2rem;padding:1.25rem}
.dls-assignment-section h3{color:#003a40;font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:900}
.dls-assignment-section p{line-height:1.65;white-space:pre-wrap}
.dls-assignment-files{display:grid;gap:.7rem;margin-top:1rem}
.dls-assignment-file{align-items:center;background:#f2f8f8;border:1px solid #d7e6e6;border-radius:1rem;color:#003a40;display:flex;font-weight:800;gap:.7rem;padding:.8rem 1rem;text-decoration:none}
.dls-assignment-file:hover{background:#e7f7f6}
.dls-assignment-question{background:#f8fafa;border:1px solid #e0e8e9;border-radius:1rem;margin-top:.85rem;padding:1rem}
.dls-assignment-question strong{color:#003a40}
.dls-assignment-form{display:grid;gap:1rem}
.dls-assignment-field{display:grid;gap:.45rem}
.dls-assignment-field>span{color:#003a40;font-weight:900}
.dls-assignment-field textarea{min-height:150px;resize:vertical}
.dls-assignment-upload{background:#f5fbfb;border:1px dashed #83c5be;border-radius:1rem;padding:1rem}
.dls-assignment-upload small{color:#667578;display:block;margin-top:.45rem}
.dls-assignment-selected-files{display:grid;gap:.55rem;margin-top:.7rem}
.dls-assignment-selected-file{align-items:center;background:#fff;border:1px solid #d7e1e3;border-radius:.8rem;display:flex;gap:1rem;justify-content:space-between;padding:.7rem .85rem}
.dls-assignment-selected-file strong,.dls-assignment-selected-file small{display:block}
.dls-assignment-selected-file button{background:transparent;border:1px solid #d7e1e3;border-radius:999px;color:#003a40;cursor:pointer;flex:0 0 auto;font-weight:800;padding:.4rem .7rem}
.dls-assignment-selected-file.is-empty{color:#667578}
.dls-assignment-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.dls-assignment-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:260px;padding:2rem;text-align:center}
.dls-assignment-empty>.material-symbols-outlined{background:#e7f7f6;border-radius:999px;color:#00535b;font-size:2.2rem;padding:1rem}
.dls-assignment-empty h2{margin-top:1rem}
.dls-assignment-submission{background:#fff;border:1px solid #d7e1e3;border-radius:1.25rem;padding:1.2rem}
.dls-assignment-submission+.dls-assignment-submission{margin-top:1rem}
.dls-assignment-submission-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}
.dls-assignment-submission-head strong{color:#003a40;font-size:1.05rem}
.dls-assignment-grade{background:#eaf8f0;border-radius:1rem;color:#155c3e;margin-top:1rem;padding:1rem}
.dls-assignment-notice{border-radius:1rem;font-weight:800;padding:.85rem 1rem}
.dls-assignment-notice.is-success{background:#ddf7e9;color:#075b36}
.dls-assignment-notice.is-error{background:#ffe5e4;color:#981b1b}
@media(max-width:900px){.dls-assignment-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.dls-assignment-card{align-items:flex-start;grid-template-columns:1fr}.dls-assignment-toolbar{align-items:flex-start;flex-direction:column}.dls-assignment-actions>*{width:100%}}

.dls-assignment-hero{align-items:center;background:linear-gradient(135deg,#004b52,#087d88 58%,#2589ed);border-radius:2rem;color:#fff;display:flex;gap:2rem;justify-content:space-between;overflow:hidden;padding:2rem;position:relative}
.dls-assignment-hero:after{background:rgba(255,255,255,.1);border-radius:50%;content:"";height:220px;position:absolute;right:-55px;top:-105px;width:220px}
.dls-assignment-hero>div{position:relative;z-index:1}.dls-assignment-hero h1{font-family:Manrope,sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:900;line-height:1.05;margin-top:.8rem}.dls-assignment-hero p{color:rgba(255,255,255,.82);font-size:1.05rem;margin-top:.65rem;max-width:760px}.dls-assignment-hero .dls-pill{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}.dls-assignment-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.dls-assignment-grid{display:grid;gap:1.15rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dls-assignment-card{align-items:stretch;grid-template-columns:1fr}.dls-assignment-card-top,.dls-assignment-panel-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.dls-assignment-card h2,.dls-assignment-panel-heading h2{color:#003a40;font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:900}.dls-assignment-card>p,.dls-assignment-instructions,.dls-assignment-muted{color:#59686b;line-height:1.6}.dls-assignment-type{color:#007c87;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.dls-assignment-meta{color:#647376;display:flex;flex-wrap:wrap;font-size:.82rem;font-weight:700;gap:.8rem;margin-top:.8rem}.dls-assignment-meta span{align-items:center;display:inline-flex;gap:.3rem}.dls-assignment-meta .material-symbols-outlined{font-size:1rem}.dls-assignment-card-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.8rem}.dls-assignment-file-list{display:grid;gap:.7rem}.dls-assignment-file span:nth-child(2){display:grid;flex:1}.dls-assignment-file small{color:#69777a;font-weight:700}.dls-assignment-callout{background:#fff5d9;border-radius:1rem;color:#714e00;line-height:1.55;margin-top:1rem;padding:1rem}.dls-assignment-questions{display:grid;gap:1rem;margin-top:1rem}.dls-assignment-question legend{align-items:center;color:#003a40;display:flex;font-weight:900;gap:.6rem}.dls-assignment-question legend span{background:#dff6f3;border-radius:999px;display:grid;height:1.8rem;place-items:center;width:1.8rem}.dls-assignment-question label{align-items:center;display:flex;gap:.55rem;margin-top:.7rem}.dls-assignment-question textarea,.dls-assignment-field textarea,.dls-grade-form input,.dls-grade-form textarea{background:#fff;border:1px solid #bdc9cb;border-radius:1rem;padding:.8rem;width:100%}.dls-student-submission-form{display:grid;gap:1.5rem}.dls-assignment-form-message{color:#006c72;font-weight:800;margin-top:.7rem}.dls-assignment-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.dls-assignment-grade-result{background:#e8f8ef;border:1px solid #bde7cf;border-radius:1.3rem;display:grid;gap:1rem;grid-template-columns:.25fr 1fr;padding:1.25rem}.dls-assignment-grade-result span{color:#416458;display:block;font-size:.76rem;font-weight:900;text-transform:uppercase}.dls-assignment-grade-result strong{color:#075b36;font-size:1.8rem}.dls-assignment-submission-body{display:grid;gap:1rem;margin-top:1rem}.dls-assignment-submission-body>div{background:#f7fafa;border-radius:.9rem;padding:.9rem}.dls-assignment-submission-body strong{color:#003a40}.dls-assignment-submission-body pre{font-family:inherit;white-space:pre-wrap}.dls-grade-form{align-items:end;display:grid;gap:.8rem;grid-template-columns:130px 130px minmax(0,1fr) auto;margin-top:1rem}.dls-grade-form label{color:#003a40;display:grid;font-weight:900;gap:.35rem}.dls-grade-feedback{grid-column:auto}.dls-assignment-loading{align-items:center;color:#00535b;display:flex;gap:.8rem;justify-content:center;min-height:300px}.dls-assignment-loading .material-symbols-outlined{animation:dls-assignment-spin 1s linear infinite}@keyframes dls-assignment-spin{to{transform:rotate(360deg)}}.dls-assignment-empty.compact{min-height:190px}
@media(max-width:960px){.dls-assignment-grid{grid-template-columns:1fr}.dls-grade-form{grid-template-columns:1fr 1fr}.dls-grade-feedback,.dls-grade-form button{grid-column:1/-1}.dls-assignment-grade-result{grid-template-columns:1fr}}
@media(max-width:640px){.dls-assignment-hero{align-items:flex-start;flex-direction:column}.dls-assignment-hero-actions,.dls-assignment-hero-actions>*{width:100%}.dls-grade-form{grid-template-columns:1fr}.dls-grade-form>*{grid-column:1!important}}

/* Assignment builder: keep recipient scope and roster visually distinct. */
.dls-recipient-fieldset{min-width:0}
.dls-assignment-builder-form .dls-recipient-layout{display:flex!important;flex-direction:column!important;gap:1.25rem!important;grid-template-columns:none!important;margin-top:.5rem;min-width:0;width:100%}
.dls-assignment-builder-form .dls-recipient-scope{display:grid!important;gap:.85rem!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0;width:100%}
.dls-recipient-scope-option{align-items:flex-start;background:#fff;border:1px solid #d7e1e3;border-radius:1rem;color:#003a40;cursor:pointer;display:flex;gap:.85rem;line-height:1.35;min-width:0;padding:1rem!important}
.dls-recipient-scope-option:has(input:checked){background:#eafafa;border-color:#05828a;box-shadow:0 0 0 2px rgba(5,130,138,.1)}
.dls-recipient-scope-option input{flex:0 0 auto;height:1.15rem;margin:.15rem 0 0;width:1.15rem}
.dls-recipient-scope-option span{display:grid;gap:.25rem;min-width:0}
.dls-recipient-scope-option strong{font-family:Manrope,sans-serif;font-size:1rem;font-weight:900}
.dls-recipient-scope-option small{color:#647376;font-size:.82rem;font-weight:600;line-height:1.45}
.dls-assignment-builder-form .dls-recipient-roster{background:rgba(255,255,255,.62);border:1px solid #d7e1e3;border-radius:1.15rem;display:grid!important;gap:1rem!important;grid-column:auto!important;grid-template-columns:1fr!important;min-width:0;padding:1rem;width:100%}
.dls-recipient-roster-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}
.dls-recipient-roster-heading>div{display:grid;gap:.15rem}
.dls-recipient-roster-heading strong{color:#003a40;font-family:Manrope,sans-serif;font-size:1rem;font-weight:900}
.dls-recipient-roster-heading small{color:#647376;font-size:.8rem;font-weight:600}
.dls-recipient-roster-heading>span{background:#e4eeee;border-radius:999px;color:#315b5f;font-size:.76rem;font-weight:900;padding:.45rem .75rem;white-space:nowrap}
.dls-assignment-builder-form .dls-recipient-student-grid{display:grid!important;gap:.75rem!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;min-width:0;width:100%}
.dls-recipient-student{align-items:center;background:#fff;border:1px solid #d7e1e3;border-radius:.85rem;color:#24334a;cursor:pointer;display:flex;gap:.75rem;line-height:1.35;min-height:3.5rem;min-width:0;padding:.8rem 1rem!important}
.dls-recipient-student:has(input:checked){background:#f0fbfa;border-color:#83c5be}
.dls-recipient-student input{flex:0 0 auto;height:1.15rem;margin:0;width:1.15rem}
.dls-recipient-student span{font-weight:800;min-width:0;overflow-wrap:anywhere}
.dls-recipient-empty{background:#fff;border:1px dashed #bdc9cb;border-radius:.9rem;color:#647376;grid-column:1/-1;line-height:1.55;padding:1rem}
@media(max-width:1000px){.dls-assignment-builder-form .dls-recipient-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.dls-assignment-builder-form .dls-recipient-scope,.dls-assignment-builder-form .dls-recipient-student-grid{grid-template-columns:1fr!important}.dls-recipient-roster-heading{align-items:flex-start;flex-direction:column}.dls-recipient-roster-heading>span{align-self:flex-start}}

/* Assignment topic search: live, permission-scoped Topic Library results. */
.dls-topic-autocomplete{min-width:0;position:relative}
.dls-topic-suggestions{background:#fff;border:1px solid #cbdadd;border-radius:1rem;box-shadow:0 16px 35px rgba(0,58,64,.14);left:0;margin-top:.45rem;max-height:20rem;overflow-y:auto;padding:.45rem;position:absolute;right:0;z-index:70}
.dls-topic-suggestions[hidden]{display:none!important}
.dls-topic-suggestion{background:transparent;border:0;border-radius:.75rem;color:#24334a;cursor:pointer;display:grid;gap:.2rem;padding:.8rem .9rem;text-align:left;width:100%}
.dls-topic-suggestion:hover,.dls-topic-suggestion.is-active{background:#e9f9f8;outline:none}
.dls-topic-suggestion strong{color:#003a40;font-family:Manrope,sans-serif;font-size:.95rem;font-weight:900;line-height:1.35}
.dls-topic-suggestion span{color:#647376;font-size:.78rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.dls-topic-suggestion-status{color:#647376;font-size:.85rem;font-weight:700;padding:.85rem .9rem}
.dls-topic-suggestion .dls-topic-closest-match{align-items:center;background:rgba(0,117,126,.1);border-radius:999px;color:#006b73;display:inline-flex;font-size:.68rem;font-weight:900;letter-spacing:.04em;margin-right:.55rem;padding:.2rem .5rem;text-transform:uppercase}

/* Guided question editor: keeps the database format behind a teacher-friendly UI. */
.dls-question-builder{background:#f6fbfb;border:1px solid #cfdcde;border-radius:1.5rem;display:grid;gap:1.15rem;min-width:0;padding:1.25rem}
.dls-question-builder>legend{color:#003a40;font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:900;padding:0 .5rem}
.dls-question-builder>legend span{color:#647376;font-family:inherit;font-size:.7rem;letter-spacing:.1em;margin-left:.5rem;text-transform:uppercase}
.dls-question-builder-help{color:#59686b;line-height:1.55;margin:0!important}
.dls-question-import{align-items:end;background:#fff;border:1px solid #d7e1e3;border-radius:1.15rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1rem}
.dls-question-import label{display:grid;gap:.3rem;min-width:0}
.dls-question-import label>strong,.dls-question-builder-toolbar strong{color:#003a40;font-family:Manrope,sans-serif;font-weight:900}
.dls-question-import label>span,.dls-question-builder-toolbar>div:first-child>span{color:#647376;font-size:.8rem;font-weight:650}
.dls-question-import textarea,.dls-question-editor-grid input,.dls-question-editor-grid select,.dls-question-editor-grid textarea{background:#fff;border:1px solid #bdc9cb;border-radius:.85rem;color:#24334a;font:inherit;padding:.75rem .9rem;width:100%}
.dls-question-import textarea:focus,.dls-question-editor-grid input:focus,.dls-question-editor-grid select:focus,.dls-question-editor-grid textarea:focus{border-color:#007c87;box-shadow:0 0 0 3px rgba(0,124,135,.12);outline:none}
.dls-question-action{align-items:center;background:#003a40;border:1px solid #003a40;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:850;gap:.4rem;justify-content:center;padding:.72rem 1rem}
.dls-question-action.secondary{background:#fff;color:#003a40}
.dls-question-action:hover{filter:brightness(.96)}
.dls-question-action .material-symbols-outlined{font-size:1.1rem}
.dls-question-builder-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}
.dls-question-builder-toolbar>div:first-child{display:grid;gap:.15rem}
.dls-question-builder-toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:.6rem}
.dls-question-builder-list{display:grid!important;gap:1rem;grid-template-columns:minmax(0,1fr)!important;width:100%}
.dls-question-builder-empty{align-items:center;background:#fff;border:1px dashed #aebfc1;border-radius:1.1rem;color:#647376;display:flex;gap:1rem;padding:1.1rem}
.dls-question-builder-empty[hidden]{display:none}
.dls-question-builder-empty>.material-symbols-outlined{background:#e7f7f6;border-radius:999px;color:#00535b;font-size:1.6rem;padding:.65rem}
.dls-question-builder-empty strong{color:#003a40}
.dls-question-builder-empty p{font-size:.86rem;margin:.2rem 0 0!important}
.dls-question-editor-card{background:#fff;border:1px solid #d7e1e3;border-radius:1.15rem;grid-column:1/-1;min-width:0;padding:1rem;width:100%}
.dls-question-editor-head{align-items:center;border-bottom:1px solid #e3eaeb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}
.dls-question-editor-head>span{color:#003a40;font-family:Manrope,sans-serif;font-weight:900}.dls-question-points-badge{background:#e7f7f6;border-radius:999px;color:#00666d;font-size:.78rem;margin-left:auto;margin-right:1rem;padding:.38rem .7rem;white-space:nowrap}
.dls-question-editor-head button{align-items:center;background:transparent;border:0;color:#9a2929;cursor:pointer;display:inline-flex;font-weight:800;gap:.3rem}
.dls-question-editor-head button .material-symbols-outlined{font-size:1.1rem}
.dls-question-editor-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 175px}
.dls-question-editor-grid label{color:#003a40;display:grid;font-size:.86rem;font-weight:850;gap:.4rem;min-width:0}
.dls-question-editor-grid label.wide{grid-column:1/-1}
.dls-question-editor-grid label[hidden]{display:none}
.dls-question-editor-grid label span small{color:#647376;font-size:.72rem;font-weight:650;margin-left:.35rem}
.dls-question-points-field{background:#f1fbfa;border:1px solid #9bcfca;border-radius:1rem;padding:.7rem}.dls-question-points-field small{color:#53777b;font-size:.72rem;font-weight:650}.dls-question-points-field input{font-size:1.08rem;font-weight:900}
@media(max-width:760px){.dls-question-import{align-items:stretch;grid-template-columns:1fr}.dls-question-builder-toolbar{align-items:flex-start;flex-direction:column}.dls-question-builder-toolbar>div:last-child,.dls-question-action{width:100%}.dls-question-editor-grid{grid-template-columns:1fr}.dls-question-editor-grid label.wide{grid-column:auto}}

/* Student quiz choices: the complete option card is the accessible click target. */
.dls-assignment-options{display:grid;gap:.7rem;margin-top:.85rem}
.dls-assignment-question .dls-assignment-option{align-items:center;background:#fff;border:1px solid #d7e1e3;border-radius:1rem;cursor:pointer;display:grid;gap:.8rem;grid-template-columns:1.25rem minmax(0,1fr);margin:.7rem 0 0;min-height:3.6rem;padding:.85rem 1rem;position:relative;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%}
.dls-assignment-question .dls-assignment-option:first-child{margin-top:0}
.dls-assignment-question .dls-assignment-option:hover{background:#f2fbfa;border-color:#83c7c7;transform:translateY(-1px)}
.dls-assignment-option input[type="radio"]{height:1.25rem!important;inset:0;margin:0!important;opacity:0;position:absolute;width:1.25rem!important}
.dls-assignment-option-indicator{background:#fff;border:2px solid #9eb1b4;border-radius:999px;display:block;height:1.25rem;position:relative;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;width:1.25rem}
.dls-assignment-option input[type="radio"]:checked+.dls-assignment-option-indicator{background:#007c87;border-color:#007c87;box-shadow:inset 0 0 0 4px #fff}
.dls-assignment-option:has(input[type="radio"]:checked){background:#e8f8f6!important;border-color:#007c87!important;box-shadow:0 0 0 3px rgba(0,124,135,.1)}
.dls-assignment-option:has(input[type="radio"]:focus-visible){box-shadow:0 0 0 3px rgba(109,40,217,.24);outline:2px solid #6d28d9;outline-offset:2px}
.dls-assignment-option-text{color:#24334a;display:block;font-size:.95rem;font-weight:750;line-height:1.4;min-width:0;overflow-wrap:anywhere;text-transform:none}

/* Guided player for practice and assessment questions. */
.dls-question-player{background:linear-gradient(145deg,#fff,#f4fbfb)}.dls-question-player .dls-assignment-panel-heading{align-items:center}.dls-player-progress{background:#dceff0;border-radius:99px;display:block;height:.55rem;overflow:hidden;width:8.5rem}.dls-player-progress i{background:linear-gradient(90deg,#008f93,#38c7bc);border-radius:inherit;display:block;height:100%;transition:width .2s ease;width:0}.dls-assignment-question[hidden]{display:none}.dls-question-feedback{color:#176272;font-size:.86rem;font-weight:700;margin:.85rem 0 0}.dls-player-actions{align-items:center;display:grid;gap:.65rem;grid-template-columns:auto 1fr auto auto;margin-top:1rem}.dls-player-actions .is-flagged{background:#fff7dd;border-color:#eebf4f;color:#805400}.dls-player-actions button:disabled{cursor:not-allowed;opacity:.45}
.dls-student-workspace-fullscreen{background:linear-gradient(135deg,#f5fbfb,#f8f8ff 55%,#eef8ff);box-sizing:border-box;margin-left:calc(50% - 50vw)!important;min-height:calc(100vh - 5rem);padding:clamp(1rem,3vw,3.5rem)!important;width:100vw!important}.dls-student-workspace-fullscreen>.dls-assignment-hero{background:linear-gradient(115deg,#003f49,#075f77 55%,#176ec3);border-radius:1.75rem;color:#fff;margin:0 auto;max-width:1100px;padding:clamp(1.25rem,3vw,2.25rem)}.dls-student-workspace-fullscreen .dls-assignment-hero h1,.dls-student-workspace-fullscreen .dls-assignment-hero p{color:#fff}.dls-student-workspace-fullscreen .dls-assignment-overview-grid{margin:1rem auto;max-width:1100px}.dls-student-workspace-fullscreen .dls-assignment-activity-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.34fr);margin:1rem auto;max-width:1100px}.dls-student-workspace-fullscreen .dls-question-player{border:0;border-radius:1.75rem;box-shadow:0 22px 55px rgba(0,58,64,.13);min-height:31rem;padding:clamp(1.25rem,3vw,2.5rem)}.dls-student-workspace-fullscreen .dls-assignment-question{background:#fff;border:0;margin:2rem 0 0;padding:0}.dls-student-workspace-fullscreen .dls-assignment-question legend{color:#123d49;font-family:Manrope,sans-serif;font-size:clamp(1.2rem,2.5vw,1.75rem);font-weight:900}.dls-student-workspace-fullscreen .dls-assignment-response-panel{border-radius:1.5rem;box-shadow:0 14px 35px rgba(0,58,64,.08);position:sticky;top:1.25rem}@media(max-width:900px){.dls-student-workspace-fullscreen .dls-assignment-activity-grid{grid-template-columns:1fr}.dls-student-workspace-fullscreen .dls-assignment-response-panel{position:static}}

/* Projects extend the assignment workflow with an inquiry plan and milestones. */
.dls-project-plan{background:linear-gradient(135deg,#f4fbfb,#f8f7ff)}
.dls-project-plan-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.1rem}
.dls-project-plan-grid>div{background:#fff;border:1px solid #d7e1e3;border-radius:1rem;min-width:0;padding:1rem}
.dls-project-plan-grid strong{color:#003a40;display:block;font-family:Manrope,sans-serif;font-weight:900;margin-bottom:.55rem}
.dls-project-plan-grid p{color:#59686b;line-height:1.55}
.dls-project-list{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}
.dls-project-list li{align-items:flex-start;color:#59686b;display:flex;gap:.5rem;line-height:1.45}
.dls-project-list .material-symbols-outlined{color:#078273;font-size:1.1rem;margin-top:.1rem}
@media(max-width:720px){.dls-project-plan-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dls-player-actions{grid-template-columns:1fr 1fr}.dls-player-actions>span{display:none}.dls-player-actions button{justify-content:center}.dls-player-actions [data-player-flag]{grid-column:1/-1}.dls-player-progress{width:5.5rem}}
.dls-assignment-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.dls-assignment-file {
  min-width: 0;
  width: 100%;
}

.dls-assignment-file > .material-symbols-outlined {
  flex: 0 0 auto;
}

.dls-assignment-file > span:nth-child(2) {
  min-width: 0;
}

.dls-assignment-file strong {
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: normal;
}

.dls-annotate-file-button {
  min-height: 3rem;
  white-space: nowrap;
}

/* Reference-file panels are intentionally narrow; keep the file and action readable. */
.dls-assignment-overview-grid .dls-assignment-file-row {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr);
}

.dls-assignment-overview-grid .dls-annotate-file-button {
  width: 100%;
}

.dls-annotation-review-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: .75rem;
}

/* A focused, reassuring end state after a learner submits any kind of work. */
.dls-work-completion{align-items:center;background:radial-gradient(circle at 12% 10%,rgba(94,234,212,.34),transparent 26rem),radial-gradient(circle at 88% 14%,rgba(147,197,253,.35),transparent 28rem),linear-gradient(135deg,#003f49 0%,#075f77 52%,#176ec3 100%);border-radius:2rem;box-shadow:0 24px 60px rgba(0,58,64,.22);color:#fff;display:flex;flex-direction:column;isolation:isolate;min-height:min(44rem,calc(100vh - 12rem));overflow:hidden;padding:clamp(2.5rem,7vw,6.25rem) 1.5rem;position:relative;text-align:center}
.dls-work-completion:before,.dls-work-completion:after{border:1px solid rgba(255,255,255,.17);border-radius:999px;content:"";height:34rem;position:absolute;width:34rem;z-index:-1}.dls-work-completion:before{right:-15rem;top:-17rem}.dls-work-completion:after{bottom:-21rem;left:-15rem}
.dls-work-completion-confetti{inset:0;pointer-events:none;position:absolute;z-index:-1}.dls-work-completion-confetti i{animation:dls-completion-float 4.5s ease-in-out infinite;display:block;height:.7rem;position:absolute;transform:rotate(25deg);width:.7rem}.dls-work-completion-confetti i:nth-child(1){background:#fbbf24;left:12%;top:18%}.dls-work-completion-confetti i:nth-child(2){animation-delay:-1.1s;background:#fb7185;left:21%;top:42%}.dls-work-completion-confetti i:nth-child(3){animation-delay:-2.4s;background:#a7f3d0;left:31%;top:13%}.dls-work-completion-confetti i:nth-child(4){animation-delay:-.5s;background:#c4b5fd;right:27%;top:17%}.dls-work-completion-confetti i:nth-child(5){animation-delay:-3s;background:#fbbf24;right:14%;top:35%}.dls-work-completion-confetti i:nth-child(6){animation-delay:-1.7s;background:#67e8f9;bottom:17%;left:17%}.dls-work-completion-confetti i:nth-child(7){animation-delay:-.9s;background:#fda4af;bottom:23%;right:19%}.dls-work-completion-confetti i:nth-child(8){animation-delay:-2.1s;background:#fde68a;bottom:11%;right:34%}
.dls-work-completion-mark{align-items:center;background:linear-gradient(145deg,#5eead4,#10b981);border:8px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 16px 35px rgba(2,132,199,.32),inset 0 1px 1px rgba(255,255,255,.45);display:grid;height:6.5rem;justify-content:center;width:6.5rem}.dls-work-completion-mark .material-symbols-outlined{color:#fff;font-size:4rem;font-variation-settings:'wght' 700}
.dls-work-completion-kicker{align-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.23);border-radius:999px;color:#d5fffb;display:inline-flex;font-size:.78rem;font-weight:900;gap:.4rem;letter-spacing:.1em;margin-top:1.6rem;padding:.55rem .9rem;text-transform:uppercase}.dls-work-completion-kicker .material-symbols-outlined{font-size:1rem}
.dls-work-completion h1{color:#fff;font-family:Manrope,sans-serif;font-size:clamp(2.6rem,6vw,4.9rem);font-weight:900;letter-spacing:-.06em;line-height:1;margin:.95rem 0 0}.dls-work-completion-copy{color:rgba(255,255,255,.84);font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.65;margin:1rem auto 0;max-width:44rem}.dls-work-completion-copy strong{color:#fff}
.dls-work-completion-return{align-items:center;color:#d8fffa;display:flex;font-size:.84rem;font-weight:700;gap:.42rem;justify-content:center;margin:1.2rem 0 -1rem}.dls-work-completion-return .material-symbols-outlined{font-size:1.05rem}.dls-work-completion-return strong{background:rgba(255,255,255,.16);border-radius:999px;color:#fff;min-width:1.45rem;padding:.14rem .35rem}
.dls-work-completion-summary{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:2.25rem auto 0;max-width:48rem;width:100%}.dls-work-completion-summary>div{align-items:center;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.72);border-radius:1.05rem;color:#123d49;display:flex;gap:.65rem;min-width:0;padding:.85rem;text-align:left}.dls-work-completion-summary>div>.material-symbols-outlined{background:#e1f8f5;border-radius:.75rem;color:#087d80;font-size:1.4rem;padding:.45rem}.dls-work-completion-summary span:last-child{display:grid;gap:.1rem;min-width:0}.dls-work-completion-summary small{color:#627a82;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.dls-work-completion-summary strong{color:#123d49;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dls-work-completion-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}.dls-work-completion-actions .dls-button-primary{background:#fff;color:#07576a}.dls-work-completion-actions .dls-button-primary:hover{background:#e8fffb}.dls-work-completion-actions .dls-button-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.43);color:#fff}.dls-work-completion-actions .dls-button-secondary:hover{background:rgba(255,255,255,.2)}
@keyframes dls-completion-float{0%,100%{transform:translateY(0) rotate(25deg)}50%{transform:translateY(-13px) rotate(112deg)}}
@media(max-width:560px){.dls-work-completion{border-radius:1.3rem;min-height:calc(100vh - 9rem);padding:3rem 1rem}.dls-work-completion-mark{height:5.5rem;width:5.5rem}.dls-work-completion-mark .material-symbols-outlined{font-size:3.4rem}.dls-work-completion-summary{grid-template-columns:1fr 1fr}.dls-work-completion-actions,.dls-work-completion-actions a,.dls-work-completion-actions button{width:100%}}

@media (max-width: 700px) {
  .dls-assignment-view-controls { align-items: stretch; flex-direction: column; }
  .dls-assignment-view-toggle { align-self: flex-start; }
  .dls-assignment-month-view { grid-template-columns: 1fr; }
  .dls-assignment-calendar-sidebar { border-left: 0; border-top: 1px solid #e4eeee; }
  .dls-assignment-month-cell { min-height: 5.4rem; padding: .25rem; }
  .dls-assignment-month-events a { font-size: 0; justify-content: center; min-height: 1.1rem; }
  .dls-assignment-month-events a .material-symbols-outlined { font-size: .82rem; }

  .dls-assignment-file-row {
    grid-template-columns: 1fr;
  }

  .dls-annotate-file-button {
    width: 100%;
  }
}

.dls-interactive-conversion {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 1.25rem;
  border: 1px solid #c8dfe0;
  border-radius: 1.5rem;
  background: linear-gradient(135deg, #f4fbfb 0%, #f7f8ff 100%);
}
.dls-interactive-conversion-coming-soon{opacity:.68;position:relative}.dls-coming-soon-badge{background:#6251b6;border-radius:999px;color:#fff;font-size:.68rem;font-weight:900;margin-left:.55rem;padding:.28rem .55rem;text-transform:uppercase}.dls-interactive-conversion-coming-soon .dls-interactive-mode-grid,.dls-interactive-conversion-coming-soon .dls-conversion-preview-action,.dls-interactive-conversion-coming-soon .dls-interactive-annotation-setting,.dls-interactive-conversion-coming-soon .dls-interactive-workflow{display:none}.dls-interactive-conversion-coming-soon dialog{display:none}

.dls-interactive-conversion > legend {
  padding: 0 .5rem;
  color: #004a4d;
  font-size: 1rem;
  font-weight: 800;
}

.dls-interactive-conversion-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.dls-interactive-conversion-head strong {
  display: block;
  color: #0f172a;
  font-size: 1.15rem;
}

.dls-interactive-conversion-head p {
  max-width: 52rem;
  margin: .35rem 0 0;
  color: #52616f;
  line-height: 1.55;
}

.dls-interactive-enable,
.dls-interactive-annotation-setting {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #004a4d;
  font-weight: 750;
}

.dls-interactive-enable {
  flex: 0 0 auto;
  padding: .75rem 1rem;
  border: 1px solid #9bcfd0;
  border-radius: 999px;
  background: #fff;
}

.dls-interactive-mode-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.dls-interactive-mode-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .35rem .75rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid #cbdadd;
  border-radius: 1.15rem;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.dls-interactive-mode-card:has(input:checked) {
  border-color: #007f83;
  box-shadow: 0 0 0 3px rgba(0, 127, 131, .12);
}

.dls-interactive-mode-card:hover {
  transform: translateY(-1px);
}

.dls-interactive-mode-card input {
  grid-row: 1 / span 3;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
}

.dls-interactive-mode-card .material-symbols-outlined {
  color: #007f83;
}

.dls-interactive-mode-card strong,
.dls-interactive-mode-card small {
  grid-column: 2;
}

.dls-interactive-mode-card small {
  color: #64748b;
  line-height: 1.45;
}

.dls-interactive-recommended {
  position: absolute;
  top: -.7rem;
  right: .8rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: #6d28d9;
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.dls-interactive-workflow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dls-interactive-workflow li {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  color: #425466;
  font-size: .82rem;
  font-weight: 700;
}

.dls-interactive-workflow span {
  display: grid;
  flex: 0 0 1.75rem;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: #dff5f3;
  color: #006c70;
}

.dls-interactive-conversion-status {
  margin: 0;
  padding: .75rem 1rem;
  border-radius: .85rem;
  background: #fff;
  color: #52616f;
  font-size: .9rem;
}

.dls-conversion-preview-action {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.dls-conversion-preview-action small {
  color: #64748b;
  line-height: 1.45;
}

.dls-conversion-preview-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 3rem;
  padding: .75rem 1.25rem;
  border: 0;
  border-radius: 999px;
  background: #004a4d;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.dls-conversion-preview-button:disabled {
  background: #cbd5e1;
  color: #64748b;
  cursor: not-allowed;
}

.dls-conversion-preview-dialog {
  width: min(1180px, calc(100vw - 2rem));
  max-width: none;
  height: min(820px, calc(100dvh - 2rem));
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #b9d3d5;
  border-radius: 1.5rem;
  background: #f7fafc;
  box-shadow: 0 24px 80px rgba(15, 23, 42, .28);
}

.dls-conversion-preview-dialog::backdrop {
  background: rgba(15, 23, 42, .62);
  backdrop-filter: blur(3px);
}

.dls-conversion-preview-shell {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  height: 100%;
}

.dls-conversion-preview-header,
.dls-conversion-preview-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: #fff;
  border-bottom: 1px solid #dbe7e8;
}

.dls-conversion-preview-header h3 {
  margin: .15rem 0;
  color: #0f172a;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.dls-conversion-preview-header p {
  margin: 0;
  color: #64748b;
}

.dls-conversion-preview-kicker {
  color: #007f83;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.dls-conversion-preview-header-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.dls-conversion-preview-mode {
  padding: .5rem .8rem;
  border-radius: 999px;
  background: #dff5f3;
  color: #006c70;
  font-weight: 800;
}

.dls-conversion-preview-close {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid #dbe7e8;
  border-radius: 50%;
  background: #fff;
  color: #0f172a;
  cursor: pointer;
}

.dls-conversion-preview-files {
  display: flex;
  gap: .5rem;
  padding: .7rem 1.25rem;
  overflow-x: auto;
  border-bottom: 1px solid #dbe7e8;
  background: #f8fbfb;
}

.dls-conversion-preview-files button {
  max-width: 16rem;
  padding: .5rem .8rem;
  overflow: hidden;
  border: 1px solid #cbdadd;
  border-radius: 999px;
  background: #fff;
  color: #425466;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.dls-conversion-preview-files button.is-active {
  border-color: #007f83;
  background: #dff5f3;
  color: #004a4d;
}

.dls-conversion-preview-workspace {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) minmax(250px, 320px);
  min-height: 0;
  overflow: hidden;
}

.dls-conversion-preview-tools,
.dls-conversion-preview-responses {
  min-height: 0;
  padding: 1rem;
  overflow-y: auto;
  background: #fff;
}

.dls-conversion-preview-tools {
  display: grid;
  align-content: start;
  gap: .5rem;
  border-right: 1px solid #dbe7e8;
}

.dls-conversion-preview-tools button {
  display: grid;
  gap: .2rem;
  place-items: center;
  padding: .65rem .25rem;
  border: 1px solid transparent;
  border-radius: .8rem;
  background: transparent;
  color: #425466;
  font-size: .68rem;
}

.dls-conversion-preview-tools button:first-child {
  border-color: #9bcfd0;
  background: #dff5f3;
  color: #006c70;
}

.dls-conversion-preview-document {
  min-width: 0;
  min-height: 0;
  padding: 1rem;
  overflow: auto;
  background: #e8eef2;
}

.dls-conversion-preview-document object,
.dls-conversion-preview-document img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  margin: auto;
  border: 0;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 3px 16px rgba(15, 23, 42, .12);
}

.dls-conversion-preview-responses {
  border-left: 1px solid #dbe7e8;
}

.dls-conversion-preview-responses > p {
  margin: .35rem 0 1rem;
  color: #64748b;
  font-size: .85rem;
}

.dls-conversion-preview-responses label {
  display: grid;
  gap: .45rem;
  margin-top: .75rem;
  color: #334155;
  font-size: .8rem;
  font-weight: 750;
}

.dls-conversion-preview-responses textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid #cbdadd;
  border-radius: .75rem;
  background: #f8fafc;
}

.dls-conversion-preview-progress {
  height: .45rem;
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.dls-conversion-preview-progress span {
  display: block;
  width: 28%;
  height: 100%;
  background: #00a6a6;
}

.dls-conversion-preview-workspace[data-mode="annotation"] {
  grid-template-columns: 5.5rem minmax(0, 1fr);
}

.dls-conversion-preview-workspace[data-mode="annotation"] .dls-conversion-preview-responses,
.dls-conversion-preview-workspace[data-mode="interactive"] .dls-conversion-preview-tools {
  display: none;
}

.dls-conversion-preview-workspace[data-mode="interactive"] {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.dls-conversion-preview-footer {
  border-top: 1px solid #dbe7e8;
  border-bottom: 0;
}

.dls-conversion-preview-footer span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #52616f;
}

.dls-conversion-preview-footer button {
  padding: .65rem 1rem;
  border: 0;
  border-radius: 999px;
  background: #004a4d;
  color: #fff;
  font-weight: 800;
}

@media (max-width: 900px) {
  .dls-interactive-conversion-head {
    flex-direction: column;
  }

  .dls-interactive-mode-grid {
    grid-template-columns: 1fr;
  }

  .dls-interactive-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dls-conversion-preview-action {
    align-items: stretch;
    flex-direction: column;
  }

  .dls-conversion-preview-workspace,
  .dls-conversion-preview-workspace[data-mode="annotation"],
  .dls-conversion-preview-workspace[data-mode="interactive"] {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .dls-conversion-preview-tools {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid #dbe7e8;
  }

  .dls-conversion-preview-document {
    min-height: 52vh;
  }

  .dls-conversion-preview-responses {
    border-top: 1px solid #dbe7e8;
    border-left: 0;
  }
}

/* Tablet accessibility: retain readable columns and allow native page pinch zoom. */
.dls-assignment-workspace,
.dls-assignment-detail,
.dls-student-submission-form {
  touch-action: pan-x pan-y pinch-zoom;
}

@media (min-width: 701px) and (max-width: 1100px) {
  .dls-assignment-detail-grid,
  .dls-assignment-grid {
    grid-template-columns: 1fr !important;
  }

  .dls-assignment-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: clamp(1.5rem, 4vw, 2.25rem);
  }

  .dls-assignment-hero h1 {
    font-size: clamp(2rem, 6vw, 3.25rem);
  }

  .dls-assignment-question,
  .dls-assignment-submission,
  .dls-assignment-card {
    min-width: 0;
  }

  .dls-assignment-option-text,
  .dls-assignment-question legend,
  .dls-assignment-instructions {
    font-size: max(1rem, 16px);
    line-height: 1.55;
  }

  .dls-assignment-builder-form .dls-recipient-student-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1101px) and (max-width: 1360px) {
  .dls-assignment-detail-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
  }

  .dls-assignment-grid {
    grid-template-columns: repeat(2, minmax(18rem, 1fr));
  }

  .dls-grade-form {
    grid-template-columns: 7rem 7rem minmax(14rem, 1fr);
  }

  .dls-grade-form button {
    grid-column: 1 / -1;
    justify-self: end;
  }
}

@media (max-width: 700px) {
  .dls-assignment-workspace,
  .dls-assignment-detail,
  .dls-student-submission-form {
    width: 100%;
    min-width: 0;
  }

  .dls-assignment-hero {
    border-radius: clamp(1.25rem, 6vw, 2rem);
    padding: 1.25rem;
  }

  .dls-assignment-hero h1 {
    font-size: clamp(1.85rem, 10vw, 2.6rem);
  }

  .dls-assignment-card,
  .dls-assignment-submission,
  .dls-assignment-question {
    padding: 1rem;
  }

  .dls-assignment-option-text,
  .dls-assignment-question legend,
  .dls-assignment-instructions {
    font-size: max(.95rem, 15px);
    line-height: 1.55;
  }

  .dls-assignment-form-actions > *,
  .dls-assignment-card-actions > * {
    width: 100%;
  }
}
