.monitor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.monitor-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;cursor:pointer}.monitor-card:hover{border-color:#60a5fa;box-shadow:0 6px 24px #2563eb18}.monitor-card .top{display:flex;justify-content:space-between;align-items:center}.monitor-card strong{font-size:18px}.focus-meter{height:9px;background:#e8edf4;border-radius:10px;overflow:hidden;margin:14px 0 7px}.focus-meter i{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#22c55e)}.status-집중{background:#dcfce7;color:#15803d}.status-졸음{background:#fee2e2;color:#b91c1c}.status-자리비움,.status-외출{background:#fef3c7;color:#b45309}.report-filter{background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px}.report-paper{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;margin-top:18px}.report-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:18px}.report-head h2{margin:5px 0}.report-head .brand{color:#2563eb}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.report-summary div{background:#f6f8fc;border-radius:12px;padding:16px}.report-summary span{display:block;color:var(--muted);font-size:12px}.report-summary strong{font-size:23px;display:block;margin-top:8px}.report-section{margin-top:24px}.report-section h3{border-left:4px solid #2563eb;padding-left:10px}.subject-row{display:grid;grid-template-columns:100px 1fr 70px;gap:10px;align-items:center;margin:10px 0}.subject-bar{height:9px;background:#e9eef5;border-radius:9px;overflow:hidden}.subject-bar i{display:block;height:100%;background:#2563eb}.coaching-box{background:#eff6ff;border:1px solid #bfdbfe;padding:18px;border-radius:12px;line-height:1.7}.observation-list li{margin:9px 0;color:#475569}@media(max-width:850px){.monitor-grid{grid-template-columns:repeat(2,1fr)}.report-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.monitor-grid{grid-template-columns:1fr}.report-paper{padding:20px}.report-head{display:block}}@media print{header,nav,.section-title,.report-filter,#toast{display:none!important}body,main{background:#fff;padding:0!important}.view{display:none!important}#reports{display:block!important}.report-paper{border:0;padding:0;margin:0}.report-paper .empty{display:none}}
