:root{--bg: #f2f7f2;--card: #ffffff;--text: #1f2b24;--muted: #5e6f63;--primary: #2f7a4f;--danger: #bf3c3c;--secondary: #345d8a;--border: #d7e2d9}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:radial-gradient(circle at top left,#d9ead7 0%,var(--bg) 45%,#eef3ff 100%);color:var(--text)}.page{max-width:1160px;margin:0 auto;padding:22px}.header h1{margin:0;font-size:2rem;letter-spacing:.4px}.header p{margin-top:10px;color:var(--muted)}.controls{display:flex;gap:12px;margin:18px 0 20px}.btn{border:0;border-radius:10px;padding:10px 18px;color:#fff;font-size:.96rem;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn:hover{transform:translateY(-1px);opacity:.92}.btn-primary{background:var(--primary)}.btn-danger{background:var(--danger)}.btn-secondary{background:var(--secondary)}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 6px 16px #1b231f0f}.video{width:100%;border-radius:10px;background:#0c1110;min-height:280px;max-height:520px;object-fit:cover}.meta{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;color:var(--muted);font-size:.9rem}.attendance-card h2{margin:2px 0 10px;font-size:1.18rem}.status{color:#1f5b3a;background:#edf7f0;border:1px solid #cfe5d5;border-radius:8px;padding:8px 10px;margin-bottom:10px}.error{color:#812525;background:#fae8e8;border:1px solid #e7b6b6;border-radius:8px;padding:8px 10px;margin-bottom:10px;word-break:break-word}.new-badge{background:#fff6e2;border:1px solid #f0d79d;color:#7b5a17;border-radius:8px;padding:8px 10px;margin-bottom:10px}.attendance-list{max-height:470px;overflow:auto;padding-right:4px}.empty{color:var(--muted)}.attendance-item{border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:8px;background:#fbfefb}.attendance-item .name{font-weight:700;margin-bottom:5px}.attendance-item .sub{color:var(--muted);font-size:.9rem}@media (max-width: 900px){.grid,.meta{grid-template-columns:1fr}}
