/* Access view inherits Penetron's main shell, typography and theme. */
#permissionMatrixView { min-width:0; }
#permissionMatrixView .workspace { display:grid; grid-template-columns:230px minmax(0,1fr); gap:20px; align-items:start; }
#permissionMatrixView .card { background:var(--bg-card); border:1px solid var(--border-soft); border-radius:var(--radius-md); box-shadow:var(--shadow-soft); min-width:0; }
#permissionMatrixView .people { padding:20px 12px; }
#permissionMatrixView .panel-title { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 8px; margin-bottom:16px; }
#permissionMatrixView h2 { font-size:17px; margin:0; }
#permissionMatrixView p { color:var(--text-muted); line-height:1.6; margin:6px 0; }
#permissionMatrixView .panel-title span { color:var(--text-muted); font-size:12px; white-space:nowrap; }
#permissionMatrixView .person { width:100%; display:block; background:transparent; border:0; border-radius:var(--radius-sm); padding:14px 12px; text-align:left; color:var(--text-main); cursor:pointer; font:inherit; margin-bottom:4px; }
#permissionMatrixView .person:hover { background:var(--bg-soft); }
#permissionMatrixView .person.selected { background:var(--primary-soft); box-shadow:inset 3px 0 var(--primary); }
#permissionMatrixView .person strong { display:block; font-size:13px; }
#permissionMatrixView .person small { display:block; font-size:11px; color:var(--text-muted); margin-top:5px; }
#permissionMatrixView .editor { padding:24px; }
#permissionMatrixView .user-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:20px; }
#permissionMatrixView .user-heading h2 { font-size:20px; }
#permissionMatrixView .user-heading p { font-size:13px; overflow-wrap:anywhere; }
#permissionMatrixView .chip { background:var(--bg-soft); color:var(--text-muted); border-radius:6px; padding:6px 9px; font-size:11px; font-weight:600; }
#permissionMatrixView .scope { display:flex; gap:12px; padding:14px 16px; background:var(--bg-soft); border:1px solid var(--border-soft); border-radius:var(--radius-sm); margin-bottom:14px; font-size:13px; }
#permissionMatrixView .scope-icon { color:var(--primary-hover); font-size:24px; }
#permissionMatrixView .scope p { font-size:12px; }
#permissionMatrixView .protection { color:var(--warning); font-size:12px; margin-bottom:14px; }
#permissionMatrixView .matrix-wrap { overflow-x:auto; }
#permissionMatrixView table { width:100%; border-collapse:collapse; font-size:13px; white-space:nowrap; }
#permissionMatrixView th { background:var(--bg-soft); color:var(--text-muted); font-weight:600; }
#permissionMatrixView th, #permissionMatrixView td { padding:13px 10px; border-bottom:1px solid var(--border-soft); text-align:center; }
#permissionMatrixView th:first-child { text-align:left; }
#permissionMatrixView tbody th { background:transparent; color:var(--text-main); font-weight:500; }
#permissionMatrixView input[type=checkbox] { width:18px; height:18px; accent-color:var(--primary); cursor:pointer; }
#permissionMatrixView input:disabled { opacity:.5; cursor:not-allowed; }
#permissionMatrixView .unused { color:var(--text-soft); }
#permissionMatrixView .matrix-help { font-size:12px; margin:14px 0 20px; }
#permissionMatrixView .manager-permission { display:flex; align-items:center; gap:18px; padding:16px; border:1px solid var(--border-soft); background:var(--bg-soft); border-radius:var(--radius-sm); }
#permissionMatrixView .manager-permission>div { flex:1; }
#permissionMatrixView .manager-permission strong { font-size:13px; }
#permissionMatrixView .manager-permission p { font-size:12px; }
#permissionMatrixView .savebar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:20px; padding-top:20px; border-top:1px solid var(--border-soft); font-size:13px; }
#permissionMatrixView .buttons { display:flex; gap:8px; }
#permissionMatrixView button:disabled { opacity:.5; cursor:not-allowed; }
#permissionMatrixView button:focus-visible, #permissionMatrixView input:focus-visible { outline:3px solid var(--primary); outline-offset:2px; }
#permissions-message { margin-top:5px; color:var(--success); font-size:12px; }
#permissions-message.error, #permissions-global-error { color:var(--danger); }
#permissions-global-error:empty { display:none; }
#permissionMatrixView footer { color:var(--text-muted); font-size:12px; line-height:1.6; margin:18px 0; }
#permissionMatrixView .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
@media(max-width:1100px) { #permissionMatrixView .workspace { grid-template-columns:1fr; } #permissions-people { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:4px; } }
@media(max-width:650px) { #permissionMatrixView .editor { padding:16px; } #permissionMatrixView .savebar { align-items:flex-start; flex-direction:column; } #permissionMatrixView .user-heading { align-items:flex-start; } }

/* Keep account limits readable alongside action permissions. */
#permissionMatrixView table { min-width:820px; table-layout:fixed; }
#permissionMatrixView thead th { white-space:normal; font-size:12px; line-height:1.4; }
#permissionMatrixView th:first-child { width:145px; }
#permissionMatrixView thead th:nth-last-child(-n+2) { width:116px; }
#permissionMatrixView th,#permissionMatrixView td { padding:12px 5px; }
@media(max-width:1440px) {
 #permissionMatrixView .workspace { grid-template-columns:1fr; }
 #permissions-people { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:4px; }
 #permissionMatrixView .person { padding:10px; }
}

#permissionMatrixView .workspace { display:block; }
#permissionMatrixView .people { padding:24px; }
#permissionMatrixView #permissions-people { display:block;overflow:auto;margin-top:18px; }
#permissionMatrixView .permissions-search { width:min(420px,100%);padding:12px 14px;border:1px solid var(--border-soft);border-radius:10px;font:inherit; }
#permissionMatrixView .permissions-accounts-table { table-layout:auto;min-width:650px; }
#permissionMatrixView .permissions-accounts-table th,#permissionMatrixView .permissions-accounts-table td { text-align:left;padding:16px 12px;width:auto;white-space:normal; }
#permissionMatrixView .permissions-accounts-table small { display:block;color:var(--text-muted);font-size:12px;margin-top:5px; }
#permissionMatrixView .permissions-accounts-table tbody tr { cursor:pointer; }
#permissionMatrixView .permissions-accounts-table tbody tr:hover { background:var(--bg-soft); }
#permissionMatrixView .permissions-dialog { width:min(1180px,94vw);max-width:94vw;max-height:90dvh;padding:0;border:1px solid var(--border-soft);border-radius:20px;color:var(--text-main); }
#permissionMatrixView .permissions-dialog::backdrop { background:#18243870; }
#permissionMatrixView .permissions-dialog .editor { border:0;box-shadow:none; }
#permissionMatrixView .permissions-dialog .user-heading { position:sticky;top:-24px;background:#fff;z-index:2;padding:16px 0; }
#permissionMatrixView .permissions-close { border:0;background:transparent;font-size:26px;font-weight:400;color:var(--text-muted);cursor:pointer;padding:4px 8px; }
#permissionMatrixView .permissions-dialog .savebar { position:sticky;bottom:-24px;background:#fff;padding:16px 0;z-index:2; }
#permissionMatrixView .permissions-dialog .manager-permission { margin-top:18px; }
