/* Save feedback only; no change to attendance data or write policy. */
@layer attendance-polish {
  html body #workspace[data-view="attendance"] #attendanceView #attendanceMobileDateField > i.attendanceSaveIndicator { display:inline-grid !important; color:inherit !important; }
  @media(max-width:920px) {
    html body #workspace[data-view="attendance"] #attendanceView #attendanceMobileDateField[data-save-state]:not([data-save-state="idle"]) { display:grid !important; grid-template-columns:14px 1fr !important; grid-template-rows:18px 14px !important; gap:0 4px !important; align-content:center !important; }
    html body #workspace[data-view="attendance"] #attendanceView #attendanceMobileDateField > i { grid-column:1 !important; grid-row:1 !important; }
    html body #workspace[data-view="attendance"] #attendanceView #attendanceMobileDateField > span:not(.attendanceSaveLabel) { grid-column:2 !important; grid-row:1 !important; }
    html body #workspace[data-view="attendance"] #attendanceView #attendanceMobileDateField > .attendanceSaveLabel { grid-column:1 / -1 !important; grid-row:2 !important; margin:0 !important; font-size:11px !important; line-height:14px !important; }
  }
}
html body .toast.show { display:flex !important; align-items:flex-start; gap:10px; pointer-events:auto !important; }
html body .toast .toastIcon { flex:0 0 24px; width:24px; height:24px; display:grid; place-items:center; border:2px solid currentColor; border-radius:50%; font-weight:800; }
html body .toast .toastContent { min-width:0; flex:1; }
html body .toast .toastContent strong { display:block; font-size:15px; margin-bottom:4px; }
html body .toast .toastClose { flex:0 0 44px; width:44px; min-height:44px; display:grid; place-items:center; padding:0; margin:-6px -6px 0 0; border:0; border-radius:8px; background:transparent; color:inherit; font-size:26px; cursor:pointer; }
html body .toast .toastClose:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
html body .toast[data-kind="error"] { background:#fff1f2; color:#991b1b; }
html body .toast[data-kind="success"] { background:#eff6ff; color:#0756a6; border-left-color:#1673cb; }
html body .toast[data-kind="info"] { background:var(--surface,#fff); color:var(--text,#172033); }
@keyframes attendanceFeedbackSpin { to { transform:rotate(360deg); } }
@layer attendance-feedback227 {
  html body .toast[data-kind="error"] { background:#fff1f2 !important; color:#991b1b !important; border-left-color:#b91c1c !important; }
  html body .toast[data-kind="success"] { background:#eff6ff !important; color:#0756a6 !important; border-left-color:#1673cb !important; }
  html body #workspace[data-view="attendance"] [data-save-state] { --save-bg:#fff; --save-color:#172033; --save-border:#cbd5e1; }
  html body #workspace[data-view="attendance"] :is(.attendanceClassPill.active,#attendanceClassPickerTrigger)[data-save-state="idle"] { background:#34aef4 !important; color:#001523 !important; border-color:#1686d9 !important; font-weight:700 !important; }
  html body #workspace[data-view="attendance"] [data-save-state="draft"] { --save-bg:#fffbeb; --save-color:#92400e; --save-border:#f0bd56; background-color:var(--save-bg) !important; color:var(--save-color) !important; border-color:var(--save-border) !important; }
  html body #workspace[data-view="attendance"] [data-save-state="saving"] { --save-bg:#ecfdf3; --save-color:#166534; --save-border:#70ce91; background-color:var(--save-bg) !important; color:var(--save-color) !important; border-color:var(--save-border) !important; }
  html body #workspace[data-view="attendance"] [data-save-state="error"] { --save-bg:#fff1f2; --save-color:#b91c1c; --save-border:#fb7185; background-color:var(--save-bg) !important; color:var(--save-color) !important; border-color:var(--save-border) !important; }
  html body #workspace[data-view="attendance"] .attendanceClassPill.active[data-save-state]:not([data-save-state="idle"]) { outline:2px solid #1686d9 !important; outline-offset:2px; }
  html body #workspace[data-view="attendance"] .attendanceSaveIndicator { display:inline-grid !important; place-items:center; flex:0 0 15px !important; width:15px !important; height:15px !important; margin-right:5px; font-size:12px !important; font-style:normal; font-family:inherit !important; line-height:1 !important; border:1.5px solid currentColor; border-radius:50%; box-sizing:border-box; }
  html body #workspace[data-view="attendance"] .attendanceSaveIndicator[data-kind="saving"] { border-right-color:transparent; animation:attendanceFeedbackSpin .8s linear infinite; }
  html body #workspace[data-view="attendance"] .attendanceSaveLabel { display:inline !important; margin-left:5px; font-size:11px; font-weight:600; white-space:nowrap; color:inherit; }
  html body #workspace[data-view="attendance"] #attendanceClassPickerTrigger { position:relative !important; }
  html body #workspace[data-view="attendance"] #attendanceClassPickerTrigger > .attendanceSaveIndicator { position:absolute !important; left:3px !important; top:3px !important; width:11px !important; height:11px !important; margin:0 !important; font-size:9px !important; }
  html body #workspace[data-view="attendance"] :is(#attendanceSession,#attendanceDate)[data-save-state]:not([data-save-state="idle"]) { padding-left:27px !important; background-repeat:no-repeat !important; background-position:left 7px center !important; background-size:14px !important; }
  html body #workspace[data-view="attendance"] :is(#attendanceSession,#attendanceDate)[data-save-state="error"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.5' fill='none' stroke='%23b91c1c'/%3E%3Cpath stroke='%23b91c1c' stroke-width='2' d='M8 4v5m0 2v1'/%3E%3C/svg%3E") !important; }
  html body #workspace[data-view="attendance"] :is(#attendanceSession,#attendanceDate)[data-save-state="draft"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%2392400e'/%3E%3C/svg%3E") !important; }
  html body #workspace[data-view="attendance"] :is(#attendanceSession,#attendanceDate)[data-save-state="saving"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23166534' stroke-width='2' stroke-dasharray='25 13'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 8 8' to='360 8 8' dur='.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important; }
  @media(prefers-reduced-motion:reduce) {
    html body #workspace[data-view="attendance"] [data-save-state] { transition:none !important; }
    html body #workspace[data-view="attendance"] .attendanceSaveIndicator { animation:none !important; }
    html body #workspace[data-view="attendance"] :is(#attendanceSession,#attendanceDate)[data-save-state="saving"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23166534' stroke-width='2' stroke-dasharray='25 13'/%3E%3C/svg%3E") !important; }
  }
}
