:root{color:#0f172a;background:#e2e8f0;font-family:Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}.app{max-width:720px;margin:0 auto;padding:20px 16px 40px}header h1{margin:0;font-size:1.4rem}header p{margin:6px 0 0;color:#475569}.panel{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:16px;margin-top:14px}label.field{display:block;margin-bottom:12px;font-weight:600}select,input[type=text]{width:100%;margin-top:6px;padding:12px;font-size:1rem;border:1px solid #94a3b8;border-radius:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}button{min-height:44px;padding:10px 16px;font-size:1rem;border-radius:8px;border:1px solid #0f172a;background:#0f172a;color:#fff}button.secondary{background:#fff;color:#0f172a}button:disabled{opacity:.55}video{width:100%;max-height:320px;background:#0f172a;border-radius:8px}.result{border-radius:10px;padding:12px 14px;font-weight:700}.result.ok{background:#dcfce7;color:#166534}.result.warn{background:#fef9c3;color:#854d0e}.result.bad{background:#fee2e2;color:#991b1b}.meta{margin:8px 0;color:#334155}.roster{width:100%;border-collapse:collapse}.roster th,.roster td{text-align:left;padding:10px 8px;border-bottom:1px solid #e2e8f0}.check{display:flex;align-items:center;gap:8px;font-weight:600}.check input{width:22px;height:22px}
