/* Enterprise Bootstrap Theme | MIT License | (c) 2026 Priya Vijai Kalyan */
.permissionmatrix{background-color:var(--theme-surface-bg);border:1px solid var(--theme-border-subtle);display:flex;flex-direction:column;font-family:inherit;overflow:hidden}.permissionmatrix-toolbar{align-items:center;border-bottom:1px solid var(--theme-border-subtle);display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:6px 12px}.permissionmatrix-toolbar-actions{align-items:center;display:flex;gap:6px}.permissionmatrix-filter{flex:0 0 220px}.permissionmatrix-filter-input{background:var(--theme-input-bg);border:1px solid var(--theme-input-border);color:var(--theme-input-color);font-size:.8rem;height:28px;outline:none;padding:0 8px;width:100%}.permissionmatrix-filter-input:focus{border-color:var(--theme-focus-border);box-shadow:0 0 0 .15rem rgba(28,126,214,.25)}.permissionmatrix-export-btn,.permissionmatrix-reset-btn{align-items:center;background:var(--theme-surface-bg);border:1px solid var(--theme-border-color);color:var(--theme-text-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;gap:4px;padding:4px 8px;transition:box-shadow .15s ease}.permissionmatrix-export-btn:hover:not(:disabled),.permissionmatrix-reset-btn:hover:not(:disabled){background-color:var(--theme-active-bg);box-shadow:0 0 6px var(--theme-glow-color-hover,rgba(37,99,235,.18));color:var(--theme-text-primary)}.permissionmatrix-export-btn:disabled,.permissionmatrix-reset-btn:disabled{cursor:not-allowed;opacity:.5}.permissionmatrix-export-btn:focus-visible,.permissionmatrix-reset-btn:focus-visible{outline:2px solid var(--theme-focus-border);outline-offset:-2px}.permissionmatrix-change-counter{background-color:#fef3c7;color:var(--theme-text-primary);font-size:.8rem;font-weight:600;padding:2px 8px}.permissionmatrix-change-counter:empty{display:none}.permissionmatrix-grid{align-content:start;display:grid;flex:1 1 auto;grid-template-columns:minmax(240px,auto) repeat(var(--pm-role-count),minmax(120px,1fr));overflow:auto}.permissionmatrix-header-row{display:contents}.permissionmatrix-header-row>*{border-bottom:1px solid var(--theme-border-color);z-index:10}.permissionmatrix-corner-cell,.permissionmatrix-header-row>*{background-color:var(--theme-surface-raised-bg);position:sticky;top:0}.permissionmatrix-corner-cell{left:0;z-index:20}.permissionmatrix-role-header{border-top:3px solid transparent;display:flex;flex-direction:column;padding:8px;text-align:center}.permissionmatrix-role-name{color:var(--theme-text-primary);font-size:.8rem;font-weight:600}.permissionmatrix-role-desc{color:var(--theme-text-muted);font-size:.75rem}.permissionmatrix-group-header{display:contents}.permissionmatrix-group-header>*{border-bottom:1px solid var(--theme-border-subtle);min-height:36px}.permissionmatrix-group-header>*,.permissionmatrix-group-label{align-items:center;background-color:var(--theme-surface-raised-bg);display:flex}.permissionmatrix-group-label{gap:6px;left:0;padding:4px 12px;position:sticky;z-index:10}.permissionmatrix-group-toggle{align-items:center;background:transparent;border:none;color:var(--theme-text-muted);cursor:pointer;display:inline-flex;font-size:.875rem;line-height:1;padding:2px}.permissionmatrix-group-toggle:focus-visible{outline:2px solid var(--theme-focus-border);outline-offset:-2px}.permissionmatrix-group-chevron{transition:transform .2s ease}.permissionmatrix-group-chevron-open{transform:rotate(90deg)}.permissionmatrix-group-name{color:var(--theme-text-primary);font-size:.8rem;font-weight:600}.permissionmatrix-group-bulk-cell{align-items:center;display:flex;justify-content:center;padding:4px}.permissionmatrix-row{display:contents;transition:box-shadow .15s ease}.permissionmatrix-row>*{align-items:center;border-bottom:1px solid var(--theme-border-subtle);display:flex;min-height:36px}.permissionmatrix-row:hover>*{background-color:var(--theme-hover-bg);box-shadow:0 0 4px var(--theme-glow-color-hover,rgba(37,99,235,.18))}.permissionmatrix-permission-label{background-color:var(--theme-surface-bg);color:var(--theme-text-primary);font-size:.8rem;left:0;padding:4px 12px;position:sticky;z-index:10}.permissionmatrix-row:hover .permissionmatrix-permission-label{background-color:var(--theme-hover-bg)}.permissionmatrix-permission-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permissionmatrix-cell{align-items:center;background-color:var(--theme-surface-bg);display:flex;justify-content:center;padding:4px 8px;transition:background-color .1s}.permissionmatrix-cell:focus-visible{outline:2px solid var(--theme-focus-border);outline-offset:-2px}.permissionmatrix-cell-inherited{background-color:rgba(208,235,255,.3)}.permissionmatrix-cell-changed{background-color:rgba(254,243,199,.7)}.permissionmatrix-cell-readonly{cursor:not-allowed;opacity:.5}.permissionmatrix-checkbox{align-items:center;background:transparent;border:none;cursor:pointer;display:inline-flex;font-size:1.125rem;justify-content:center;line-height:1;padding:2px;transition:color .15s}.permissionmatrix-checkbox:focus-visible{outline:2px solid var(--theme-focus-border);outline-offset:0}.permissionmatrix-cell-readonly .permissionmatrix-checkbox{cursor:not-allowed}.permissionmatrix-checkbox-granted{color:var(--theme-success)}.permissionmatrix-checkbox-denied{color:var(--theme-text-muted)}.permissionmatrix-checkbox-inherited{color:var(--theme-primary)}.permissionmatrix-checkbox-none{color:var(--theme-text-muted)}.permissionmatrix-checkbox-none i{align-items:center;border:1px dashed var(--theme-text-muted);display:flex;font-size:.875rem;height:18px;justify-content:center;width:18px}.permissionmatrix-highlight{background-color:#fef3c7;padding:0 1px}.permissionmatrix-empty{color:var(--theme-text-muted);font-size:.8rem;font-style:italic;grid-column:1/-1;padding:24px;text-align:center}@media (prefers-reduced-motion:reduce){.permissionmatrix-cell,.permissionmatrix-checkbox,.permissionmatrix-group-chevron{transition:none}}