.therapy-scan{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin:-8px 0 22px}.therapy-scan b{display:block}.therapy-scan span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.therapy-scan-actions{display:flex;gap:7px}.therapy-scan input{border:1px solid #c9ddd8;border-radius:9px;padding:9px;font-family:inherit;direction:ltr;min-width:190px}.therapy-scan button{border:0;background:var(--teal);color:#fff;border-radius:9px;padding:0 12px;font-weight:800;white-space:nowrap}@media(max-width:700px){.therapy-scan{display:block}.therapy-scan-actions{margin-top:12px}.therapy-scan input{min-width:0;width:100%}}
.therapy-camera{margin:-8px 0 22px;height:190px;display:none}.therapy-camera.scanning{display:flex}.student-note{position:relative;z-index:1;margin:14px 0 -4px;background:#fff7e8;border:1px solid #f0d8aa;color:#805b1d;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800}.attendance-times{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.attendance-times span{background:#f7fbf9;border:1px solid var(--line);border-radius:8px;padding:7px;color:var(--muted);font-size:12px}.attendance-times b{display:block;color:var(--ink);margin-top:3px}.session-actions{display:grid;grid-template-columns:repeat(4,1fr)}.session-actions .miss-session{background:#fff4f3;color:#a45555;border:1px solid #f2d8d6!important}.session-actions .whatsapp-teacher{background:#edf5ff;color:#245a8d;border:1px solid #c9def4!important}.session-actions .whatsapp-parent{background:#eaf7ef;color:#17683d;border:1px solid #bfe5ce!important}.session-actions button:disabled{opacity:.75}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stats article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:0 8px 30px #15584d0a}.admin-stats b{display:block;font-size:32px;color:var(--teal);line-height:1}.admin-stats span{display:block;color:var(--muted);font-size:13px;margin-top:8px;font-weight:800}.admin-sessions{display:grid;gap:10px}.admin-row{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px}.admin-row b,.admin-row strong{display:block}.admin-row span,.admin-row small{display:block;color:var(--muted);font-size:12px}.admin-row strong{font-size:13px;color:var(--ink)}.chart-card{text-align:center}.donut{--value:0;width:92px;height:92px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) calc(var(--value)*1%),#e8f1ee 0)}.donut:before{content:"";position:absolute;width:62px;height:62px;border-radius:50%;background:#fff}.donut b{position:relative;font-size:20px}.donut.present{background:conic-gradient(#2f8f68 calc(var(--value)*1%),#e8f1ee 0)}.donut.therapy{background:conic-gradient(#b9822f calc(var(--value)*1%),#e8f1ee 0)}.donut.action{background:conic-gradient(#7e74c9 calc(var(--value)*1%),#e8f1ee 0)}.chart-card strong{display:block}.bar-card i{display:block;height:8px;background:#edf3f1;border-radius:99px;margin-top:12px;overflow:hidden}.bar-card em{display:block;height:100%;background:var(--teal)}@media(max-width:1050px){.session-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-row{grid-template-columns:1fr 1fr}.session-actions{grid-template-columns:1fr}}@media(max-width:700px){.therapy-camera{height:210px}.attendance-times{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr}}
.donut{position:relative}
.therapy-scanner-card{max-width:650px;margin:0 0 24px auto}.therapy-scanner-card .camera-box{height:205px}.state.absent{color:#b85252}.state.late{color:#9a6a1d}.quick-attendance{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.quick-attendance button{border:1px solid transparent!important;border-radius:9px;padding:9px;font-weight:800}.quick-attendance .mark-present{background:#e7f6ee;color:#1b7650;border-color:#c7e9d6!important}.quick-attendance .mark-late{background:#fff8e9;color:#9a6a1d;border-color:#ecd39b!important}.quick-attendance .mark-absent{background:#fff4f3;color:#a45555;border-color:#f2d8d6!important}.quick-attendance .mark-departed{background:#fff4e8;color:#976424;border-color:#efd7b4!important}.therapy-quick{margin:10px 0 0}.therapy-quick button{width:100%}.session-note-field{display:block;margin-top:12px;color:var(--muted);font-size:12px;font-weight:800}.session-note-input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px;resize:vertical;min-height:54px;font-family:inherit;color:var(--ink);background:#fbfefd}.donut.late{background:conic-gradient(#d39b32 calc(var(--value)*1%),#e8f1ee 0)}.donut.absent{background:conic-gradient(#c35d5d calc(var(--value)*1%),#e8f1ee 0)}.donut.postponed{background:conic-gradient(#8b78d6 calc(var(--value)*1%),#e8f1ee 0)}.choice-actions{display:grid;gap:8px}.choice-actions button{border:0;border-radius:10px;padding:11px;background:#e8f3f0;color:var(--deep);font-weight:800}.choice-actions button:first-child{background:#edf5ff;color:#245a8d}.choice-actions button:last-child{background:var(--teal);color:#fff}@media(max-width:900px){.quick-attendance{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.therapy-scanner-card{max-width:none}.quick-attendance{grid-template-columns:1fr}}
.admin-row{grid-template-columns:1.1fr repeat(5,1fr)}
@media(max-width:900px){.admin-row{grid-template-columns:1fr 1fr}}
.attendance-whatsapp{display:grid;grid-template-columns:1fr;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.attendance-whatsapp button{border:1px solid #bfe5ce!important;border-radius:9px;padding:9px;background:#eaf7ef;color:#17683d;font-weight:800}.attendance-whatsapp .session-reminder-wa{background:#edf5ff;color:#245a8d;border-color:#c9def4!important}@media(min-width:760px){.attendance-whatsapp{grid-template-columns:1fr 1fr}.attendance-whatsapp .session-reminder-wa{grid-column:1/-1}}
