.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1e1e1e,#2d2d2d);font-family:Inter,system-ui,-apple-system,sans-serif;padding:20px}.login-card{width:100%;max-width:420px;background-color:#2d2d2d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:40px 32px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:block;margin:0 auto 12px;height:72px;width:auto}.login-header h1{font-size:28px;font-weight:800;color:#fff;margin:0 0 8px}.login-header p{font-size:14px;color:#d4d4d4;margin:8px 0 0}.login-welcome{margin-bottom:28px}.login-welcome p{font-size:14px;color:#d4d4d4;margin:0;line-height:1.5}.login-error{background-color:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:12px 14px;border-radius:10px;font-size:13px;margin-bottom:20px;line-height:1.4}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.form-input{padding:8px 12px;font-size:14px;background-color:#3f3f3f;color:#e2e8f0;border:1px solid #525252;border-radius:12px;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:0 4px 12px #00000026;min-height:42px;line-height:1.2;box-sizing:border-box}.form-input:focus{border-color:#4ade80;box-shadow:0 4px 12px #00000026,0 0 0 2px #4ade8020}.form-input:disabled{opacity:.6;cursor:not-allowed}.login-button{padding:10px 16px;font-size:14px;font-weight:600;background-color:#4ade80;color:#000;border:none;border-radius:10px;cursor:pointer;opacity:1;transition:all .2s;margin-top:8px;font-family:inherit}.login-button:hover:not(:disabled){background-color:#22c55e;transform:translateY(-1px)}.login-button:disabled{opacity:.6;background-color:#4ade8080;cursor:not-allowed}.login-divider{display:flex;align-items:center;margin:24px 0 16px;font-size:12px;color:#a0a0a0;text-transform:uppercase;letter-spacing:.5px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:#ffffff1a}.login-divider:before{margin-right:12px}.login-divider:after{margin-left:12px}.login-divider span{white-space:nowrap}.login-providers{display:flex;flex-direction:column;gap:10px}.provider-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:500;background-color:transparent;color:#d4d4d4;border:1px solid rgba(255,255,255,.2);border-radius:10px;cursor:pointer;transition:all .2s;font-family:inherit}.provider-button:hover:not(:disabled){background-color:#ffffff0d;border-color:#ffffff4d;color:#fff}.provider-button:disabled{opacity:.6;cursor:not-allowed}.provider-icon{width:18px;height:18px;flex-shrink:0}.authentik-provider{color:#d4d4d4}.authentik-provider:hover:not(:disabled){border-color:#4ade8080;color:#4ade80}.authentik-provider:hover:not(:disabled) .provider-icon{color:#4ade80}.login-footer{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#d4d4d4;text-align:center;line-height:1.5}.login-footer p{margin:0}.login-credentials{font-family:monospace;font-size:11px;margin:4px 0 0}.custom-auth-container,.custom-auth-form{display:flex;flex-direction:column;gap:16px}.custom-form-group{display:flex;flex-direction:column;gap:6px}.custom-form-label{font-size:13px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.custom-form-input{padding:8px 12px;font-size:14px;background-color:#3f3f3f;color:#e2e8f0;border:1px solid #525252;border-radius:12px;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:0 4px 12px #00000026;min-height:42px;line-height:1.2;box-sizing:border-box}.custom-password-wrapper{position:relative;display:flex;align-items:center}.custom-password-wrapper .custom-form-input{padding-right:44px;width:100%}.custom-password-toggle{position:absolute;right:12px;background:none;border:none;color:#a0a0a0;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;transition:color .2s;font-size:0}.custom-password-toggle:hover:not(:disabled){color:#4ade80}.custom-password-toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-icon{width:20px;height:20px}.custom-form-input:focus{border-color:#4ade80;box-shadow:0 4px 12px #00000026,0 0 0 2px #4ade8020}.custom-form-input:disabled{opacity:.6;cursor:not-allowed}.custom-form-input::placeholder{color:#a0a0a0}.custom-auth-button{padding:10px 16px;font-size:14px;font-weight:600;background-color:#4ade80;color:#000;border:none;border-radius:10px;cursor:pointer;opacity:1;transition:all .2s;margin-top:8px;font-family:inherit}.custom-auth-button:hover:not(:disabled){background-color:#22c55e;transform:translateY(-1px)}.custom-auth-button:disabled{opacity:.6;background-color:#4ade8080;cursor:not-allowed}.custom-toggle-button{background:none;border:none;color:#4ade80;cursor:pointer;font-size:14px;text-decoration:underline;font-family:inherit;padding:0;margin:0;transition:color .2s}.custom-toggle-button:hover{color:#22c55e}.custom-toggle-container{margin-top:16px;text-align:center}.custom-error-message{background-color:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:12px 14px;border-radius:10px;font-size:13px;margin-bottom:16px;line-height:1.4}.custom-password-requirements{background-color:#ef44441a;border:1px solid rgba(239,68,68,.5);border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:13px;color:#fca5a5}.custom-password-requirements strong{color:#fca5a5;display:block;margin-bottom:8px}.custom-password-requirements ul{margin:0;padding-left:20px}.custom-password-requirements li{margin:4px 0}.custom-password-valid{color:#4ade80}.custom-password-invalid{color:#ef4444}.app-input{padding:8px 12px;font-size:14px;background-color:#1e1e1e;color:#e2e8f0;border:1px solid #525252;border-radius:12px;font-family:Inter,system-ui,-apple-system,sans-serif;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:0 4px 12px #00000026;min-height:42px;line-height:1.2;box-sizing:border-box}.app-input:focus{border-color:#4ade80;box-shadow:0 4px 12px #00000026,0 0 0 2px #4ade8020}.app-input:disabled{opacity:.6;cursor:not-allowed}.app-input::placeholder{color:#1e1e1e}.app-textarea{padding:8px 12px;font-size:14px;background-color:#1e1e1e;color:#e2e8f0;border:1px solid #525252;border-radius:12px;font-family:Inter,system-ui,-apple-system,sans-serif;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:0 4px 12px #00000026;line-height:1.2;box-sizing:border-box;resize:vertical;min-height:42px}.app-textarea:focus{border-color:#4ade80;box-shadow:0 4px 12px #00000026,0 0 0 2px #4ade8020}.app-textarea:disabled{opacity:.6;cursor:not-allowed}.app-textarea::placeholder{color:#94a3b8}.app-input-search{padding:6px 10px;font-size:13px;background-color:#1e1e1e;color:#e2e8f0;border:1px solid #525252;border-radius:8px;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:0 2px 8px #0000001a;min-height:36px;line-height:1.2;box-sizing:border-box}.app-input-search:focus{border-color:#4ade80;box-shadow:0 2px 8px #0000001a,0 0 0 2px #4ade8020}.app-input-search:disabled{opacity:.6;cursor:not-allowed}.app-input-search::placeholder{color:#94a3b8}.app-input-compact{padding:6px 10px;font-size:13px;background-color:#1e1e1e;color:#e2e8f0;border:1px solid #525252;border-radius:8px;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:0 2px 8px #0000001a;min-height:36px;line-height:1.2;box-sizing:border-box}.app-input-compact:focus{border-color:#4ade80;box-shadow:0 2px 8px #0000001a,0 0 0 2px #4ade8020}.app-input-compact:disabled{opacity:.6;cursor:not-allowed}.app-input-compact::placeholder{color:#94a3b8}.app-textarea-code{padding:8px 12px;font-size:12px;background-color:#1a1a1a;color:#e2e8f0;border:1px solid #3a3a3a;border-radius:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;outline:none;box-shadow:0 2px 8px #0003;line-height:1.4;box-sizing:border-box;resize:vertical;min-height:60px;white-space:pre-wrap;word-wrap:break-word}.app-textarea-code:focus{border-color:#4ade80;box-shadow:0 2px 8px #0003,0 0 0 2px #4ade8020}.app-textarea-code:disabled{opacity:.6;cursor:not-allowed}.app-input-modal{width:100%;padding:8px 12px;font-size:14px;background-color:var(--modal-input-bg, #2d2d2d);color:var(--modal-input-text, #e2e8f0);border:1px solid var(--modal-input-border, rgba(148, 163, 184, .35));border-radius:12px;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box;min-height:42px;line-height:1.2;box-shadow:0 2px 4px #0003}.app-input-modal:focus{border-color:var(--modal-input-focus, #4ade80);box-shadow:0 2px 4px #0003,0 0 0 2px var(--modal-input-focus-shadow, rgba(74, 222, 128, .125))}.app-input-modal:disabled{opacity:.6;cursor:not-allowed}.app-input-modal::placeholder{color:var(--modal-input-placeholder, #94a3b8)}.app-input-modal.error{border-color:#ef4444;box-shadow:0 2px 4px #0003,0 0 0 2px #ef444420}.app-input-modal.error:focus{border-color:#ef4444;box-shadow:0 2px 4px #0003,0 0 0 2px #ef444433}.app-input.error{border-color:#ef4444;box-shadow:0 4px 12px #00000026,0 0 0 2px #ef444420}.app-input.error:focus{border-color:#ef4444;box-shadow:0 4px 12px #00000026,0 0 0 2px #ef444433}.app-input.warning{border-color:#eab308;box-shadow:0 4px 12px #00000026,0 0 0 2px #eab30820}.app-input.warning:focus{border-color:#eab308;box-shadow:0 4px 12px #00000026,0 0 0 2px #eab30833}.user-menu-dropdown{animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-dropdown-item{transition:all .2s ease}.user-menu-dropdown-item:hover{background-color:#ffffff0d}:root{--rbac-primary: #3b82f6;--rbac-primary-hover: #2563eb;--rbac-primary-light: rgba(59, 130, 246, .15);--rbac-primary-lighter: rgba(59, 130, 246, .1);--rbac-primary-lightest: rgba(59, 130, 246, .05);--rbac-text: #e2e8f0;--rbac-text-secondary: rgba(148, 163, 184, .7);--rbac-table-text: #000000;--rbac-border: rgba(148, 163, 184, .3);--rbac-border-light: rgba(148, 163, 184, .1);--rbac-bg-soft: rgba(15, 23, 42, .8)}._container_14chx_31{display:flex;flex-direction:column;width:100%;gap:16px;flex:1;min-height:0}._tabs_14chx_49{display:flex;gap:12px;border-bottom:1px solid rgba(148,163,184,.2);padding-bottom:12px;flex-wrap:wrap}._tab_14chx_49{padding:10px 16px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;color:var(--rbac-text-secondary);transition:all .2s ease;white-space:nowrap}._tab_14chx_49:hover{background:#94a3b814;color:var(--rbac-text)}._tab_14chx_49._active_14chx_101{background:var(--rbac-primary-light);color:var(--rbac-primary);border-color:var(--rbac-primary)}._content_14chx_113{flex:1;overflow:hidden;display:flex;flex-direction:column}._tabContent_14chx_127{display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden;flex:1}._header_14chx_145{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap;flex-shrink:0}._header_14chx_145 h2{margin:0;font-size:20px;font-weight:600;color:var(--rbac-text);min-width:fit-content}._filtersBar_14chx_181{display:flex;gap:12px;align-items:center;flex-wrap:wrap}._filtersBar_14chx_181 select{padding:8px 12px;background:#0f172a80;border:1px solid rgba(148,163,184,.2);border-radius:4px;color:#e2e8f0;font-size:13px;cursor:pointer;transition:all .2s ease}._filtersBar_14chx_181 select:hover{border-color:#94a3b866;background:#0f172ab3}._filtersBar_14chx_181 select:focus{outline:none;border-color:var(--rbac-primary);box-shadow:0 0 0 3px var(--rbac-primary-lighter)}._filterInput_14chx_239{padding:8px 12px;background:#0f172a80;border:1px solid rgba(148,163,184,.2);border-radius:4px;color:#e2e8f0;font-size:13px;transition:all .2s ease;min-width:150px}._filterInput_14chx_239[type=date]{padding:8px 12px;background:#0f172a80;border:1px solid rgba(148,163,184,.2);color:#e2e8f0;font-size:13px}._filterInput_14chx_239[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;margin-right:2px;opacity:.7;filter:invert(1)}._filterInput_14chx_239[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}._filterInput_14chx_239::placeholder{color:#94a3b880}._filterInput_14chx_239:hover{border-color:#94a3b866;background:#0f172ab3}._filterInput_14chx_239:focus{outline:none;border-color:var(--rbac-primary);box-shadow:0 0 0 3px var(--rbac-primary-lighter)}._primaryBtn_14chx_331{padding:10px 16px;background:var(--rbac-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;white-space:nowrap}._primaryBtn_14chx_331:hover{background:var(--rbac-primary-hover);transform:translateY(-1px)}._primaryBtn_14chx_331:disabled{opacity:.6;cursor:not-allowed;transform:none}._secondaryBtn_14chx_379{padding:8px 12px;background:#94a3b81a;color:#94a3b8e6;border:1px solid rgba(148,163,184,.2);border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s ease}._secondaryBtn_14chx_379:hover{background:#94a3b826;border-color:#94a3b84d}._dangerBtn_14chx_413{padding:8px 12px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s ease}._dangerBtn_14chx_413:hover{background:#ef444426;border-color:#ef44444d}._deleteBtn_14chx_447{padding:6px 10px;background:transparent;border:none;cursor:pointer;font-size:16px;transition:transform .2s ease}._deleteBtn_14chx_447:hover{transform:scale(1.2)}._error_14chx_473{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#fca5a5;font-size:14px;margin-bottom:12px;flex-shrink:0}._paginationBar_14chx_495{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:#94a3b80d;border:1px solid rgba(148,163,184,.1);border-radius:6px;flex-shrink:0;flex-wrap:wrap;margin-top:auto}._paginationInfo_14chx_523{color:var(--rbac-text-secondary);font-size:13px;white-space:nowrap}._loading_14chx_535{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--rbac-text-secondary);font-size:16px}._form_14chx_553{display:flex;flex-direction:column;gap:16px;padding:16px;background:#94a3b80d;border:1px solid rgba(148,163,184,.1);border-radius:8px;margin-bottom:20px}._formGroup_14chx_575{display:flex;flex-direction:column;gap:6px}._formGroup_14chx_575 label{font-weight:500;font-size:14px;color:#e2e8f0}._formGroup_14chx_575 input,._formGroup_14chx_575 select,._formGroup_14chx_575 textarea{padding:10px 12px;background:#0f172a80;border:1px solid rgba(148,163,184,.2);border-radius:4px;color:#e2e8f0;font-size:14px;font-family:inherit;transition:all .2s ease}._formGroup_14chx_575 input:focus,._formGroup_14chx_575 select:focus,._formGroup_14chx_575 textarea:focus{outline:none;border-color:var(--rbac-primary);background:#0f172acc;box-shadow:0 0 0 3px var(--rbac-primary-lighter)}._formGroup_14chx_575 textarea{min-height:80px;resize:vertical}._permissions_14chx_653{display:flex;flex-direction:column;gap:12px}._permissions_14chx_653 label{font-weight:500;font-size:14px;color:#e2e8f0}._permissionGrid_14chx_677{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding:12px;background:var(--rbac-bg-grid);border-radius:6px;max-height:400px;overflow-y:auto}._permissionCategory_14chx_699{display:flex;flex-direction:column;gap:8px}._permissionCategory_14chx_699 h4{margin:0;font-size:12px;font-weight:600;color:var(--rbac-primary);text-transform:uppercase;letter-spacing:.5px}._permCheckbox_14chx_729{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:6px 8px;border-radius:4px;transition:all .2s ease}._permCheckbox_14chx_729:hover{background:var(--rbac-primary-lighter)}._permCheckbox_14chx_729 input{margin-top:3px;cursor:pointer;accent-color:var(--rbac-primary)}._permCheckbox_14chx_729 span{display:flex;flex-direction:column;gap:2px;flex:1}._permCheckbox_14chx_729 strong{font-size:13px;color:var(--rbac-text)}._permCheckbox_14chx_729 small{font-size:12px;color:var(--rbac-border);line-height:1.3}._rolesList_14chx_805{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}._roleCard_14chx_817{padding:16px;background:#94a3b80d;border:1px solid rgba(148,163,184,.1);border-radius:8px;transition:all .2s ease}._roleCard_14chx_817:hover{border-color:var(--rbac-primary);background:var(--rbac-primary-lightest)}._roleHeader_14chx_853{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}._roleHeader_14chx_853 h3{margin:0;font-size:15px;font-weight:600;color:#e2e8f0}._roleCard_14chx_817 p{margin:0 0 12px;font-size:13px;color:#94a3b8cc;line-height:1.4}._permissionTags_14chx_897{display:flex;flex-wrap:wrap;gap:6px}._tag_14chx_909{display:inline-block;padding:4px 8px;background:var(--rbac-primary-light);color:var(--rbac-primary);border-radius:3px;font-size:12px;font-weight:500}._table_14chx_929{width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}._tableWrapper_14chx_947{flex:1;overflow-y:auto;border:1px solid rgba(148,163,184,.1);border-radius:6px;min-height:0;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.4) transparent}._tableWrapper_14chx_947::-webkit-scrollbar{width:8px}._tableWrapper_14chx_947::-webkit-scrollbar-track{background:transparent}._tableWrapper_14chx_947::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:4px}._tableWrapper_14chx_947::-webkit-scrollbar-thumb:hover{background:#94a3b899}._tableWrapper_14chx_947 table{width:100%}._table_14chx_929 thead{background:#94a3b814;border-bottom:2px solid rgba(148,163,184,.2)}._table_14chx_929 th{padding:12px 16px;text-align:left;font-weight:600;color:var(--rbac-table-text);text-transform:uppercase;font-size:12px;letter-spacing:.5px}._table_14chx_929 td{padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.1);color:var(--rbac-table-text);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._table_14chx_929 th:first-child,._table_14chx_929 td:first-child{width:100px;min-width:100px;max-width:100px}._table_14chx_929 td._monospace_14chx_1077{font-family:Monaco,Menlo,Courier New,monospace;font-size:12px}._table_14chx_929 tbody tr:hover{background:#94a3b80d}._table_14chx_929 tr._expired_14chx_1095{opacity:.6}._table_14chx_929 tr._expired_14chx_1095 td{color:var(--rbac-text-secondary)}._table_14chx_929 tr._statusSuccess_14chx_1113{background:#22c55e14}._table_14chx_929 tr._statusSuccess_14chx_1113:hover{background:#22c55e1f}._table_14chx_929 tr._statusDenied_14chx_1129{background:#f59e0b14}._table_14chx_929 tr._statusDenied_14chx_1129:hover{background:#f59e0b1f}._table_14chx_929 tr._statusFailed_14chx_1145{background:#ef444414}._table_14chx_929 tr._statusFailed_14chx_1145:hover{background:#ef44441f}._actions_14chx_1161{display:flex;gap:8px;align-items:center}._badge_14chx_1173{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}._badgeSuccess_14chx_1193{background:#22c55e26;color:#86efac}._badgeError_14chx_1203{background:#ef444426;color:#fca5a5}._badgeWarning_14chx_1213{background:#f59e0b26;color:#fbbf24}._badgeDenied_14chx_1223,._badgeFailed_14chx_1233{background:#ef444426;color:#fca5a5}._statsGrid_14chx_1243{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}._statCard_14chx_1257{padding:16px;background:#94a3b80d;border:1px solid rgba(148,163,184,.1);border-radius:8px;text-align:center}._statLabel_14chx_1273{font-size:12px;font-weight:600;color:#94a3b8b3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}._statValue_14chx_1291{font-size:28px;font-weight:700;color:#e2e8f0;display:inline-block;padding:8px 16px;border-radius:6px;background:#94a3b81a;color:#cbd5e1}._statValue_14chx_1291._success_14chx_1313{background:#22c55e26;color:#86efac}._statValue_14chx_1291._warning_14chx_1323{background:#f59e0b26;color:#fbbf24}._statValue_14chx_1291._error_14chx_473{background:#ef444426;color:#fca5a5}@media(max-width:768px){._rolesList_14chx_805,._permissionGrid_14chx_677{grid-template-columns:1fr}._header_14chx_145{flex-direction:column;align-items:flex-start}._header_14chx_145 h2{margin-bottom:8px}._tabs_14chx_49{overflow-x:auto;padding-bottom:16px}._tab_14chx_49{flex-shrink:0}._statsGrid_14chx_1243{grid-template-columns:repeat(2,1fr)}}._headerLeft_14chx_1411{display:flex;align-items:center;gap:16px}._viewTypeToggle_14chx_1423{display:flex;gap:8px;background:#94a3b81a;padding:6px;border-radius:6px;border:1px solid rgba(148,163,184,.2)}._viewBtn_14chx_1441{padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;color:#94a3b8b3;transition:all .2s ease;white-space:nowrap}._viewBtn_14chx_1441:hover{color:#94a3b8e6;background:#94a3b80d}._viewBtn_14chx_1441._active_14chx_101{background:var(--rbac-primary);color:#fff;border-color:var(--rbac-primary)}._rolesList_14chx_805[data-view-type=row]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}._roleCard_14chx_817{display:flex;flex-direction:column;gap:12px;padding:16px;background:#94a3b80d;border:1px solid rgba(148,163,184,.15);border-radius:8px;transition:all .2s ease}._roleCard_14chx_817:hover{background:#94a3b814;border-color:#94a3b840}._roleCard_14chx_817._system_14chx_843{border-color:var(--rbac-primary);background:var(--rbac-primary-light)}._roleHeader_14chx_853{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}._roleTitle_14chx_1557{display:flex;align-items:center;gap:12px;flex:1}._expandBtn_14chx_1571{padding:4px 8px;background:transparent;border:none;cursor:pointer;font-size:14px;color:#94a3b899;transition:all .2s ease;line-height:1}._expandBtn_14chx_1571:hover{color:#3b82f6;transform:scale(1.2)}._roleHeader_14chx_853 h3{margin:0;font-size:16px;font-weight:600;color:var(--rbac-text)}._roleDesc_14chx_1617{margin:0;font-size:13px;color:#94a3b8b3}._permissionsExpanded_14chx_1629{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid rgba(148,163,184,.15)}._permissionsList_14chx_1647{display:flex;flex-direction:column;gap:6px}._permissionRow_14chx_1659{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--rbac-primary-lighter);border-radius:4px;font-size:13px}._permissionIcon_14chx_1679{font-weight:700;font-size:16px;line-height:1;transition:opacity .15s ease;color:var(--rbac-icon-color, #3b82f6)}@media(prefers-color-scheme:dark){._permissionIcon_14chx_1679{color:var(--rbac-icon-color, #22c55e)}}@media(prefers-color-scheme:light){._permissionIcon_14chx_1679{color:var(--rbac-icon-color, #3b82f6)}}._permissionIcon_14chx_1679._shown_14chx_1719{opacity:1}._permissionIcon_14chx_1679._hidden_14chx_1727{opacity:0;pointer-events:none}._permissionName_14chx_1737{color:#e2e8f0;font-family:monospace;word-break:break-all}._noPerms_14chx_1749{margin:0;font-size:13px;color:#94a3b880;font-style:italic}._rolesList_14chx_805[data-view-type=matrix]{display:flex;flex-direction:column;gap:0;overflow-x:auto;border:1px solid rgba(148,163,184,.15);border-radius:8px;background:#94a3b80d}._matrixContainer_14chx_1787{display:flex;flex-direction:column;width:100%;min-width:min-content;border:1px solid rgba(148,163,184,.2);border-radius:8px;overflow:hidden;max-height:600px;flex:1;background:var(--rbac-bg-grid)}._matrixCategoryRow_14chx_1813,._matrixHeaderRow_14chx_1815,._matrixRow_14chx_1817{display:flex;gap:0;border-bottom:1px solid rgba(148,163,184,.1);flex-shrink:0}._matrixRowsContainer_14chx_1833{flex:1;overflow-y:auto;overflow-x:hidden}._matrixCategoryRow_14chx_1813>._matrixCell_14chx_1847:first-child,._matrixHeaderRow_14chx_1815>._matrixCell_14chx_1847:first-child,._matrixRow_14chx_1817>._matrixCell_14chx_1847:first-child{flex:0 0 180px;min-width:180px;max-width:180px}._matrixCategoryRow_14chx_1813{background:var(--rbac-primary-lighter);border-bottom:2px solid var(--rbac-primary);position:sticky;top:0;z-index:20}._matrixCategoryRow_14chx_1813>._matrixCell_14chx_1847:first-child{background:var(--rbac-primary-lightest);font-weight:700;border-right:2px solid var(--rbac-primary)}._matrixCategoryHeader_14chx_1891{flex:1;padding:12px 8px;font-weight:700;font-size:13px;color:var(--rbac-text);text-align:center;border-right:1px solid var(--rbac-primary);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--rbac-primary-lighter),var(--rbac-primary-lightest));white-space:normal;word-break:break-word}._matrixHeaderRow_14chx_1815{background:var(--rbac-primary-lighter);border-bottom:1px solid var(--rbac-primary);position:sticky;top:50px;z-index:15}._matrixHeaderRow_14chx_1815>._matrixCell_14chx_1847:first-child{background:var(--rbac-primary-light);border-right:2px solid var(--rbac-primary)}._matrixPermissionHeader_14chx_1949{flex:1;padding:8px 6px;font-weight:600;font-size:12px;color:var(--rbac-matrix-text, rgba(148, 163, 184, .9));text-align:center;border-right:1px solid rgba(148,163,184,.1);display:flex;align-items:center;justify-content:center;min-height:32px;word-break:break-word;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.3}._matrixRow_14chx_1817{border-bottom:1px solid rgba(148,163,184,.1);transition:background-color .2s ease}._matrixRow_14chx_1817:hover{background-color:#94a3b814}._matrixRow_14chx_1817._system_14chx_843{background-color:var(--rbac-primary-light)}._matrixRow_14chx_1817>._matrixCell_14chx_1847:first-child{border-right:2px solid var(--rbac-primary);font-weight:600;background:var(--rbac-primary-lightest);position:sticky;left:0;z-index:5}._matrixCell_14chx_1847{flex:1 0 0;padding:10px 8px;text-align:center;font-size:13px;color:var(--rbac-matrix-text, rgba(148, 163, 184, .8));border-right:1px solid rgba(148,163,184,.1);display:flex;align-items:center;justify-content:center;min-height:44px;overflow:hidden}._matrixCell_14chx_1847._hasPermission_14chx_2059{color:var(--rbac-primary-hover);font-weight:600;background:var(--rbac-primary-light)}._matrixActionBar_14chx_2073{padding:8px 10px;background:#3b82f614;border-bottom:1px solid rgba(148,163,184,.1);display:flex;gap:8px;align-items:center}._roleNameCell_14chx_2091{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;overflow:hidden;text-overflow:ellipsis}._roleNameCell_14chx_2091{text-align:left;color:var(--rbac-matrix-text, #e2e8f0);font-weight:500;padding:0 12px}@media(max-width:768px){._headerLeft_14chx_1411{flex-direction:column;align-items:flex-start;width:100%}._viewTypeToggle_14chx_1423{width:100%;justify-content:flex-start}._rolesList_14chx_805[data-view-type=row]{grid-template-columns:1fr}._matrixCell_14chx_1847{padding:10px 8px;font-size:12px}._roleNameCell_14chx_2091{padding:0 8px}}._subRow_14chx_2179{background:#94a3b80d;border-bottom:1px solid rgba(148,163,184,.08)}._subRow_14chx_2179 td{padding:8px 16px;font-size:13px;color:#94a3b8e6}._subRow_14chx_2179 td:first-child{padding-left:40px;font-weight:500}._subRow_14chx_2179:hover{background:#94a3b814}._subRow_14chx_2179 ._actions_14chx_1161{gap:6px}._subRow_14chx_2179 ._deleteBtn_14chx_447{padding:4px 8px;font-size:14px}._inlineInput_14chx_2237{border:1px solid var(--rbac-border);background:var(--rbac-bg-soft);color:var(--rbac-text);padding:6px 8px;border-radius:4px;font-size:13px;font-family:inherit}._inlineInput_14chx_2237::placeholder{color:var(--rbac-text-secondary)}._inlineInput_14chx_2237:focus{outline:none;border-color:var(--rbac-primary);background:var(--rbac-primary-lightest)}._inlineInputError_14chx_2277{border-color:#ef4444!important;background:#ef44441a!important}._inlineInputError_14chx_2277:focus{border-color:#dc2626!important;background:#dc262626!important}._loadingOverlay_zst54_3{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172ab3;z-index:50;border-radius:8px}._spinnerContainer_zst54_31{display:flex;flex-direction:column;align-items:center;gap:12px}._spinner_zst54_31{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top:3px solid var(--rbac-icon-color, #3b82f6);border-radius:50%;animation:_spin_zst54_31 .8s linear infinite}._message_zst54_63{color:#94a3b8e6;font-size:14px;margin:0;text-align:center}@keyframes _spin_zst54_31{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aimd-scrollbar{scrollbar-width:var(--aimd-scrollbar-width-fx, thin);scrollbar-color:var(--aimd-scrollbar-thumb, rgba(255,255,255,.15)) var(--aimd-scrollbar-track, transparent)}.aimd-scrollbar::-webkit-scrollbar{width:var(--aimd-scrollbar-width, 12px)}.aimd-scrollbar::-webkit-scrollbar-track{background:var(--aimd-scrollbar-track, transparent)}.aimd-scrollbar::-webkit-scrollbar-thumb{background:var(--aimd-scrollbar-thumb, rgba(255,255,255,.15));border-radius:var(--aimd-scrollbar-radius, 8px)}pre,code,div[style*=overflow],table{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.4) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b899}
