
/* Fase 21.9 · asistencia real unificada */
.a219-top{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.a219-top h2,.a219-class h3{margin:0}
.a219-top p,.a219-class p{margin:.35rem 0;color:#62727c}
.a219-datebar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.a219-datebar input{padding:10px;border:1px solid #ccd9e1;border-radius:8px}
.a219-summary-banner{padding:14px 16px;border-radius:10px;margin-bottom:12px;border-left:5px solid #7a8b96}
.a219-summary-banner.ok{background:#edf9ee;border-color:#51aa45;color:#285d25}
.a219-summary-banner.pending{background:#fff7df;border-color:#d9a51d;color:#715816}
.a219-summary-banner.issue{background:#fff0ee;border-color:#c8453b;color:#7b2d27}
.a219-summary-banner.neutral{background:#eef4f7;border-color:#78909c}
.a219-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.a219-teacher-summary{border:1px solid #dce7ed;border-radius:11px;padding:12px;background:#fff}
.a219-teacher-summary header{display:flex;justify-content:space-between;gap:8px}
.a219-teacher-summary header span{font-size:12px;color:#65747d}
.a219-teacher-summary .ok{color:#2f7830}.a219-teacher-summary .pending{color:#8b6b16}.a219-teacher-summary .issue{color:#a3322a}
.a219-teacher-summary ul{margin:.5rem 0 0;padding-left:18px;font-size:13px}
.a219-classes{display:grid;gap:14px}
.a219-class{border-top:4px solid #075eaa}
.a219-class-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.a219-time{display:inline-block;font-weight:800;color:#075eaa;background:#eaf4fb;border-radius:999px;padding:5px 9px;margin-bottom:7px}
.a219-class-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.a219-roster{margin-top:14px;border-top:1px solid #e2e9ed}
.a219-student{display:grid;grid-template-columns:minmax(180px,1fr) minmax(300px,auto);gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f3}
.a219-student small{display:block;color:#74828a;margin-top:2px}
.a219-statuses{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.a219-status{border:1px solid #cbd8df;background:#fff;border-radius:8px;padding:9px 10px;font-weight:700;cursor:pointer;white-space:nowrap}
.a219-status.present.selected{background:#4bbf48;color:#fff;border-color:#4bbf48}
.a219-status.absent.selected{background:#cf443d;color:#fff;border-color:#cf443d}
.a219-status.late.selected{background:#e89a23;color:#fff;border-color:#e89a23}
.a219-note{display:grid;gap:5px;margin-top:12px;font-weight:600}
.a219-note textarea{width:100%;padding:9px;border:1px solid #ccd9e1;border-radius:8px;resize:vertical}
.a219-history-status{display:inline-block;border-radius:999px;padding:5px 8px;font-weight:700;font-size:12px}
.a219-history-status.present{background:#e5f7e5;color:#26752a}.a219-history-status.absent{background:#ffe8e6;color:#9c2923}.a219-history-status.late{background:#fff0d5;color:#86590d}
.a219-toast{position:fixed;right:22px;bottom:22px;z-index:10000;background:#1c4f72;color:white;padding:12px 16px;border-radius:9px;box-shadow:0 8px 28px #0003;opacity:0;transform:translateY(10px);pointer-events:none;transition:.18s}
.a219-toast.show{opacity:1;transform:none}.a219-toast.bad{background:#b93636}
@media(max-width:800px){
 .a219-student{grid-template-columns:1fr}
 .a219-statuses{grid-template-columns:1fr 1fr 1fr}
 .a219-class-head{display:block}
 .a219-class-actions{justify-content:flex-start;margin-top:10px}
}
