.permissions-layout[data-v-945d481e]{display:flex;gap:0;min-height:500px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.permissions-sidebar[data-v-945d481e]{width:240px;min-width:240px;background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column}.sidebar-header[data-v-945d481e]{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;font-weight:600;font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.sidebar-header-icon[data-v-945d481e]{font-size:.9rem;color:#94a3b8}.sidebar-nav[data-v-945d481e]{display:flex;flex-direction:column;padding:0 8px 16px;gap:2px}.sidebar-item[data-v-945d481e]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:none;border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:.9rem;color:#475569;text-align:left;width:100%}.sidebar-item[data-v-945d481e]:hover{background:#e2e8f0;color:#0f172a}.sidebar-item--active[data-v-945d481e]{background:#0891b2;color:#fff;font-weight:500}.sidebar-item--active[data-v-945d481e]:hover{background:#0e7490;color:#fff}.sidebar-item--active .sidebar-item-icon[data-v-945d481e]{color:#fff}.sidebar-item-icon[data-v-945d481e]{width:18px;text-align:center;font-size:.95rem;color:#94a3b8;transition:color .15s ease}.sidebar-item-label[data-v-945d481e]{flex:1}.sidebar-badge[data-v-945d481e]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#fbbf24;color:#78350f;font-size:.7rem;font-weight:700}.sidebar-item--active .sidebar-badge[data-v-945d481e]{background:hsla(0,0%,100%,.25);color:#fff}.permissions-main[data-v-945d481e]{flex:1;display:flex;flex-direction:column;min-width:0}.group-header[data-v-945d481e]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0}.group-header-info[data-v-945d481e]{display:flex;align-items:center;gap:14px}.group-header-icon[data-v-945d481e]{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ecfeff;color:#0891b2;font-size:1.15rem}.group-title[data-v-945d481e]{font-size:1.1rem;font-weight:600;color:#0f172a;margin:0}.group-subtitle[data-v-945d481e]{font-size:.8rem;color:#94a3b8;margin:4px 0 0}.matrix-container[data-v-945d481e]{flex:1;overflow-x:auto;padding:0}.matrix-table[data-v-945d481e]{width:100%;border-collapse:collapse}.matrix-th-label[data-v-945d481e]{text-align:left;padding:12px 24px;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0;background:#f8fafc;min-width:220px}.matrix-th-role[data-v-945d481e]{text-align:center;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;min-width:120px}.role-badge[data-v-945d481e]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;background:#0891b2;color:#fff;font-size:.8rem;font-weight:500}.role-badge-icon[data-v-945d481e]{font-size:.75rem;color:#fff}.matrix-row[data-v-945d481e]{transition:background .1s ease}.matrix-row[data-v-945d481e]:hover{background:#f8fafc}.matrix-row--select-all[data-v-945d481e]{background:#f1f5f9}.matrix-row--select-all[data-v-945d481e]:hover{background:#e8edf2}.matrix-row--modified[data-v-945d481e]{background:#fefce8}.matrix-row--modified[data-v-945d481e]:hover{background:#fef9c3}.matrix-cell-label[data-v-945d481e]{padding:10px 24px;font-size:.875rem;color:#334155;border-bottom:1px solid #f1f5f9}.select-all-label[data-v-945d481e]{font-weight:600;font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.matrix-cell-toggle[data-v-945d481e]{text-align:center;padding:10px 16px;border-bottom:1px solid #f1f5f9}.toggle[data-v-945d481e]{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0}.toggle input[data-v-945d481e]{display:none}.toggle-slider[data-v-945d481e]{position:relative;width:36px;height:20px;background:#cbd5e1;border-radius:20px;transition:all .2s ease}.toggle-slider[data-v-945d481e]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.15)}.toggle input:checked+.toggle-slider[data-v-945d481e]{background:#0891b2}.toggle input:checked+.toggle-slider[data-v-945d481e]:after{transform:translateX(16px)}.toggle input:disabled+.toggle-slider[data-v-945d481e]{opacity:.5;cursor:not-allowed}.toggle:hover .toggle-slider[data-v-945d481e]{background:#94a3b8}.toggle:hover input:checked+.toggle-slider[data-v-945d481e]{background:#0e7490}.empty-state[data-v-945d481e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:12px}.empty-state-icon[data-v-945d481e]{font-size:2.5rem}.permissions-footer[data-v-945d481e]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc;margin-top:auto}.changes-indicator[data-v-945d481e]{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:#fef3c7;color:#92400e;font-size:.8rem;font-weight:500}.btn-save[data-v-945d481e]{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:none;border-radius:8px;background:#0891b2;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-save[data-v-945d481e]:hover:not(:disabled){background:#0e7490;box-shadow:0 4px 12px rgba(8,145,178,.3)}.btn-save[data-v-945d481e]:disabled{opacity:.5;cursor:not-allowed}.btn-save-icon[data-v-945d481e]{font-size:.85rem;color:#fff}@media (max-width:768px){.permissions-layout[data-v-945d481e]{flex-direction:column;min-height:auto}.permissions-sidebar[data-v-945d481e]{width:100%;min-width:100%;border-right:none;border-bottom:1px solid #e2e8f0}.sidebar-nav[data-v-945d481e]{flex-direction:row;overflow-x:auto;padding:0 8px 12px;gap:4px;-webkit-overflow-scrolling:touch}.sidebar-item[data-v-945d481e]{white-space:nowrap;padding:8px 14px;min-width:-moz-fit-content;min-width:fit-content}.sidebar-badge[data-v-945d481e]{min-width:18px;height:18px;font-size:.65rem}.group-header[data-v-945d481e]{padding:16px}.matrix-cell-label[data-v-945d481e]{padding:10px 16px}.matrix-th-label[data-v-945d481e]{padding:12px 16px;min-width:160px}.matrix-th-role[data-v-945d481e]{padding:12px 10px;min-width:100px}.permissions-footer[data-v-945d481e]{padding:12px 16px}}.permissions-v2[data-v-49459159]{width:100%;padding:24px 32px 48px;font-family:var(--v2-font-sans);color:var(--v2-text-2)}.tbv2-page-title[data-v-49459159]{font-size:.95rem;font-weight:var(--v2-font-weight-semibold);color:var(--v2-text-1);letter-spacing:-.005em}.permissions-hero[data-v-49459159]{margin-bottom:var(--v2-space-5)}.permissions-hero-title[data-v-49459159]{margin:0 0 6px;font-size:1.75rem;font-weight:var(--v2-font-weight-bold);color:var(--v2-text-1);letter-spacing:-.02em;line-height:1.15}.permissions-hero-sub[data-v-49459159]{margin:0;font-size:var(--v2-text-sm-size);color:var(--v2-text-3);line-height:1.5;max-width:820px}.permissions-card[data-v-49459159]{background:var(--v2-surface-0);border:1px solid var(--v2-border);border-radius:var(--v2-radius-lg);overflow:hidden;position:relative;min-height:240px}.permissions-state[data-v-49459159]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--v2-space-3);padding:var(--v2-space-6) var(--v2-space-5);text-align:center;color:var(--v2-text-3)}.permissions-state--error i[data-v-49459159]{font-size:1.75rem;color:var(--v2-warning)}.permissions-state p[data-v-49459159]{margin:0;font-size:var(--v2-text-sm-size)}.permissions-retry-btn[data-v-49459159]{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--v2-radius-md);background:var(--v2-primary);color:#fff;font-size:var(--v2-text-xs-size);font-weight:var(--v2-font-weight-semibold);border:none;cursor:pointer;transition:background var(--v2-transition-fast)}.permissions-retry-btn[data-v-49459159]:hover{background:var(--v2-primary-hover,#0e7490)}@media (max-width:900px){.permissions-v2[data-v-49459159]{padding:16px 18px 32px}.permissions-hero-title[data-v-49459159]{font-size:1.375rem}}