/* MathVenture standalone Attendance + Gradebook */
#view-teacher-attendance-center,#view-teacher-gradebook{max-width:1500px;margin:0 auto}
.mv-academic-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mv-academic-field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#64748b;margin-bottom:5px}
.mv-academic-field input,.mv-academic-field select{width:100%;padding:11px 12px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;font-weight:800;color:#334155;outline:none}
.mv-academic-field input:focus,.mv-academic-field select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.mv-att-student-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.mv-att-student-id{display:flex;align-items:center;gap:10px;min-width:190px}.mv-att-student-id strong{display:block;color:#1e293b;font-size:13px}.mv-att-student-id small{display:block;color:#94a3b8;font-size:10px;margin-top:2px}
.mv-att-status-group{display:grid;grid-template-columns:repeat(4,minmax(88px,1fr));gap:6px;flex:1;max-width:540px}.mv-att-status-btn{padding:8px 9px;border-radius:11px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:11px;font-weight:900;transition:.15s}.mv-att-status-btn:hover{transform:translateY(-1px)}
.mv-att-status-btn.emerald.is-active{background:#dcfce7;border-color:#86efac;color:#166534}.mv-att-status-btn.amber.is-active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.mv-att-status-btn.sky.is-active{background:#e0f2fe;border-color:#7dd3fc;color:#075985}.mv-att-status-btn.rose.is-active{background:#ffe4e6;border-color:#fda4af;color:#9f1239}
.mv-academic-table-wrap,.mv-raw-scroll{width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.mv-grade-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1050px}.mv-grade-table th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#475569;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;padding:10px;border-bottom:1px solid #e2e8f0;text-align:center}.mv-grade-table td{padding:9px 10px;border-bottom:1px solid #f1f5f9;font-size:12px;color:#475569;text-align:center}.mv-grade-table td:nth-child(2){text-align:left;min-width:180px}.mv-grade-table tr:last-child td{border-bottom:0}
.mv-grade-cell{min-width:88px}.mv-grade-cell input{width:72px;padding:7px 6px;text-align:center;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-weight:900;color:#334155;outline:none}.mv-grade-cell input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px rgba(56,189,248,.12)}.mv-grade-cell small{display:block;font-size:8px;color:#94a3b8;margin-top:3px;white-space:nowrap}.mv-grade-cell.is-edited input{border-color:#f59e0b;background:#fffbeb}.mv-grade-cell.is-edited small{color:#b45309;font-weight:800}
.mv-weight-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.mv-weight-item label{display:block;font-size:9px;font-weight:900;color:#64748b;margin-bottom:4px}.mv-weight-item input{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:10px;text-align:center;font-weight:900;color:#334155}
.mv-raw-table thead tr:first-child th{background:#e0f2fe;color:#075985;top:0}.mv-raw-table thead tr:nth-child(2) th{background:#f8fafc;top:35px}.mv-raw-table th[rowspan="2"]{vertical-align:middle}.mv-raw-table td{white-space:nowrap}
@media(max-width:1000px){.mv-academic-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.mv-weight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mv-att-student-row{align-items:flex-start;flex-direction:column}.mv-att-status-group{width:100%;max-width:none}}
@media(max-width:640px){.mv-academic-toolbar{grid-template-columns:1fr}.mv-weight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mv-att-status-group{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026-09-10 — read-only summary + editable raw data */
.mv-grade-display{min-width:78px;display:flex;flex-direction:column;align-items:center;gap:2px}.mv-grade-display strong{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:34px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#334155;font-weight:900}.mv-grade-display small{display:block;font-size:8px;color:#94a3b8;white-space:nowrap}.mv-grade-display.is-edited strong{border-color:#f59e0b;background:#fffbeb;color:#92400e}.mv-grade-display.is-edited small{color:#b45309;font-weight:800}
.mv-raw-grade-cell,.mv-raw-count-cell{min-width:64px}.mv-raw-grade-cell input,.mv-raw-count-cell input{width:62px;padding:7px 5px;text-align:center;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font-weight:900;color:#334155;outline:none}.mv-raw-grade-cell input:focus,.mv-raw-count-cell input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px rgba(56,189,248,.12)}.mv-raw-grade-cell.is-edited input,.mv-raw-count-cell.is-edited input{border-color:#f59e0b;background:#fffbeb;color:#92400e}
.mv-manual-grade-panel{padding:14px;border:1px solid #bae6fd;background:#f0f9ff;border-radius:16px}.mv-manual-grade-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr auto;gap:10px;align-items:end}.mv-manual-grade-action{min-width:160px}
@media(max-width:900px){.mv-manual-grade-grid{grid-template-columns:1fr 1fr}.mv-manual-grade-action{min-width:0}}
@media(max-width:640px){.mv-manual-grade-grid{grid-template-columns:1fr}.mv-raw-grade-cell input,.mv-raw-count-cell input{width:58px}}

/* 2026-09-11 — dedicated Input Grades workflow + dynamic raw columns */
.mv-grade-entry-meta{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.7fr) minmax(170px,.8fr);gap:12px}
.mv-grade-entry-head{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:14px;padding:8px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-bottom:0;border-radius:16px 16px 0 0;color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.mv-grade-entry-head span:last-child{text-align:center}
.mv-grade-entry-roster{max-height:430px;overflow:auto;border:1px solid #e2e8f0;border-radius:0 0 16px 16px;background:#fff}
.mv-grade-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}
.mv-grade-entry-row:last-child{border-bottom:0}
.mv-grade-entry-student{display:flex;align-items:center;gap:10px;min-width:0}
.mv-grade-entry-no{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#f0f9ff;color:#0369a1;font-size:10px;font-weight:900}
.mv-grade-entry-student strong{display:block;color:#1e293b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv-grade-entry-student small{display:block;color:#94a3b8;font-size:9px;margin-top:1px}
.mv-grade-entry-score-wrap label{display:none}
.mv-grade-entry-score{width:84px;display:block;margin:0 auto;padding:8px 7px;text-align:center;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-weight:900;outline:none}
.mv-grade-entry-score:focus{border-color:#38bdf8;box-shadow:0 0 0 2px rgba(56,189,248,.12)}
.mv-raw-head-title{display:block;max-width:120px;margin:3px auto 0;color:#94a3b8;font-size:7px;font-weight:700;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:800px){.mv-grade-entry-meta{grid-template-columns:1fr 1fr}.mv-grade-entry-meta .mv-academic-field:nth-child(2){grid-column:1/-1;grid-row:1}.mv-grade-entry-row,.mv-grade-entry-head{grid-template-columns:minmax(0,1fr) 90px}.mv-grade-entry-score{width:72px}}
@media(max-width:560px){.mv-grade-entry-meta{grid-template-columns:1fr}.mv-grade-entry-meta .mv-academic-field:nth-child(2){grid-column:auto;grid-row:auto}.mv-grade-entry-roster{max-height:360px}}

/* 2026-09-22 — Gradebook publish/export action polish */
.mv-gb-hero-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
}
.mv-gb-hero-copy{min-width:0;max-width:760px}
.mv-gb-header-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  width:auto;
  min-width:410px;
  flex:0 0 auto;
}
.mv-gb-publish-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#64748b;
  font-size:11px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.mv-gb-publish-status.is-published{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#047857;
}
.mv-gb-header-action-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  width:100%;
}
.mv-gb-action-btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:11px 18px;
  border-radius:13px;
  font-size:13px;
  line-height:1.1;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.mv-gb-action-btn i{font-size:13px;flex:0 0 auto}
.mv-gb-action-btn:hover{transform:translateY(-1px)}
.mv-gb-action-btn:focus-visible{outline:3px solid rgba(14,165,233,.22);outline-offset:2px}
.mv-gb-publish-btn{
  min-width:235px;
  flex:1 1 auto;
  border:1px solid #0284c7 !important;
  background:#0284c7 !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(2,132,199,.16);
}
.mv-gb-publish-btn:hover{
  border-color:#0369a1 !important;
  background:#0369a1 !important;
  box-shadow:0 8px 20px rgba(2,132,199,.20);
}
.mv-gb-export-btn{
  min-width:155px;
  flex:0 0 155px;
  border:1px solid #86efac !important;
  background:#fff !important;
  color:#047857 !important;
  box-shadow:0 3px 10px rgba(15,23,42,.04);
}
.mv-gb-export-btn:hover{
  border-color:#4ade80 !important;
  background:#f0fdf4 !important;
}
@media(max-width:1180px){
  .mv-gb-hero-head{grid-template-columns:1fr;gap:16px;align-items:start}
  .mv-gb-hero-copy{max-width:none}
  .mv-gb-header-actions{width:100%;min-width:0;align-items:flex-start}
  .mv-gb-header-action-row{justify-content:flex-start;max-width:430px}
}
@media(max-width:640px){
  .mv-gb-header-actions{align-items:stretch}
  .mv-gb-publish-status{align-self:flex-start}
  .mv-gb-header-action-row{display:grid;grid-template-columns:1fr;width:100%;max-width:none}
  .mv-gb-publish-btn,.mv-gb-export-btn{width:100%;min-width:0;flex:auto}
}


/* 2026-09-28 — Gradebook activity edit/remove/restore controls */
.mv-raw-head-actions{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:5px}
.mv-raw-head-action{width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#64748b;font-size:8px;cursor:pointer;transition:.15s}
.mv-raw-head-action:hover{transform:translateY(-1px)}
.mv-raw-head-action.edit:hover{border-color:#7dd3fc;background:#f0f9ff;color:#0369a1}
.mv-raw-head-action.remove:hover{border-color:#fda4af;background:#fff1f2;color:#be123c}
.mv-removed-grade-items{margin-top:14px;padding:13px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}
.mv-removed-grade-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.mv-removed-grade-items-head strong{display:block;color:#334155;font-size:12px}
.mv-removed-grade-items-head small{display:block;margin-top:2px;color:#94a3b8;font-size:10px;font-weight:600}
.mv-removed-grade-items-head>span{padding:5px 8px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:9px;font-weight:900;white-space:nowrap}
.mv-removed-grade-items-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mv-removed-grade-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.mv-removed-grade-item strong{display:block;color:#475569;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.mv-removed-grade-item small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}
.mv-removed-grade-item button{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #bae6fd;border-radius:9px;background:#f0f9ff;color:#0369a1;font-size:9px;font-weight:900;white-space:nowrap}
@media(max-width:760px){.mv-removed-grade-items-list{grid-template-columns:1fr}.mv-removed-grade-items-head{align-items:flex-start;flex-direction:column}.mv-removed-grade-item strong{max-width:180px}}

/* 2026-09-28 — polished Gradebook item editor */
body.mv-gb-dialog-open{overflow:hidden}
.mv-gb-item-dialog{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:20px}
.mv-gb-item-dialog[aria-hidden="true"]{display:none}
.mv-gb-item-dialog-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(7px)}
.mv-gb-item-dialog-card{position:relative;width:min(470px,100%);max-height:min(86vh,620px);overflow:auto;border:1px solid rgba(255,255,255,.82);border-radius:24px;background:#fff;box-shadow:0 28px 70px rgba(15,23,42,.28);padding:20px}
.mv-gb-item-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.mv-gb-item-dialog-head span{display:block;margin-bottom:4px;color:#0284c7;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.mv-gb-item-dialog-head h3{margin:0;color:#0f172a;font-size:20px;font-weight:900;letter-spacing:-.02em}
.mv-gb-item-dialog-close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc;color:#64748b;transition:.15s}
.mv-gb-item-dialog-close:hover{background:#f1f5f9;color:#334155}
.mv-gb-item-dialog-fields{display:grid;grid-template-columns:1fr 150px;gap:12px}
.mv-gb-item-dialog-fields label{display:block;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.mv-gb-item-dialog-fields input{width:100%;margin-top:6px;padding:11px 12px;border:2px solid #e2e8f0;border-radius:13px;background:#fff;color:#334155;font-size:13px;font-weight:800;outline:none;transition:.15s}
.mv-gb-item-dialog-fields input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.mv-gb-item-remove-copy{display:flex;align-items:flex-start;gap:13px;padding:14px;border:1px solid #fecdd3;border-radius:16px;background:#fff7f8}
.mv-gb-item-remove-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:12px;background:#ffe4e6;color:#be123c}
.mv-gb-item-remove-copy strong{display:block;color:#881337;font-size:13px;font-weight:900;overflow-wrap:anywhere}
.mv-gb-item-remove-copy p{margin:4px 0 0;color:#9f1239;font-size:11px;font-weight:650;line-height:1.55}
.mv-gb-item-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.mv-gb-item-dialog-actions button{min-height:39px;padding:9px 14px;border-radius:12px;font-size:11px;font-weight:900;transition:.15s}
.mv-gb-item-dialog-secondary{border:1px solid #e2e8f0;background:#fff;color:#475569}
.mv-gb-item-dialog-secondary:hover{background:#f8fafc}
.mv-gb-item-dialog-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #0284c7;background:#0284c7;color:#fff;box-shadow:0 8px 18px rgba(2,132,199,.18)}
.mv-gb-item-dialog-primary:hover{background:#0369a1;border-color:#0369a1}
.mv-gb-item-dialog-primary.is-danger{border-color:#e11d48;background:#e11d48;box-shadow:0 8px 18px rgba(225,29,72,.17)}
.mv-gb-item-dialog-primary.is-danger:hover{border-color:#be123c;background:#be123c}
.mv-gb-item-dialog-primary:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:560px){.mv-gb-item-dialog{padding:12px}.mv-gb-item-dialog-card{border-radius:20px;padding:17px}.mv-gb-item-dialog-fields{grid-template-columns:1fr}.mv-gb-item-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.mv-gb-item-dialog-actions button{width:100%}}


/* 2026-09-28 — saved attendance day/date correction */
.mv-att-saved-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.mv-att-saved-help{display:inline-flex;align-items:center;gap:7px;max-width:360px;padding:8px 11px;border:1px solid #bae6fd;border-radius:12px;background:#f0f9ff;color:#0369a1;font-size:10px;font-weight:800;line-height:1.35}
.mv-att-saved-days-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mv-att-saved-day{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}
.mv-att-saved-day-main{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;flex:1}
.mv-att-saved-date{display:flex;align-items:center;gap:10px;min-width:0}.mv-att-saved-date>i{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#e0f2fe;color:#0284c7}
.mv-att-saved-date strong{display:block;color:#334155;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mv-att-saved-date small{display:block;margin-top:2px;color:#94a3b8;font-size:9px;font-weight:700}
.mv-att-saved-counts{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.mv-att-saved-counts span{padding:4px 6px;border-radius:8px;font-size:8px;font-weight:900;white-space:nowrap}.mv-att-saved-counts .present{background:#dcfce7;color:#166534}.mv-att-saved-counts .sick{background:#fef3c7;color:#92400e}.mv-att-saved-counts .permission{background:#e0f2fe;color:#075985}.mv-att-saved-counts .absent{background:#ffe4e6;color:#9f1239}
.mv-att-edit-date-btn,.mv-att-date-lock{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:10px;font-size:9px;font-weight:900;white-space:nowrap}.mv-att-edit-date-btn{border:1px solid #bae6fd;background:#f0f9ff;color:#0369a1;transition:.15s}.mv-att-edit-date-btn:hover{border-color:#7dd3fc;background:#e0f2fe;transform:translateY(-1px)}.mv-att-date-lock{border:1px solid #e2e8f0;background:#f8fafc;color:#94a3b8}
.mv-att-saved-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#94a3b8;text-align:center;font-size:11px;font-weight:700}
.mv-att-date-edit-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.mv-att-date-edit-summary>div{padding:10px 11px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.mv-att-date-edit-summary small{display:block;color:#94a3b8;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.mv-att-date-edit-summary strong{display:block;margin-top:3px;color:#334155;font-size:11px;font-weight:900;overflow-wrap:anywhere}
.mv-att-date-edit-field label{display:block;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.mv-att-date-edit-field input{width:100%;margin-top:6px;padding:11px 12px;border:2px solid #e2e8f0;border-radius:13px;background:#fff;color:#334155;font-size:13px;font-weight:800;outline:none}.mv-att-date-edit-field input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}.mv-att-date-edit-field p{margin:7px 0 0;color:#64748b;font-size:10px;font-weight:650;line-height:1.5}
@media(max-width:900px){.mv-att-saved-days-list{grid-template-columns:1fr}.mv-att-saved-head{flex-direction:column}.mv-att-saved-help{max-width:none}}
@media(max-width:560px){.mv-att-saved-day{align-items:stretch;flex-direction:column}.mv-att-saved-day-main{align-items:flex-start;flex-direction:column}.mv-att-saved-counts{justify-content:flex-start}.mv-att-edit-date-btn,.mv-att-date-lock{width:100%}.mv-att-date-edit-summary{grid-template-columns:1fr}}

/* 2026-09-28 — saved attendance status editing + duplicate-save protection */
.mv-att-editing-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:11px 13px;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4;color:#166534}
.mv-att-editing-note[hidden]{display:none}
.mv-att-editing-note>i{margin-top:2px}.mv-att-editing-note strong{display:block;font-size:10px;font-weight:900}.mv-att-editing-note span{display:block;margin-top:2px;font-size:9px;font-weight:650;line-height:1.45;color:#15803d}
.mv-att-saved-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mv-att-edit-status-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#15803d;font-size:9px;font-weight:900;white-space:nowrap;transition:.15s}
.mv-att-edit-status-btn:hover{border-color:#86efac;background:#dcfce7;transform:translateY(-1px)}
#mv-att-save-btn:disabled{opacity:.65;cursor:wait}
@media(max-width:560px){.mv-att-saved-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.mv-att-edit-status-btn,.mv-att-edit-date-btn{width:100%}}


/* 2026-09-28 — per-student attendance date history */
.mv-att-history-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 9px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#475569;font-size:9px;font-weight:900;white-space:nowrap;transition:.15s}
.mv-att-history-btn:hover{border-color:#7dd3fc;background:#f0f9ff;color:#0369a1;transform:translateY(-1px)}
.mv-att-history-dialog-card{width:min(560px,100%)}
.mv-att-history-context{margin:5px 0 0;color:#64748b;font-size:10px;font-weight:700}
.mv-att-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}
.mv-att-history-summary>div{padding:11px 12px;border:1px solid #e2e8f0;border-radius:14px;text-align:center}
.mv-att-history-summary small{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.mv-att-history-summary strong{display:block;margin-top:3px;font-size:20px;font-weight:900}
.mv-att-history-summary .sick{background:#fffbeb;border-color:#fde68a;color:#92400e}.mv-att-history-summary .permission{background:#f0f9ff;border-color:#bae6fd;color:#075985}.mv-att-history-summary .absent{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.mv-att-history-sections{display:grid;gap:10px}
.mv-att-history-section{overflow:hidden;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.mv-att-history-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #e2e8f0}.mv-att-history-section-head strong{font-size:11px;font-weight:900}.mv-att-history-section-head span{min-width:25px;padding:3px 7px;border-radius:999px;text-align:center;font-size:9px;font-weight:900}
.mv-att-history-section.sick .mv-att-history-section-head{background:#fffbeb;color:#92400e}.mv-att-history-section.sick .mv-att-history-section-head span{background:#fef3c7}.mv-att-history-section.permission .mv-att-history-section-head{background:#f0f9ff;color:#075985}.mv-att-history-section.permission .mv-att-history-section-head span{background:#e0f2fe}.mv-att-history-section.absent .mv-att-history-section-head{background:#fff1f2;color:#9f1239}.mv-att-history-section.absent .mv-att-history-section-head span{background:#ffe4e6}
.mv-att-history-date-list{max-height:155px;overflow:auto}.mv-att-history-date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid #f1f5f9}.mv-att-history-date-row:first-child{border-top:0}.mv-att-history-date-row strong{display:block;color:#334155;font-size:10px;font-weight:900}.mv-att-history-date-row small{display:block;margin-top:2px;color:#94a3b8;font-size:8px;font-weight:700}.mv-att-history-date-row>span{padding:4px 7px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:8px;font-weight:850;white-space:nowrap}
.mv-att-history-empty{padding:12px;color:#94a3b8;font-size:10px;font-weight:700;text-align:center;background:#f8fafc}
.mv-att-history-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#64748b;font-size:9px;font-weight:650;line-height:1.45}.mv-att-history-note i{margin-top:2px;color:#0284c7}
@media(max-width:560px){.mv-att-history-summary{grid-template-columns:1fr}.mv-att-history-btn{width:100%}.mv-att-history-date-row{align-items:flex-start;flex-direction:column}.mv-att-history-date-row>span{align-self:flex-start}}

/* 2026-09-28 — unified Live Teaching attendance + delete controls */
.mv-att-delete-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid #fecdd3;border-radius:10px;background:#fff1f2;color:#be123c;font-size:9px;font-weight:900;white-space:nowrap;transition:.15s}
.mv-att-delete-btn:hover{border-color:#fda4af;background:#ffe4e6;transform:translateY(-1px)}
.mv-att-delete-summary{display:flex;align-items:flex-start;gap:12px;margin:2px 0 16px;padding:13px;border:1px solid #fecdd3;border-radius:15px;background:#fff1f2}
.mv-att-delete-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#ffe4e6;color:#e11d48}
.mv-att-delete-summary strong{display:block;color:#881337;font-size:11px;font-weight:900}.mv-att-delete-summary p{margin:4px 0 0;color:#9f1239;font-size:10px;font-weight:650;line-height:1.5}
@media(max-width:560px){.mv-att-saved-actions{grid-template-columns:1fr 1fr 1fr}.mv-att-edit-status-btn,.mv-att-edit-date-btn,.mv-att-date-lock,.mv-att-delete-btn{width:100%}}
@media(max-width:430px){.mv-att-saved-actions{grid-template-columns:1fr}.mv-att-delete-summary{align-items:flex-start}}
