/* Access uses the same central workspace and theme tokens as object settings. */
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-policy-row { display:block; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permissions { display:block; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-roles { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-roles button { display:flex; flex-direction:column; align-items:flex-start; gap:5px; white-space:normal; min-width:0; padding:12px; border:1px solid var(--v3-line); border-radius:8px; background:var(--v3-panel-2); color:var(--v3-text); text-align:left; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-roles button[aria-pressed=true] { border-color:var(--dock-accent,var(--v3-live)); background:var(--dock-selected,var(--v3-panel-2)); }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-roles small { color:var(--v3-muted); font-size:11px; line-height:1.4; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-main { display:flex; flex-wrap:wrap; gap:8px; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permissions label { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-height:36px; height:auto; min-width:0; width:auto; max-width:100%; padding:8px 10px; border:1px solid var(--v3-line); border-radius:7px; background:var(--v3-panel-2); color:var(--v3-text); box-sizing:border-box; white-space:normal; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permissions label:has(input:checked) { background:var(--dock-selected,var(--v3-panel-2)); border-color:var(--v3-line-strong); }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permissions label:has(input:disabled):not(:has(input:checked)) { opacity:.5; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permissions input[type=checkbox] { display:block; position:static; appearance:auto; width:16px; height:16px; margin:0; flex:none; opacity:1; accent-color:var(--dock-accent,var(--v3-live)); }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permissions label span { display:inline; font-size:12px; line-height:1.45; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-main label svg { display:none; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-explanation,html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-role-note { font-size:11px; line-height:1.55; color:var(--v3-muted); margin:9px 0; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-extras { border-top:1px solid var(--v3-line); margin-top:14px; padding-top:4px; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-extras > summary { cursor:pointer; padding:12px 0; color:var(--v3-text); font-size:13px; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock [data-extra-count] { margin-left:8px; background:var(--v3-panel-2); color:var(--v3-muted); border:1px solid var(--v3-line); padding:2px 7px; border-radius:10px; font-size:11px; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-rights-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:8px 0; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-rights-group h4 { grid-column:1/-1; margin:4px 0; font-size:12px; color:var(--v3-muted); font-weight:600; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .camera-access-permission-achievements { gap:5px; }
html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock [hidden] { display:none!important; }
html.qs-v3 .face-no-people .face-access-people-section,html.qs-v3 .face-no-people #faceAccessEditor,html.qs-v3 .face-no-people #faceAccessSummary > :last-child { display:none!important; }
html.qs-v3 .face-no-terminals .face-access-device-actions,html.qs-v3 .face-no-terminals #faceAccessDiscovered { display:none!important; }
@media(max-width:480px) {
 html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-roles button { padding:10px; }
 html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-roles strong { font-size:12px; }
 html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-main label:last-child { flex-basis:100%; }
 html.qs-v3 body #cameraAccessPanel.camera-access-panel.qs-dock .qs-access-rights-group { grid-template-columns:1fr; }
}
