.gp-role-panel{color:var(--text-primary-light,var(--gp-ink,#18283e));font-size:14px!important}
.gp-role-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.gp-role-panel h2{font-size:22px!important;margin:0}
.gp-role-panel h3{font-size:16px!important;margin:0 0 8px}
.gp-role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gp-role-card{padding:24px;background:var(--white,var(--gp-card,#fff));border:1px solid var(--border-color,var(--gp-border,#ddd));border-radius:16px}
.gp-role-card ul{list-style:disc;padding-left:20px;margin-top:18px}
.gp-role-card li{padding:4px 0;font-size:13px!important}
.gp-role-panel .gp-role-muted,.gp-role-panel small{font-size:12px!important;color:var(--text-secondary-light,var(--gp-muted,#64748b))}
.gp-role-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid var(--border-color,var(--gp-border,#ddd));border-radius:16px;background:var(--white,var(--gp-card,#fff));color:inherit}
.gp-role-dialog:not([open]){display:none}
.gp-role-dialog::backdrop{background:#101827aa;backdrop-filter:blur(3px)}
.gp-role-dialog .gp-form{display:grid;grid-template-columns:1fr;gap:18px}
.gp-role-dialog label{margin:0}
.gp-role-dialog fieldset{border:1px solid var(--border-color,var(--gp-border,#ddd));border-radius:12px;padding:18px;min-width:0}
.gp-role-dialog legend{float:none;width:auto;font-size:15px!important;padding:0 6px}
.gp-role-panel .gp-role-dialog .gp-permission{display:flex;flex-direction:row;gap:12px;align-items:flex-start;padding:10px 0;font-size:14px!important;cursor:pointer}
.gp-role-panel .gp-role-dialog .gp-permission input{appearance:auto;flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:3px 0 0;accent-color:#487fff;border:1px solid #94a3b8}
.gp-role-panel .gp-permission small{display:block;margin-top:4px;line-height:1.6}
.gp-role-group{padding:12px 0}
.gp-role-delete{padding:16px;margin-top:24px;border:1px solid #dc262655;border-radius:10px}
.gp-role-delete summary{cursor:pointer;font-weight:600}
.gp-role-panel .gp-button{display:inline-flex;padding:10px 16px;background:#487fff;color:#fff;border-radius:9px;text-decoration:none;font-size:14px!important}
body:has(.gp-role-dialog[open]){overflow:hidden}
@media(max-width:760px){.gp-role-list{grid-template-columns:1fr}.gp-role-head{align-items:flex-start;flex-direction:column}.gp-role-dialog{padding:18px}.gp-role-dialog fieldset{padding:12px}}
