/* Scoped role editor: preserve permission behavior while keeping controls aligned. */
.action-sheet.role-form-sheet{inset:0 0 0 auto;width:min(720px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border-radius:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:-18px 0 48px #0f172a30}
.role-form-sheet[hidden]{display:none}
.role-form-sheet>.sheet-handle{display:none}
.role-form-sheet>.sheet-header{flex:0 0 auto;margin:0;padding:24px;background:#1b304e;color:#fff;align-items:center;border-bottom:3px solid #285bff}
.role-form-sheet>.sheet-header .eyebrow{color:#b9d0f4;font-size:10px;letter-spacing:.12em;margin:0 0 5px}
.role-form-sheet>.sheet-header h2{color:#fff;font-size:23px;margin:0}
.role-form-sheet>.sheet-header button{background:#ffffff12;border:1px solid #ffffff30;color:#fff;border-radius:8px;width:38px;height:38px;min-height:38px}
.role-form-sheet .modern-entity-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px;background:var(--panel)}
.role-form-sheet .entity-form-section{flex:0 0 auto;padding:22px 0;gap:14px}
.role-form-sheet .entity-form-section-heading h3{font-size:15px}
.role-form-sheet .entity-form-section-heading .eyebrow{display:none}
.role-form-sheet .form-grid{display:grid;grid-template-columns:1fr;gap:12px}
.role-form-sheet .form-grid label{display:grid;gap:6px;font-size:12px;font-weight:650;color:var(--muted)}
.role-form-sheet :is(input:not([type=checkbox]),select){box-sizing:border-box;width:100%;min-width:0;min-height:38px;border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--field,var(--panel));color:var(--ink);font:inherit;font-size:13px}
.role-form-sheet .role-operator-mode-default{display:flex;align-items:center;gap:9px;padding:12px;border-radius:8px;background:var(--panel-alt);font-size:12px;margin:0}
.role-form-sheet input[type=checkbox]{width:16px;height:16px;flex:none;margin:0;accent-color:#285bff}
.role-form-sheet [data-role-template-provenance]{font-size:11px;color:var(--muted)}
.role-form-sheet .role-grant-editor{display:grid;gap:24px}
.role-form-sheet .role-grant-group{display:grid;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.role-form-sheet .role-grant-group h4{margin:0;padding:12px 14px;background:var(--panel-alt);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.role-form-sheet .role-grant-row.simple-role-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:7px 16px;margin:0;padding:13px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--panel)}
.role-form-sheet .role-grant-row:last-child{border-bottom:0}
.role-form-sheet .role-grant-row>span{display:grid;gap:4px}
.role-form-sheet .role-grant-row strong{font-size:13px;color:var(--ink)}
.role-form-sheet .role-grant-row small{font-size:11px;line-height:1.4;font-weight:400;color:var(--muted)}
.role-form-sheet .role-admin-toggle{grid-column:2;display:flex;align-items:center;gap:7px;margin:0;font-size:11px;justify-self:start}
.role-form-sheet .role-grant-row:has(>input[type=checkbox]){grid-template-columns:16px minmax(0,1fr);min-height:44px}
.role-form-sheet .role-access-preview:empty{display:none}
.role-form-sheet .modern-entity-form>.sheet-footer{flex:0 0 auto;position:sticky;bottom:0;margin:auto -24px 0;padding:14px 24px max(14px,env(safe-area-inset-bottom));display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);background:var(--panel);box-shadow:0 -6px 16px #0f172a06}
.role-form-sheet .sheet-footer button{width:auto;min-width:110px;min-height:40px;border-radius:7px;font-size:13px;padding:9px 20px}
.role-form-sheet .sheet-footer .primary-action{background:#285bff;color:#fff;border:1px solid #285bff}
.role-form-sheet :is(button,input,select):focus-visible{outline:2px solid #285bff;outline-offset:3px}
@media(max-width:540px){.role-form-sheet>.sheet-header{padding:18px}.role-form-sheet .modern-entity-form{padding:0 16px}.role-form-sheet .role-grant-row.simple-role-row{grid-template-columns:minmax(0,1fr) 132px;padding:12px;gap:8px}.role-form-sheet .role-grant-row:has(>input[type=checkbox]){grid-template-columns:18px minmax(0,1fr)}.role-form-sheet .role-grant-row small{font-size:10px}.role-form-sheet .modern-entity-form>.sheet-footer{margin:auto -16px 0;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.role-form-sheet .sheet-footer button{flex:1;min-height:44px}.role-form-sheet select{min-height:44px}}
.role-form-sheet .role-grant-editor{max-height:none;height:auto;overflow:visible;grid-template-rows:auto;align-content:start}
.role-form-sheet .role-grant-group{min-height:min-content;grid-auto-rows:auto}
