:root{color-scheme:light dark;font-family:system-ui,sans-serif}body{margin:0}.app{display:flex;flex-direction:column;min-height:100vh}header{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:8px 16px;border-bottom:1px solid #8884}header h1{font-size:18px;margin:0}.identity{font-size:13px}header button,button.small{font-size:12px}.side{display:flex;flex-direction:column;gap:16px;min-width:0}.login{display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;flex:1}.login-card{max-width:420px;padding:24px;border:1px solid #8884;border-radius:12px}.login-card h2{margin-top:0}.history ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.history li{padding:8px;border:1px solid #8884;border-radius:8px;overflow-wrap:anywhere}.status{font-size:12px}.status.connected{color:#2a7}.status.disconnected{color:#c33}.error{font-size:12px;color:#c33}main{display:grid;grid-template-columns:320px 1fr;gap:16px;padding:16px;flex:1}.queue ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.queue li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;border:1px solid #8884;border-radius:8px}.queue li.claimed{opacity:.6}.muted{opacity:.7;font-size:12px}.remote{width:100%;max-height:80vh;background:#000;object-fit:contain;outline:none;display:block}.viewport{outline:none;line-height:0}.viewport:focus{box-shadow:0 0 0 2px #2a7}.phase{font-size:12px;padding:2px 8px;border-radius:999px;background:#8883}.phase.active{background:#2a74}.phase.awaiting_consent,.phase.claiming{background:#ea34}.warning{font-size:12px;color:#c80}.badge{font-size:12px;padding:2px 8px;border-radius:999px;margin-left:8px}.badge.reconnecting{background:#ea34}.actions{display:flex;gap:8px;margin-top:8px}.viewport:fullscreen{display:flex;align-items:center;justify-content:center;background:#000}.viewport:fullscreen .remote{width:100vw;height:100vh;max-height:none}.badge.role{background:#e8eefc;color:#27477a;margin-left:.4em}.badge.view-only{background:#fff1d6;color:#7a4b00}.tabs{display:inline-flex;gap:.25rem;margin-left:auto}.tabs button.active{font-weight:600;text-decoration:underline}main.admin{display:grid;gap:1rem;grid-template-columns:minmax(16rem,24rem) 1fr}.policy-list{list-style:none;padding:0;margin:0}.policy-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.35rem 0}.policy-list label{min-width:11rem}.policy-list input{width:9rem}.user-table{border-collapse:collapse;width:100%}.user-table th,.user-table td{text-align:left;padding:.3rem .5rem;border-bottom:1px solid #e3e3e3}.user-table tr.disabled td{color:#999}.clipboard{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 .5rem}.transfer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0}.transfer .incoming{padding:.2rem .5rem;border:1px solid #e3c25a;border-radius:6px;background:#fff8dc}.report-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0}.report-filters input,.report-filters select{margin-left:.25rem}.report-table td{white-space:nowrap}.session-detail{margin-top:1rem;padding-top:.5rem;border-top:1px solid #e3e3e3}.session-detail video.recording{width:100%;max-height:60vh;background:#000}.session-detail .timeline{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}
