frontend_nyla/src/pages/admin/PermissionMatrix.module.css

162 lines
3 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* PermissionMatrix glassmorphism and glow for active cells
*/
.wrapper {
display: flex;
flex-direction: column;
gap: 1rem;
}
.tableWrap {
overflow-x: auto;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.04);
backdrop-filter: blur(8px);
}
.table {
width: 100%;
border-collapse: collapse;
font-size: 0.875rem;
}
.table th,
.table td {
padding: 0.6rem 0.75rem;
text-align: left;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.table thead th {
font-weight: 600;
color: var(--text-secondary);
text-transform: uppercase;
font-size: 0.7rem;
letter-spacing: 0.05em;
background: rgba(0, 0, 0, 0.06);
}
.table tbody tr:hover {
background: rgba(255, 255, 255, 0.04);
}
.cellUser {
min-width: 160px;
}
.userName {
display: block;
font-weight: 500;
color: var(--text-primary);
}
.userEmail {
display: block;
font-size: 0.75rem;
color: var(--text-secondary);
}
.cellRole {
min-width: 70px;
text-align: center;
}
.cellActive {
min-width: 56px;
text-align: center;
}
.cellActions {
min-width: 90px;
white-space: nowrap;
}
.cellEmpty {
text-align: center;
color: var(--text-secondary);
padding: 1.5rem !important;
}
.badge {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1.75rem;
padding: 0.2rem 0.4rem;
border-radius: 6px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.1);
color: var(--text-secondary);
font-size: 0.8rem;
}
.badgeActive {
background: linear-gradient(
135deg,
rgba(242, 88, 67, 0.25),
rgba(242, 88, 67, 0.12)
);
border-color: rgba(242, 88, 67, 0.4);
color: var(--primary-color, #f25843);
box-shadow: 0 0 10px rgba(242, 88, 67, 0.2);
}
.actionBtn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
padding: 0;
margin-right: 4px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 6px;
color: var(--text-secondary);
cursor: pointer;
transition: all 0.2s ease;
}
.actionBtn:hover:not(:disabled) {
background: rgba(242, 88, 67, 0.2);
border-color: rgba(242, 88, 67, 0.4);
color: var(--primary-color, #f25843);
box-shadow: 0 0 8px rgba(242, 88, 67, 0.25);
}
.actionBtn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.actionBtnDanger:hover:not(:disabled) {
background: rgba(220, 53, 69, 0.2);
border-color: rgba(220, 53, 69, 0.4);
color: #dc3545;
box-shadow: 0 0 8px rgba(220, 53, 69, 0.25);
}
.footer {
display: flex;
justify-content: flex-start;
}
.empty {
padding: 1.5rem;
text-align: center;
color: var(--text-secondary);
background: rgba(255, 255, 255, 0.04);
border-radius: 12px;
border: 1px dashed rgba(255, 255, 255, 0.15);
}
:global(.dark-theme) .tableWrap {
background: rgba(0, 0, 0, 0.2);
border-color: rgba(255, 255, 255, 0.08);
}
:global(.dark-theme) .table thead th {
background: rgba(0, 0, 0, 0.2);
}