/* Backup › Session archives (3.2.86). Theme tokens only, so the school's
   colours and dark mode apply; popups reuse the ERP notice card. */
.sa-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.sa-panel-head h2{margin:2px 0 6px;font-size:20px}
.sa-panel-head p{margin:0;max-width:78ch;color:var(--muted);font-size:13px;line-height:1.55}
.sa-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.sa-panel-actions{display:flex;flex-wrap:wrap;gap:8px}
.sa-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.sa-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.sa-card-trash{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}
.sa-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.sa-card-head h3{margin:0;font-size:18px}
.sa-dates{color:var(--muted);font-size:12px}
.sa-tag{order:-1;flex-basis:100%;width:max-content;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sa-tag-current{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}
.sa-tag-past{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}
.sa-state{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink)}
.sa-state-trash{color:var(--danger)}
.sa-hint{margin:0;color:var(--muted);font-size:12px}
.sa-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.sa-actions .btn{min-height:34px;padding:7px 12px;font-size:12.5px}
.sa-actions .btn.link{border:0;background:none;color:var(--brand);text-decoration:underline;padding-inline:4px}
.sa-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.sa-note-warn{margin:0 0 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--line));border-radius:10px;color:var(--ink);background:color-mix(in srgb,var(--warning) 9%,var(--surface))}
.sa-wait,.sa-error{margin:6px 0;color:var(--muted)}
.sa-error{color:var(--danger)}
.sa-intro{margin:0 0 14px;max-width:80ch;color:var(--muted);font-size:13px;line-height:1.55}
/* Popups: the same dialog as the "How can we help?" help search (help-search.css). */
.erp-help-search.sa-dialog{width:min(720px,calc(100vw - 28px));height:fit-content}
.erp-help-search.sa-dialog>header{align-items:flex-start}
.erp-help-search.sa-dialog>header p{max-width:60ch;line-height:1.55}
.sa-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px 24px 18px;font-size:13.5px;line-height:1.55}
.sa-dialog-body>p{margin:0 0 10px}
.erp-help-search.sa-dialog>footer.sa-dialog-foot{justify-content:flex-end;align-items:center;gap:10px;font-size:inherit;color:inherit}
.sa-dialog h3{margin:14px 0 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sa-terms{padding:2px 14px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--canvas,#f7f4f2) 55%,var(--surface,#fff))}
.sa-terms p{margin:0}
.sa-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 2px}
.sa-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--brand)}
.sa-field{display:grid;gap:6px;margin:14px 0 0;font-size:12px;font-weight:700;color:var(--muted)}
.sa-field input{min-height:42px;padding:9px 12px;border:2px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px}
.sa-field input:focus{outline:none;border-color:var(--brand)}
.sa-field input[data-sa-code]{max-width:190px;font-size:22px;letter-spacing:.3em;text-align:center}
.sa-problem{margin:12px 0 0;color:var(--danger);font-weight:700}
.sa-ok{margin:0 0 10px;color:var(--success);font-weight:700}
.sa-list{margin:4px 0;padding:0;list-style:none;display:grid;gap:4px}
.sa-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;text-transform:capitalize}
@media (max-width:600px){.sa-dialog-body{padding:14px 16px}.sa-cards{grid-template-columns:1fr}}
.sa-disclaimer{font-weight:700}
