.report-menu{position:relative;display:inline-block;flex:0 0 auto;margin-left:auto;vertical-align:middle;text-align:left;font-size:.875rem;font-style:normal;font-weight:400}
.report-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:2.75rem;min-height:2.75rem;border-radius:.7rem;cursor:pointer;font-size:1.6rem;line-height:1;color:var(--muted,#526a73)}
.report-menu>summary::-webkit-details-marker{display:none}
.report-menu>summary:hover,.report-menu[open]>summary{background:#edf4f3;color:#203e49}
.report-menu>summary:focus-visible{outline:3px solid #26737a;outline-offset:2px}
.report-menu-items{position:absolute;right:0;top:100%;z-index:15;width:15rem;max-width:calc(100vw - 3rem);padding:.4rem;background:var(--paper,#fffefa);border:1px solid #cbdcd9;border-radius:.75rem;box-shadow:0 .6rem 1.4rem #203e491f}
.report-menu-items .button{display:block;width:100%;min-height:2.75rem;text-align:left;white-space:normal;margin:0;font-size:.875rem}
.report-menu:not([open])>.report-menu-items{display:none}
.racek-report-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.racek-answer-tools .report-menu{margin-left:auto}
.report-preview{margin:.8rem 0;border:1px solid #cbdcd9;border-radius:.65rem;padding:.75rem;overflow-wrap:anywhere}
.report-preview summary{cursor:pointer;font-weight:600;min-height:1.5rem}
.report-preview .user-text{max-height:24rem;overflow:auto;margin:.8rem 0}
.report-filters{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0}
.report-card h2{font-size:1.15rem;margin:.6rem 0}
@media print{.report-menu{display:none}}
.presence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.8rem}
.presence-pupil{display:flex;flex-direction:column;gap:.8rem;padding:1.1rem;border-radius:1rem;border:1px solid #ccd6d9;background:#f5f7f7}
.presence-pupil>strong{font-size:1.1rem}.presence-pupil>span{display:flex;align-items:center;gap:.55rem;font-size:.95rem}
.presence-pupil i{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:currentColor;flex-shrink:0}
.presence-active{background:#edf8f0;border-color:#81b793;color:#235d39}
.presence-away,.presence-offline{background:#fff0ee;border:2px solid #c85349;color:#942b24}
.presence-excluded{background:#f5f5f5;color:#68777d}
.presence-child-notice{margin:.5rem auto;padding:.65rem 1rem;width:min(100% - 2rem,80rem);border:1px solid #8aaeb4;border-radius:.7rem;background:#eaf5f8;color:#234b57;font-size:.875rem}
.racek-answer-tools{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

/* Visible current state, including the compact monitor on every teacher page. */
.presence-offline,.presence-waiting{background:#fff5dc;border-color:#d4aa55;color:#755211}
.lesson-monitor{position:sticky;top:0;z-index:9;background:#fffdf5;border-bottom:2px solid #8caea3;padding:12px max(18px,calc((100% - 1200px)/2));box-shadow:0 5px 15px #153b4b12;color:#173e4b;max-height:45dvh;overflow:auto}
.lesson-monitor-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:1rem}
.lesson-monitor-summary>a{margin-left:auto;font-size:.9rem;min-height:36px;display:inline-flex;align-items:center}
.lesson-monitor-count{display:inline-block;border-radius:8px;padding:6px 10px;font-weight:800}
.lesson-monitor-alert{font-size:.9rem;margin:8px 0 0;padding:5px 9px;border-radius:6px;max-height:4.5em;overflow:auto;overflow-wrap:anywhere}
.lesson-monitor details{margin:4px 0 0}.lesson-monitor summary{padding:5px 0;min-height:32px;font-size:.9rem}
.lesson-monitor-pupils{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:8px 0}
.lesson-monitor-pupils>div{border:1px solid;border-radius:8px;padding:9px;display:flex;flex-direction:column;gap:4px;font-size:.9rem}
.projecting-quiz .lesson-monitor details,.projecting-quiz .lesson-monitor-alert,.projecting-quiz .lesson-monitor-summary>a{display:none}
@media(max-width:600px){.lesson-monitor{padding:9px 14px;max-height:38dvh}.lesson-monitor-summary{gap:6px;font-size:.9rem}.lesson-monitor-summary>a{margin-left:0}.lesson-monitor-pupils{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.lesson-monitor{display:none}}
