/* Shared readable form UI; no uploads, grading or answer keys. */
.assignment-admin{min-width:0}.assignment-admin>p{margin:12px 0 24px}.assignment-admin label,.assignment-builder label{display:block;margin:14px 0;font-size:16px}.assignment-admin input:not([type=checkbox]):not([type=radio]),.assignment-admin select,.assignment-admin textarea,.assignment-question input:not([type=checkbox]):not([type=radio]),.assignment-question textarea,.assignment-question select{width:100%;max-width:100%;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.assignment-builder{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.assignment-builder .panel{padding:22px;margin-bottom:18px}.assignment-builder-tools h2{font:600 20px/1.5 'Be Vietnam Pro',sans-serif;letter-spacing:0}.assignment-type-list{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0}.assignment-type-list .btn{justify-content:flex-start;font-size:15px}.assignment-question-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assignment-question-toolbar strong{margin-right:auto}.assignment-question-toolbar .chip{min-height:40px;padding:5px 12px}.assignment-option{display:grid;grid-template-columns:1fr 1fr 40px;gap:10px;align-items:center}.assignment-option label{min-width:0}.assignment-option .chip{margin-top:20px}.assignment-form-list{display:grid;gap:16px;margin-top:24px}.assignment-form-list .panel{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.assignment-form-list h2{font-size:26px;margin-bottom:8px}.assignment-form-list .actions{margin:0;flex:none}.assignment-status{display:inline-block;background:var(--soft);color:var(--green);padding:5px 12px;border-radius:20px;font-size:15px;margin:10px 0}.assignment-intro h2{font-size:28px;margin-bottom:10px}.assignment-intro>p,.assignment-help,.assignment-answer{white-space:pre-wrap;overflow-wrap:anywhere}.assignment-question{border:1px solid var(--line);border-radius:12px;padding:22px;margin:18px 0;background:#fff;min-width:0}.assignment-question h3{font:600 18px/1.6 'Be Vietnam Pro',sans-serif;letter-spacing:0;margin:0 0 12px}.assignment-help{font-size:16px;margin-bottom:16px}.assignment-required{color:#ad455a}.assignment-question a{color:var(--green);text-decoration:underline;overflow-wrap:anywhere}.assignment-choice{display:flex!important;align-items:flex-start;gap:10px;font-size:16px;margin:12px 0!important;cursor:pointer}.assignment-choice input{width:20px;height:20px;margin-top:4px;flex:none;accent-color:var(--green)}.assignment-choice span{min-width:0;overflow-wrap:anywhere}.assignment-choice img{width:160px;max-height:130px;object-fit:contain;margin-top:8px}.assignment-image{margin:16px 0}.assignment-image img{max-height:300px;width:auto;max-width:100%;object-fit:contain;border-radius:8px;margin-bottom:8px}.assignment-success{padding:18px;background:var(--soft);border-radius:10px;color:var(--green);margin:20px 0}.assignment-admin .btn,.assignment-question~.actions .btn{min-height:44px;font-size:16px}.assignment-builder .grid.two{align-items:center}.assignment-preview .assignment-question{margin:14px 0}
@media(max-width:1100px){.assignment-builder{grid-template-columns:minmax(0,1fr)}.assignment-builder-tools{display:grid;grid-template-columns:1fr 1fr;gap:16px}.assignment-builder-tools .panel:last-child{grid-column:1/-1}.assignment-type-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.assignment-builder-tools{display:block}.assignment-builder .panel,.assignment-question,.assignment-form-list .panel{padding:18px}.assignment-builder .grid.two{grid-template-columns:minmax(0,1fr)}.assignment-form-list .panel{display:block}.assignment-form-list .actions{margin-top:16px}.assignment-option{grid-template-columns:minmax(0,1fr) 40px}.assignment-option label{grid-column:1}.assignment-option .chip{grid-column:2;grid-row:1/3}.assignment-question-toolbar strong{width:100%}.assignment-admin .head-row{align-items:flex-start;flex-direction:column}.assignment-admin .actions,.assignment-question~.actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:10px}.assignment-admin .actions>.btn{width:100%;min-height:48px}.assignment-type-list .btn{white-space:normal;padding:10px}.assignment-form-list h2{font-size:25px}.assignment-admin h1{font-size:34px}}

/* Submission inbox: metadata for drafts, answers only after submission. */
.submission-admin .head-row>div>p{margin:10px 0 0}.submission-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0 12px}.submission-metric{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:18px;display:grid;gap:8px;font-size:16px}.submission-metric:nth-child(2){background:#fbf2df}.submission-metric:nth-child(3){background:#f5f4ef}.submission-metric:last-child{background:var(--blush)}.submission-metric strong{font-size:34px;line-height:1.2}.submission-metric:hover{border-color:var(--green)}.submission-filters{padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:22px 0}.submission-filters label{margin:0;font-size:15px}.submission-filters .actions{margin:0;align-items:end;gap:8px}.submission-filters input,.submission-filters select{margin-top:6px}.submission-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.submission-tabs .chip{font-size:16px;min-height:44px;padding:8px 16px}.submission-table{border:1px solid var(--line);border-radius:12px;background:white;overflow:auto}.submission-table-head,.submission-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.3fr) 105px 135px 95px 95px;gap:12px;align-items:center;padding:18px;min-width:840px}.submission-table-head{background:var(--soft);font-size:15px;font-weight:600}.submission-row{font-size:16px;border-top:1px solid var(--line)}.submission-row>div{min-width:0;overflow-wrap:anywhere}.submission-row strong{font-weight:600}.submission-row small{display:block;font-size:14px;line-height:1.7;margin-top:4px;color:var(--muted)}.submission-row .btn{padding:10px 12px;width:100%;font-size:15px;min-height:44px}.submission-badge{display:inline-block;border-radius:20px;padding:5px 10px;font-size:14px;line-height:1.5}.submission-badge.is-submitted{background:#e4f0da;color:#275831}.submission-badge.is-draft{background:#fff0cd;color:#805b19}.submission-badge.is-not_started{background:#f0efeb;color:#62635d}.submission-read{font-size:14px;color:var(--muted)}.submission-read.is-unseen{color:#ac485b}.submission-mobile-label{display:none}.submission-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0;font-size:16px}.submission-pagination .actions{margin:0}.submission-detail{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.submission-detail .panel{padding:22px;min-width:0;margin-bottom:20px}.submission-detail h2{font-size:27px;overflow-wrap:anywhere}.submission-detail .head-row{align-items:start;margin-bottom:12px}.submission-detail dl{margin:22px 0 0;display:grid;gap:6px}.submission-detail dt{font-size:14px;color:var(--muted);margin-top:10px}.submission-detail dd{margin:0;font-size:16px;overflow-wrap:anywhere}.submission-detail aside>section>p{overflow-wrap:anywhere}
@media(max-width:1100px){.submission-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-detail{grid-template-columns:minmax(0,1fr)}.submission-detail aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.submission-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.submission-table{border:0;background:transparent;overflow:visible}.submission-table-head{display:none}.submission-row{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:16px;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.submission-row>div:nth-child(1),.submission-row>div:nth-child(2){grid-column:1/-1}.submission-row>div:nth-child(4){grid-column:1/-1}.submission-row>div:nth-child(6){grid-column:1/-1}.submission-row>div:nth-child(5){grid-column:2;grid-row:3}.submission-mobile-label{display:inline}.submission-row .btn{font-size:16px;min-height:48px}}
@media(max-width:760px){.submission-filters{grid-template-columns:minmax(0,1fr);padding:18px}.submission-detail aside{display:block}.submission-detail .panel{padding:18px}.submission-metric{padding:15px;font-size:15px}.submission-metric strong{font-size:30px}.submission-metrics{gap:12px}.submission-pagination .actions{display:flex;width:auto}.submission-admin .submission-filters .actions{margin-top:4px}}
@media(min-width:761px){.submission-filters .actions{display:flex;flex-wrap:nowrap;align-self:end}.submission-filters .actions>.btn{width:auto;min-width:0;flex:1;padding:10px 12px;font-size:15px}}

.submission-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.submission-detail-actions .btn{margin:0}
@media(max-width:760px){.submission-detail-actions{width:100%}.submission-detail-actions .btn{flex:1;min-width:140px;min-height:48px}}

/* Scoped course / student submission windows. Native dialog retains focus and Escape. */
.submission-student-link{border:0;background:transparent;color:var(--green);text-decoration:underline;font-size:15px;text-align:left;padding:8px 0;min-height:44px}.explorer-course-entry{margin:0 0 20px}
dialog.submission-explorer{width:min(1440px,calc(100% - 32px));max-width:1440px;height:min(940px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:30px;overflow:auto;background:#fdfcf8;color:var(--ink);border:1px solid var(--line);border-radius:20px}dialog.submission-explorer::backdrop{background:#103d3077}.submission-explorer h2{font-size:36px;padding-right:45px}.explorer-subtitle{font-size:18px;margin:10px 0;overflow-wrap:anywhere}.submission-explorer .submission-metrics{margin:20px 0 10px}.submission-explorer .submission-metric{padding:14px}.submission-explorer .submission-metric strong{font-size:30px}.submission-explorer .btn{font-size:16px;min-height:44px;gap:8px}.submission-explorer[aria-busy=true] .explorer-filters,.submission-explorer[aria-busy=true] .explorer-pages{opacity:.6;pointer-events:none}.explorer-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0}.explorer-filters label{flex:1;min-width:150px;font-size:15px}.explorer-filters input,.explorer-filters select{width:100%;margin-top:5px;font-size:16px;min-height:46px}.explorer-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:20px;align-items:start}.explorer-list,.explorer-answer{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.explorer-list>h3,.explorer-answer-head h3{font-size:26px;line-height:1.3}.explorer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:15px 10px;font-size:17px;overflow-wrap:anywhere}.explorer-row>div{min-width:0}.explorer-row small{display:block;font-size:14px;color:var(--muted);margin:3px 0}.explorer-row .submission-badge{margin-top:6px}.explorer-row.is-active{background:var(--soft);border-radius:10px;box-shadow:inset 3px 0 var(--green)}.explorer-row .btn{padding:8px 16px;flex:none}.explorer-group{font:600 17px/1.6 'Be Vietnam Pro',sans-serif;background:var(--soft);padding:10px;border-radius:8px;margin:18px 0 4px}.explorer-pages{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;font-size:16px}.explorer-pages>span{margin-right:auto}.explorer-pages .btn{padding:8px 14px}.explorer-answer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px;flex-wrap:wrap}.explorer-answer-head p{font-size:15px;overflow-wrap:anywhere;margin-top:6px}.explorer-answer .assignment-question{padding:18px}.explorer-answer-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.explorer-empty{padding:30px 10px;font-size:17px}.submission-explorer button:disabled{opacity:.55;cursor:default}
@media(max-width:900px){.explorer-split{grid-template-columns:minmax(0,1fr)}.explorer-list{max-height:420px;overflow:auto}.explorer-filters label{min-width:calc(50% - 12px)}}
@media(max-width:560px){dialog.submission-explorer{width:calc(100% - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:48px 14px 20px;border-radius:14px}.submission-explorer h2{font-size:29px;padding-right:0}.submission-explorer .submission-metrics{gap:10px}.submission-explorer .submission-metric{font-size:14px;padding:12px}.explorer-filters label{min-width:100%}.explorer-filters>.btn{width:100%}.explorer-list,.explorer-answer{padding:14px}.explorer-row{font-size:16px}.explorer-answer-nav{flex-wrap:wrap}.explorer-answer-nav .btn{flex:1;min-width:120px}.explorer-answer-head>.btn{width:100%}}

.submission-explorer .explorer-filters>.btn{width:auto;flex:0 0 auto;margin:0}.submission-explorer p{margin-bottom:0}.submission-explorer .explorer-answer-head p{margin:6px 0 0}.submission-explorer .explorer-answer-head>.btn{margin:0}.submission-explorer .explorer-empty{margin:0}
@media(min-width:901px){.submission-explorer .explorer-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto}.explorer-filters label{min-width:0}.explorer-list,.explorer-answer{max-height:520px;overflow:auto;overscroll-behavior:contain}}
@media(max-width:560px){.submission-explorer .explorer-filters>.btn{width:100%}}

/* Export options stay visible before downloading; default is a real Excel table. */
dialog.assignment-export-dialog{width:min(800px,calc(100% - 24px));max-width:800px;background:#fdfcf8;padding:44px 28px 28px}.assignment-export-dialog h2{font-size:30px;padding-right:24px}.assignment-export-dialog form{display:grid;gap:18px;margin-top:22px}.assignment-export-dialog label{display:grid;gap:7px;font-size:16px;margin:0}.assignment-export-dialog input,.assignment-export-dialog select{min-height:48px;font-size:16px;width:100%;margin:0}.assignment-export-dialog fieldset{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;padding:18px;gap:16px;margin:0;min-width:0}.assignment-export-dialog fieldset[hidden]{display:none}.assignment-export-dialog p{margin:0}.assignment-export-dialog .grid.two{gap:18px}.assignment-export-dialog .btn{font-size:16px;min-height:48px;margin:0}.assignment-export-dialog .actions{margin:0}.assignment-export-dialog [data-export-error]{font-size:16px;overflow-wrap:anywhere}.assignment-export-dialog .form-help{font-size:15px;line-height:1.7}.explorer-export-entry{margin:8px 0 0!important}
@media(max-width:600px){dialog.assignment-export-dialog{padding:48px 18px 22px}.assignment-export-dialog fieldset,.assignment-export-dialog .grid.two{grid-template-columns:minmax(0,1fr)}.assignment-export-dialog .actions{display:grid;grid-template-columns:1fr 1fr}}

.assignment-template-delete{border-color:#bb5268!important;color:#a53f54!important}.assignment-feedback{margin:24px 0 4px;padding:22px;background:var(--soft);border:1px solid var(--line);border-radius:12px;min-width:0}.assignment-feedback h3{font-size:25px;margin-bottom:16px}.assignment-feedback form{display:grid;gap:14px}.assignment-feedback label{display:grid;gap:7px;font-size:16px;margin:0}.assignment-feedback textarea,.assignment-feedback select{width:100%;font-size:16px;margin:0}.assignment-feedback .btn{justify-self:start;font-size:16px;min-height:46px;margin:0}.assignment-feedback .assignment-answer{font-size:17px;margin:12px 0}.assignment-feedback .form-help{font-size:15px;margin:0}.assignment-feedback [data-feedback-status]{color:var(--green)}
@media(max-width:560px){.assignment-feedback{padding:16px}.assignment-feedback .btn{width:100%}.assignment-feedback h3{font-size:23px}}
