.roles-permissions-panel{--rp-blue:#075c87;--rp-teal:#12b8aa;--rp-ink:#252232;--rp-line:#e7e1ec;--rp-soft:#f8f7fb}
.roles-permissions-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.roles-owner-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid #c9dfe8;border-radius:999px;background:#eef9fb;color:var(--rp-blue);font-size:12px;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.role-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 18px;padding:6px;border-radius:18px;background:#edf7fa}
.role-tabs button{appearance:none;border:1px solid transparent;border-radius:14px;background:transparent;padding:15px 18px;text-align:left;color:#625c6a;cursor:pointer;transition:.16s ease}
.role-tabs button:hover{background:rgba(255,255,255,.68)}
.role-tabs button.active{border-color:#cfe2e9;background:#fff;box-shadow:0 7px 18px rgba(29,68,87,.1);color:var(--rp-blue)}
.role-tabs span,.role-tabs small{display:block}.role-tabs span{font-size:16px;font-weight:850}.role-tabs small{margin-top:4px;font-size:12px;color:#817b88}
.role-permission-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:0 3px}
.role-permission-context div span{display:block;margin-top:3px;color:#77717e;font-size:13px}.role-permission-context>span{color:var(--rp-blue);font-size:12px;font-weight:800}
.role-permission-groups{display:grid;gap:14px}
.role-permission-group{overflow:hidden;border:1px solid var(--rp-line);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(42,33,50,.045)}
.role-permission-group>header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--rp-line);background:linear-gradient(90deg,#fbfeff,#fff)}
.role-permission-group-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e7f8fa;color:var(--rp-blue);font-weight:900}
.role-permission-group header div{min-width:0}.role-permission-group h4{margin:0;color:var(--rp-ink);font-size:16px}.role-permission-group header p{margin:4px 0 0;color:#7b7582;font-size:12px}
.role-permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.role-permission-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:14px 20px;border-bottom:1px solid #eeeaf1}
.role-permission-row:nth-child(odd){border-right:1px solid #eeeaf1}.role-permission-row:last-child,.role-permission-row:nth-last-child(2):nth-child(odd){border-bottom:0}
.role-permission-row strong,.role-permission-row small{display:block}.role-permission-row strong{color:#302c38;font-size:13px}.role-permission-row small{margin-top:4px;color:#817b87;font-size:11px;line-height:1.35}
.role-permission-row.protected strong:after{content:"Owner review";display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#fff1ef;color:#ac2f2f;font-size:9px;vertical-align:1px}
.permission-switch{position:relative;width:46px;height:26px;flex:0 0 auto}.permission-switch input{position:absolute;opacity:0;pointer-events:none}.permission-switch span{display:block;width:100%;height:100%;border-radius:999px;background:#d6d1da;box-shadow:inset 0 0 0 1px rgba(40,30,50,.08);transition:.16s ease;cursor:pointer}.permission-switch span:after{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.16s ease}.permission-switch input:checked+span{background:var(--rp-teal)}.permission-switch input:checked+span:after{transform:translateX(20px)}.permission-switch input:disabled+span{cursor:not-allowed;opacity:.66}.permission-switch input:focus-visible+span{outline:3px solid rgba(7,92,135,.22);outline-offset:2px}
.role-permission-actions{display:flex;align-items:center;gap:12px;margin-top:18px}.role-permission-actions #rolesPermissionsStatus{margin-left:auto;color:#4f6d52;font-size:12px;font-weight:750}
.role-exceptions-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:22px;padding:20px;border:1px solid #cee4e9;border-radius:18px;background:#eefbfd}
.role-exceptions-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff;color:var(--rp-blue)}.role-exceptions-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.role-exceptions-card strong{color:var(--rp-ink)}.role-exceptions-card p{margin:4px 0 0;color:#716b78;font-size:12px;line-height:1.45}
.profile-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:520px;overflow:auto}.profile-permission-card{min-height:72px}
@media(max-width:900px){.role-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.role-permission-list{grid-template-columns:1fr}.role-permission-row:nth-child(odd){border-right:0}.role-permission-row:nth-last-child(2):nth-child(odd){border-bottom:1px solid #eeeaf1}.role-exceptions-card{grid-template-columns:auto 1fr}.role-exceptions-card button{grid-column:1/-1}.profile-permission-grid{grid-template-columns:1fr!important}}
@media(max-width:620px){.roles-permissions-head,.role-permission-context,.role-permission-actions{align-items:stretch;flex-direction:column}.role-tabs{grid-template-columns:1fr}.role-permission-actions #rolesPermissionsStatus{margin-left:0}.role-permission-row{padding:13px 15px}.roles-owner-badge{align-self:flex-start}}
