.venue-hours-settings{max-width:900px;margin:0 auto;padding:24px}.hours-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.hours-header h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0}.venue-name{color:#6b7280;margin:4px 0 0;font-size:16px}.header-actions{display:flex;gap:12px}.btn-secondary{padding:10px 20px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline{padding:10px 20px;background:transparent;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline:hover{background:#f3f4f6}.success-banner{background:#d1fae5;color:#065f46;padding:12px 20px;border-radius:8px;margin-bottom:20px;font-weight:500}.hours-info{display:flex;gap:12px;padding:16px 20px;background:#fffbeb;border:1px solid #fef3c7;border-radius:12px;margin-bottom:24px}.hours-info span{font-size:24px}.hours-info strong{color:#92400e;font-size:15px}.hours-info p{color:#a16207;font-size:14px;margin:4px 0 0}.schedule-grid{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.grid-header{display:grid;grid-template-columns:150px 120px 120px 80px 1fr;gap:12px;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:13px;color:#64748b;text-transform:uppercase}.grid-row{display:grid;grid-template-columns:150px 120px 120px 80px 1fr;gap:12px;padding:16px 20px;border-bottom:1px solid #f1f5f9;align-items:center;transition:background .2s}.grid-row:hover{background:#f8fafc}.grid-row.row-closed{background:#fef2f2}.grid-row.row-closed:hover{background:#fee2e2}.col-day{display:flex;flex-direction:column;gap:2px}.day-name{font-weight:600;color:#1a1a2e}.day-name-ar{font-size:13px;color:#9ca3af}.col-time select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.col-time select:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.col-time select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.toggle{position:relative;display:inline-block;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;inset-inline-start:0;inset-inline-end:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;inset-inline-start:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle input:checked+.slider{background-color:#ef4444}.toggle input:checked+.slider:before{transform:translate(22px)}.btn-apply{padding:6px 12px;background:#e0f2fe;color:#0369a1;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-apply:hover{background:#bae6fd}.hours-footer{margin-top:24px;display:flex;justify-content:center}.save-btn{padding:14px 40px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b9814d}.save-btn:disabled{opacity:.6;cursor:not-allowed}.hours-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:16px;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#10b981;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hours-error{text-align:center;padding:48px;color:#dc2626}.hours-error button{margin-top:16px;padding:10px 20px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;cursor:pointer}@media (max-width: 768px){.grid-header{display:none}.grid-row{grid-template-columns:1fr;gap:12px;padding:16px}.col-day{flex-direction:row;align-items:center;gap:8px}.col-time,.col-closed,.col-action{display:flex;align-items:center;gap:8px}.col-time:before,.col-closed:before,.col-action:before{content:attr(data-label);font-size:12px;color:#6b7280;min-width:60px}}.staff-management{padding:24px;max-width:1200px;margin:0 auto}.staff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.staff-header h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0}.staff-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.staff-tabs .tab{padding:12px 20px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.staff-tabs .tab:hover{color:#10b981}.staff-tabs .tab.active{color:#10b981;border-bottom-color:#10b981}.staff-list,.invitations-list,.roles-list,.roles-section{display:flex;flex-direction:column;gap:16px}.roles-section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.roles-section-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.staff-card,.invitation-card,.role-card{background:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e7eb;transition:all .2s}.staff-card:hover,.invitation-card:hover,.role-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#10b981}.staff-card.inactive{opacity:.6;background:#f9fafb}.staff-info,.invitation-info,.role-info{display:flex;align-items:center;gap:16px}.staff-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.staff-details h3,.invitation-info h3,.role-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a2e}.staff-details p,.invitation-info p{margin:0;color:#6b7280;font-size:14px}.role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;background:#e0f2fe;color:#0369a1;margin-top:8px}.role-badge.owner{background:#fef3c7;color:#b45309}.role-badge.manager{background:#ddd6fe;color:#7c3aed}.role-badge.receptionist{background:#d1fae5;color:#059669}.role-badge.accountant{background:#e0e7ff;color:#4f46e5}.role-badge.coach{background:#fce7f3;color:#db2777}.inactive-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;background:#fee2e2;color:#dc2626;margin-inline-start:8px}.system-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;background:#f3f4f6;color:#6b7280;margin-inline-start:8px}.role-ar{color:#6b7280;font-size:14px;margin-inline-start:8px}.expires{color:#f59e0b;font-size:12px;margin-inline-start:8px}.staff-actions,.invitation-actions,.role-actions{display:flex;align-items:center;gap:12px}.staff-actions select{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;min-width:150px}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:8px 16px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#fecaca}.empty-state{text-align:center;padding:48px 24px;color:#6b7280;background:#f9fafb;border-radius:12px}.staff-loading,.staff-error{text-align:center;padding:48px 24px;color:#6b7280}.staff-error{color:#dc2626}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.modal-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;cursor:pointer;color:#6b7280;transition:all .2s}.modal-close:hover{background:#e5e7eb;color:#1a1a2e}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.radio-group{display:flex;gap:24px}.radio-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.permission-group h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a1a2e;text-transform:capitalize}.permission-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s}.permission-checkbox:hover{background:#e0f2fe}.permission-checkbox input{width:16px;height:16px;accent-color:#10b981}.permission-checkbox input:disabled{cursor:not-allowed}.permission-checkbox .action{font-weight:500;color:#1a1a2e;min-width:80px}@media (max-width: 768px){.staff-management{padding:16px}.staff-header,.staff-card,.invitation-card,.role-card{flex-direction:column;align-items:flex-start;gap:16px}.staff-actions,.invitation-actions,.role-actions{width:100%;justify-content:flex-end}.modal{margin:16px;max-height:calc(100vh - 32px)}.permission-checkboxes{grid-template-columns:1fr}}.admin-staff-management{padding:24px;max-width:1400px;margin:0 auto}.admin-staff-header{margin-bottom:24px}.admin-staff-header h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.admin-staff-header p{color:#6b7280;margin:0}.admin-staff-search{margin-bottom:24px}.admin-staff-search input{width:100%;max-width:400px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.admin-staff-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-staff-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e7eb}.stat-value{font-size:32px;font-weight:700;color:#3b82f6}.tenants-list{display:flex;flex-direction:column;gap:16px}.tenant-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e7eb;overflow:hidden}.tenant-header{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;transition:background .2s}.tenant-header:hover{background:#f9fafb}.tenant-info h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#1a1a2e}.tenant-info p{margin:0;color:#6b7280;font-size:14px}.tenant-meta{display:flex;align-items:center;gap:16px}.staff-count{background:#e0f2fe;color:#0369a1;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.expand-icon{color:#6b7280;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.tenant-details{border-top:1px solid #e5e7eb;padding:20px;background:#f9fafb}.section{margin-bottom:24px}.section:last-child{margin-bottom:0}.section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.no-data{color:#9ca3af;font-style:italic}.staff-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.staff-table th{background:#f3f4f6;font-weight:600;font-size:12px;text-transform:uppercase;color:#6b7280}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;background:#ddd6fe;color:#7c3aed}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.role-item{background:#fff;border-radius:8px;padding:16px;border:1px solid #e5e7eb}.role-name{font-weight:600;color:#1a1a2e;margin-bottom:4px}.role-permissions{color:#6b7280;font-size:13px;margin-bottom:12px}.btn-edit{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.btn-edit:hover{background:#2563eb}.admin-staff-loading,.admin-staff-error{text-align:center;padding:48px;color:#6b7280}.admin-staff-error{color:#dc2626}.modal.large{max-width:800px}.modal-body{padding:24px;max-height:60vh;overflow-y:auto}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer}.permissions-editor{display:grid;gap:24px}.admin-permission-risk-filter{display:flex;gap:8px;margin-top:-8px}.admin-risk-filter-btn{border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;font-size:12px;font-weight:600;padding:5px 12px;cursor:pointer;transition:all .15s ease}.admin-risk-filter-btn:hover{border-color:#9ca3af}.admin-risk-filter-btn.active{background:#1f2937;color:#fff;border-color:#1f2937}.permission-group{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#f9fafb}.permission-group h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a1a2e}.permission-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.permission-checkbox{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;cursor:pointer}.permission-checkbox input{width:16px;height:16px;accent-color:#3b82f6}.permission-checkbox .action{font-weight:500;color:#1a1a2e;min-width:64px}.permission-checkbox .desc{color:#6b7280;font-size:13px}.permission-copy{display:flex;flex-direction:column;gap:4px}.action-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.permission-risk-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent}.permission-risk-badge.safe{background:#dcfce7;color:#166534;border-color:#86efac}.permission-risk-badge.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.permission-lock-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#fff7ed;color:#9a3412;border:1px solid #fdba74}.platform-staff-management{padding:24px;max-width:1200px;margin:0 auto}.platform-staff-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.platform-staff-header h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.platform-staff-header p{color:#6b7280;margin:0}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.platform-staff-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e7eb}.stat-value{font-size:36px;font-weight:700;color:#10b981}.stat-label{color:#6b7280;font-size:14px;margin-top:4px}.platform-staff-list{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d;margin-bottom:32px}.platform-staff-list h2{margin:0 0 20px;font-size:18px;color:#1a1a2e}.staff-table{width:100%;border-collapse:collapse}.staff-table th,.staff-table td{padding:12px 16px;text-align:start;border-bottom:1px solid #e5e7eb}.staff-table th{background:#f9fafb;font-weight:600;font-size:12px;text-transform:uppercase;color:#6b7280}.staff-table td{font-size:14px;color:#374151}.inactive-row{opacity:.6}.staff-name{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.role-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#fee2e2;color:#dc2626}.btn-danger-sm{padding:6px 12px;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.btn-danger-sm:hover{background:#fecaca}.admin-roles-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.admin-roles-section h2{margin:0 0 20px;font-size:18px;color:#1a1a2e}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.role-card{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #a7f3d0;border-radius:12px;padding:16px}.role-card h3{margin:0 0 4px;font-size:16px;color:#059669}.role-ar{color:#6b7280;font-size:14px;margin:0 0 8px}.role-perms{font-size:12px;color:#10b981;font-weight:600;margin:0}.platform-staff-loading,.platform-staff-error{text-align:center;padding:48px;color:#6b7280}.platform-staff-error{color:#dc2626}.empty-state{text-align:center;padding:48px;background:#f9fafb;border-radius:12px;color:#6b7280}.modal-overlay{position:fixed;top:0;inset-inline-start:0;inset-inline-end:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;cursor:pointer}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.btn-secondary{padding:10px 20px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer}.role-permissions-editor{padding:24px;height:calc(100vh - 80px);display:flex;flex-direction:column;background:#f5f5f7}.rpe-header{margin-bottom:24px}.rpe-header h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.rpe-header p{color:#6b7280;margin:0}.rpe-container{display:grid;grid-template-columns:300px 1fr;gap:24px;flex:1;min-height:0;overflow:hidden}.rpe-roles-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden}.rpe-roles-panel h2{padding:0;margin:0;font-size:16px;font-weight:600}.roles-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.create-role-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.create-role-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.roles-list{flex:1;overflow-y:auto;padding:8px}.role-item{padding:14px 16px;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:4px;border-inline-start:3px solid transparent}.role-item:hover{background:#f3f4f6}.role-item.selected{background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-inline-start-color:#3b82f6}.role-main{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.role-name{font-weight:600;color:#1a1a2e}.system-badge{font-size:10px;padding:2px 6px;background:#d1fae5;color:#059669;border-radius:4px;font-weight:500}.role-meta{display:flex;justify-content:space-between;font-size:12px;color:#6b7280}.perm-count{color:#3b82f6;font-weight:500}.rpe-permissions-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden}.perms-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.perms-header h2{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.readonly-badge{font-size:11px;padding:3px 8px;background:#fef3c7;color:#d97706;border-radius:4px;font-weight:500}.action-buttons{display:flex;gap:8px}.btn-primary{padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:13px;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-weight:500;font-size:13px;cursor:pointer}.perms-count{padding:12px 20px;font-size:14px;color:#6b7280;border-bottom:1px solid #e5e7eb;flex-shrink:0}.rpe-risk-filter{display:flex;gap:8px;padding:10px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.rpe-risk-filter-btn{border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;font-size:12px;font-weight:600;padding:5px 12px;cursor:pointer;transition:all .15s ease}.rpe-risk-filter-btn:hover{border-color:#9ca3af}.rpe-risk-filter-btn.active{background:#1f2937;color:#fff;border-color:#1f2937}.perms-count strong{color:#3b82f6;font-size:16px}.permissions-list{flex:1;overflow-y:auto;padding:16px}.permission-group-container{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.permission-group-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f9fafb;cursor:pointer;transition:background .2s}.permission-group-header:hover{background:#f3f4f6}.permission-group-header.expanded{border-bottom:1px solid #e5e7eb}.header-left{display:flex;align-items:center;gap:12px}.expand-icon{font-size:10px;color:#6b7280;width:12px}.header-left input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.resource-name{font-weight:600;font-size:14px;color:#1a1a2e}.group-count{font-size:13px;color:#6b7280;background:#e5e7eb;padding:4px 10px;border-radius:12px}.permission-group-body{background:#fff;padding:8px}.permission-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px;border:1px solid transparent}.permission-item:hover{background:#f0f9ff;border-color:#bfdbfe}.permission-item.selected{background:#eff6ff;border-color:#93c5fd}.permission-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:#3b82f6;cursor:pointer;flex-shrink:0}.perm-details{display:flex;flex-direction:column;gap:4px}.perm-meta-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.perm-action{font-weight:600;font-size:14px;color:#1a1a2e;text-transform:capitalize}.perm-risk-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.01em;border:1px solid transparent}.perm-risk-badge.safe{background:#dcfce7;color:#166534;border-color:#86efac}.perm-risk-badge.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.perm-lock-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#fff7ed;color:#9a3412;border:1px solid #fdba74}.perm-desc{font-size:12px;color:#6b7280;line-height:1.4}.no-selection{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:16px}.rpe-loading,.rpe-error{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;font-size:16px}.rpe-error{color:#dc2626}@media (max-width: 900px){.rpe-container{grid-template-columns:1fr}.rpe-roles-panel{max-height:250px}}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{color:#0f172a;margin-top:0}label{display:block;font-weight:500;color:#334155;margin-bottom:.5rem}input,select,textarea{display:block;width:100%;padding:.75rem;font-family:inherit;font-size:.95rem;color:#0f172a;background-color:#fff;border:1px solid #cbd5e1;border-radius:.375rem;outline:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input:focus,select:focus,textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf826}input::placeholder{color:#94a3b8}button{font-family:inherit;font-size:100%;line-height:1.15;margin:0;text-transform:none}a{color:#3b82f6;text-decoration:none}a:hover{text-decoration:underline}#root{width:100%;isolation:isolate}@keyframes molecule-pulse{0%{background-color:#f1f5f9;opacity:1}to{background-color:#e2e8f0;opacity:.6}}
