.role-editor-section[data-v-a1e269c2]{border:1px solid var(--app-border);background:color-mix(in srgb,var(--app-surface-solid) 88%,transparent);border-radius:1rem;min-width:0;padding:1rem}.role-editor-section__heading[data-v-a1e269c2]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.role-editor-section__heading--compact[data-v-a1e269c2]{margin-bottom:.875rem}.role-editor-section__title[data-v-a1e269c2]{color:var(--app-heading);letter-spacing:-.01em;font-size:.9375rem;font-weight:700}.role-editor-section__description[data-v-a1e269c2]{color:var(--app-text-muted);margin-top:.2rem;font-size:.75rem;line-height:1.35rem}.role-editor-label[data-v-a1e269c2]{color:var(--app-heading);margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.role-editor-error[data-v-a1e269c2]{color:var(--color-error-600,#dc2626);font-size:.75rem}.role-editor-hint[data-v-a1e269c2]{color:var(--app-text-muted);margin-top:.35rem;font-size:.6875rem}.role-editor-count[data-v-a1e269c2],.role-editor-eyebrow[data-v-a1e269c2]{color:var(--app-accent-label);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.role-editor-count[data-v-a1e269c2]{border:1px solid color-mix(in srgb,var(--color-datalyse-500) 30%,transparent);background:color-mix(in srgb,var(--color-datalyse-500) 9%,transparent);letter-spacing:.03em;text-transform:none;border-radius:9999px;flex:none;padding:.35rem .55rem}.role-editor-preview[data-v-a1e269c2]{border:1px solid color-mix(in srgb,var(--color-datalyse-500) 32%,var(--app-border));background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-datalyse-500) 13%,transparent),transparent 52%),var(--app-surface-solid);border-radius:1rem;padding:1rem}.role-editor-note[data-v-a1e269c2]{background:color-mix(in srgb,var(--color-datalyse-500) 10%,transparent);color:var(--app-text-muted);border-radius:.75rem;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;font-size:.75rem;line-height:1.25rem;display:flex}.role-editor-note--error[data-v-a1e269c2]{background:color-mix(in srgb,var(--color-error-500,#ef4444) 10%,transparent)}.role-editor-mode[data-v-a1e269c2]{border:1px solid var(--app-border);text-align:left;background:0 0;border-radius:.875rem;align-items:center;gap:.75rem;padding:.8rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.role-editor-mode[data-v-a1e269c2]:hover{border-color:var(--app-border-strong);background:var(--app-surface-muted)}.role-editor-mode[data-v-a1e269c2]:disabled{cursor:not-allowed;opacity:.55}.role-editor-mode[data-v-a1e269c2]:disabled:hover{border-color:var(--app-border);background:0 0}.role-editor-mode--selected[data-v-a1e269c2]{border-color:color-mix(in srgb,var(--color-datalyse-600) 48%,transparent);background:color-mix(in srgb,var(--color-datalyse-500) 9%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-datalyse-500) 10%,transparent)}.role-editor-mode__icon[data-v-a1e269c2]{background:var(--app-surface-muted);width:2.25rem;height:2.25rem;color:var(--app-text-muted);border-radius:.75rem;flex:none;justify-content:center;align-items:center;display:inline-flex}.role-editor-mode--selected .role-editor-mode__icon[data-v-a1e269c2]{background:color-mix(in srgb,var(--color-datalyse-500) 17%,transparent);color:var(--app-accent-label)}.role-editor-select[data-v-a1e269c2]{border:1px solid var(--app-border);background:var(--app-surface-solid);width:100%;height:2.5rem;color:var(--app-heading);border-radius:.75rem;padding:0 2.25rem 0 .75rem;font-size:.8125rem}.role-editor-select[data-v-a1e269c2]:focus{border-color:color-mix(in srgb,var(--color-datalyse-600) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-datalyse-500) 14%,transparent);outline:none}.role-editor-permissions[data-v-a1e269c2]{gap:.75rem;max-height:22rem;padding-right:.25rem;display:grid;overflow-y:auto}.role-editor-permission-group[data-v-a1e269c2]{border:1px solid var(--app-border);border-radius:.875rem;min-width:0;padding:.75rem}.role-editor-permission-group__title[data-v-a1e269c2]{color:var(--app-heading);padding:0 .25rem;font-size:.75rem;font-weight:700}.role-editor-permission[data-v-a1e269c2]{color:var(--app-text-muted);cursor:pointer;border-radius:.625rem;align-items:flex-start;gap:.55rem;padding:.45rem .5rem;font-size:.75rem;line-height:1.15rem;transition:background .15s,color .15s;display:flex}.role-editor-permission[data-v-a1e269c2]:hover{background:var(--app-surface-muted);color:var(--app-heading)}.role-editor-permission--readonly[data-v-a1e269c2]{cursor:default}.role-editor-permission--readonly[data-v-a1e269c2]:hover{color:var(--app-text-muted);background:0 0}.role-editor-checkbox[data-v-a1e269c2]{border:1px solid var(--app-border-strong);width:.9rem;height:.9rem;accent-color:var(--color-datalyse-600);border-radius:.25rem;flex:none;margin-top:.08rem}.role-editor-icon-option[data-v-a1e269c2]{border:1px solid var(--app-border);width:2rem;height:2rem;color:var(--app-text-muted);background:0 0;border-radius:.625rem;justify-content:center;align-items:center;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.role-editor-icon-option[data-v-a1e269c2]:hover{border-color:var(--app-border-strong);color:var(--app-heading);transform:translateY(-1px)}.role-editor-icon-option--selected[data-v-a1e269c2]{border-color:color-mix(in srgb,var(--color-datalyse-600) 55%,transparent);background:color-mix(in srgb,var(--color-datalyse-500) 13%,transparent);color:var(--app-accent-label);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-datalyse-500) 12%,transparent)}.role-editor-color-option[data-v-a1e269c2]{background:var(--swatch);border:2px solid #0000;border-radius:9999px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:box-shadow .15s,transform .15s;display:inline-flex}.role-editor-color-option[data-v-a1e269c2]:hover{transform:scale(1.08)}.role-editor-color-option--selected[data-v-a1e269c2]{box-shadow:0 0 0 2px var(--app-surface-solid),0 0 0 4px var(--swatch)}@media (width>=40rem){.role-editor-permissions[data-v-a1e269c2]{grid-template-columns:repeat(2,minmax(0,1fr))}}.role-grid[data-v-f5bc2bfa]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;display:grid}.role-card[data-v-f5bc2bfa]{border:1px solid var(--app-border);border-radius:var(--app-radius-panel);background:var(--app-surface);-webkit-backdrop-filter:blur(18px)saturate(120%);flex-direction:column;min-height:11rem;padding:1rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 12px 34px #01183a0d}.role-card[data-v-f5bc2bfa]:focus-within,.role-card[data-v-f5bc2bfa]:hover{border-color:var(--app-border-strong);box-shadow:var(--app-shadow-soft);transform:translateY(-1px)}.role-card__header[data-v-f5bc2bfa]{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.role-card__icon[data-v-f5bc2bfa]{border-radius:.75rem;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.role-card__title[data-v-f5bc2bfa]{color:var(--app-heading);font-size:.9375rem;font-weight:700;line-height:1.25}.role-card__slug[data-v-f5bc2bfa],.role-card__title[data-v-f5bc2bfa]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-card__slug[data-v-f5bc2bfa]{color:var(--app-text-muted);margin-top:.125rem;font-size:.6875rem;display:block}.role-card__badges[data-v-f5bc2bfa]{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.25rem;display:flex}.role-card__description[data-v-f5bc2bfa]{min-height:2.5rem;color:var(--app-text-muted);margin-top:.875rem;font-size:.8125rem;line-height:1.45}.role-card__footer[data-v-f5bc2bfa]{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:.75rem;display:flex}.role-card__permission-count[data-v-f5bc2bfa]{color:var(--app-text-muted);font-size:.75rem;font-weight:600}.role-card__actions[data-v-f5bc2bfa]{opacity:0;align-items:center;gap:.125rem;transition:opacity .15s,transform .15s;display:flex;transform:translate(.25rem)}.role-card:focus-within .role-card__actions[data-v-f5bc2bfa],.role-card:hover .role-card__actions[data-v-f5bc2bfa]{opacity:1;transform:translate(0)}@media (width<=1099px){.role-grid[data-v-f5bc2bfa]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.role-grid[data-v-f5bc2bfa]{grid-template-columns:1fr}}@media (hover:none){.role-card__actions[data-v-f5bc2bfa]{opacity:1;transform:none}}
