/* Clinic access levels: presentation only; permission checks remain server-side. */
.user-access-settings { min-width:0; }
.user-access-settings>.section-head { flex-wrap:wrap; gap:16px; }
.user-access-settings>.section-head>div { flex:1 1 260px; min-width:0; }
.user-access-settings>.section-head>.btn { flex:none; min-height:44px; }
.user-access-notice,
.user-access-elevated-note { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid #c9daf5; border-radius:14px; background:#f1f6ff; color:#153861; }
.user-access-notice>svg,
.user-access-elevated-note>svg { flex:0 0 20px; width:20px; height:20px; max-width:20px; max-height:20px; }
.user-access-notice>div { min-width:0; }
.user-access-notice strong { font-size:14px; }
.user-access-notice p { margin:6px 0 0; font-size:13px; line-height:1.55; }
.user-access-guide { margin:18px 0; }
.user-access-guide>summary { display:list-item; cursor:pointer; padding:12px 4px; font-size:14px; font-weight:700; min-height:44px; color:var(--primary,#176ce1); }
.user-access-guide>summary:focus-visible { outline:2px solid #176ce1; outline-offset:4px; border-radius:4px; }
.user-access-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:10px; }
.user-access-profile { min-width:0; padding:16px; border:1px solid var(--line,#dbe4ef); border-radius:14px; background:var(--surface,#fff); }
.user-access-profile>strong { font-size:14px; }
.user-access-profile>p { margin:8px 0 12px; font-size:13px; line-height:1.5; color:var(--muted,#627388); }
.user-access-badges { display:flex; flex-wrap:wrap; gap:6px; }
.user-access-badge { display:inline-flex; align-items:center; gap:5px; min-width:0; padding:5px 8px; border-radius:8px; background:#edf3fc; color:#244d80; font-size:11px; font-weight:700; line-height:1.4; text-transform:none; letter-spacing:normal; }
.user-access-badge>svg { flex:0 0 14px; width:14px; height:14px; max-width:14px; max-height:14px; }
.user-access-badge.financial { background:#e4f5ed; color:#1c654a; }
.user-access-badge.elevated { background:#fff0d6; color:#765013; }
.user-access-list { display:grid; gap:12px; margin-top:18px; }
.user-access-person { display:flex; align-items:flex-start; gap:14px; padding:18px; border:1px solid var(--line,#dbe4ef); border-radius:16px; background:var(--surface,#fff); }
.user-access-person>.avatar { flex:0 0 40px; width:40px; height:40px; }
.user-access-person-copy { flex:1; min-width:0; }
.user-access-person-copy>strong { display:block; font-size:15px; }
.user-access-person-copy>span,
.user-access-person-copy>p { display:block; margin:5px 0 10px; font-size:13px; line-height:1.5; color:var(--muted,#627388); overflow-wrap:anywhere; }
.user-access-person-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:12px; }
.user-access-person-meta>b { font-weight:700; }
.user-access-person-meta>span { color:var(--muted,#627388); }
.user-access-person .row-actions { display:flex; flex:none; gap:6px; }
.user-access-person .row-actions>button { width:44px; height:44px; padding:10px; }
.user-access-person .row-actions>button>svg { width:18px; height:18px; }
.user-access-modal { width:min(860px,calc(100vw - 32px)); max-width:860px; }
.user-access-picker { min-width:0; margin:22px 0; padding:0; border:0; }
.user-access-picker>legend { float:none; padding:0; font-size:16px; font-weight:700; }
.user-access-picker>p { margin:7px 0 12px; color:var(--muted,#627388); font-size:13px; line-height:1.5; }
.user-access-option { display:flex; align-items:flex-start; gap:10px; min-width:0; padding:14px; border:1px solid var(--line,#dbe4ef); border-radius:14px; background:var(--surface,#fff); cursor:pointer; text-transform:none; letter-spacing:normal; }
.user-access-option>input[type=radio] { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; accent-color:#176ce1; }
.user-access-option:has(input:checked) { border-color:#176ce1; background:#f0f6ff; box-shadow:0 0 0 1px #176ce1; }
.user-access-option:has(input:focus-visible) { outline:2px solid #176ce1; outline-offset:3px; }
.user-access-option-body { display:grid; gap:8px; min-width:0; }
.user-access-option-body>strong { font-size:14px; line-height:1.4; }
.user-access-option-body>span:not(.user-access-badges) { font-size:12px; font-weight:400; color:var(--muted,#627388); line-height:1.55; overflow-wrap:anywhere; }
.user-access-elevated-note { margin-top:14px; background:#fff8e8; border-color:#edcc89; color:#765013; font-size:13px; line-height:1.5; }
.user-access-elevated-note[hidden] { display:none; }
html.web-theme-dark .user-access-profile,
html.web-theme-dark .user-access-person,
html.web-theme-dark .user-access-option { background:#111f34; border-color:#32435e; color:#e5efff; }
html.web-theme-dark .user-access-notice,
html.web-theme-dark .user-access-option:has(input:checked) { background:#162f53; border-color:#578ddc; color:#d9e8ff; }
html.web-theme-dark .user-access-badge { background:#203b61; color:#c5dcff; }
html.web-theme-dark .user-access-badge.financial { background:#173f34; color:#afe7ce; }
html.web-theme-dark .user-access-badge.elevated,
html.web-theme-dark .user-access-elevated-note { background:#43351c; color:#f7d799; border-color:#80602c; }
@media (max-width:640px) {
  .user-access-profile-grid { grid-template-columns:minmax(0,1fr); }
  .user-access-person { flex-wrap:wrap; gap:10px; padding:14px; }
  .user-access-person-copy { flex-basis:calc(100% - 50px); }
  .user-access-person .row-actions { margin-left:auto; }
  .user-access-modal { width:calc(100vw - 16px); max-width:calc(100vw - 16px); }
  .user-access-modal .modal-body { padding:16px; }
  .user-access-option { padding:14px 12px; }
  .user-access-notice { padding:14px 12px; }
}
