.ar-dialog { width: min(1080px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid var(--reference-line, #294156); border-radius: 18px; color: #e8f3ff; background: #091323; box-shadow: 0 28px 100px #0009; }
.ar-dialog::backdrop { background: #010713bc; backdrop-filter: blur(5px); }
.ar-header { display: flex; justify-content: space-between; gap: 20px; padding: 22px 26px 16px; border-bottom: 1px solid var(--reference-line, #294156); position: sticky; top: 0; z-index: 2; background: #091323; }
.ar-header h2 { margin: 4px 0 0; font-size: 22px; }
.ar-header .auth-kicker { margin: 0; color: var(--reference-cyan, #23d7ff); font-size: 11px; letter-spacing: .12em; }
.ar-body { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 24px; padding: 22px 26px 26px; }
.ar-sidebar, .ar-list { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.ar-list { margin: 9px 0; }
.ar-role { width: 100%; text-align: left; padding: 13px; border: 1px solid #21364d; border-radius: 10px; color: #aec2d8; background: #0c192b; font: inherit; overflow-wrap: anywhere; }
.ar-role[aria-pressed=true] { border-color: var(--reference-cyan, #23d7ff); background: #102d40; color: #e8f3ff; }
.ar-role strong, .ar-role small { display: block; } .ar-role small { margin-top: 6px; font-size: 11px; color: #9cb3cb; }
.ar-form { min-width: 0; } .ar-form-title, .ar-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ar-form-title h3 { margin: 0; font-size: 18px; overflow-wrap: anywhere; }
.ar-hint { color: #9cb3cb; font-size: 12px; line-height: 1.55; margin: 12px 0 16px; }
.ar-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.ar-fields > label { display: block; margin-bottom: 14px; } .ar-fields > label > span { display: block; margin-bottom: 6px; color: #aec2d8; font-size: 12px; }
.ar-fields input:not([type=checkbox]) { width: 100%; box-sizing: border-box; min-height: 40px; padding: 9px 11px; border: 1px solid #28415b; border-radius: 8px; background: #0d1c30; color: #e8f3ff; font: inherit; font-size: 13px; }
.ar-group { margin: 18px 0 0; padding: 12px; min-width: 0; border: 1px solid #21364d; border-radius: 10px; }
.ar-group legend { padding: 0 6px; color: var(--reference-cyan, #23d7ff); font-size: 13px; }
.ar-permission { display: flex; align-items: start; gap: 10px; padding: 8px 0; cursor: pointer; }
.ar-permission input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--reference-cyan, #23d7ff); }
.ar-permission strong, .ar-permission small { display: block; font-size: 13px; line-height: 1.45; }
.ar-permission small { color: #9cb3cb; font-size: 11px; margin-top: 3px; }
.ar-message { padding: 0 26px; color: #84dec4; font-size: 13px; overflow-wrap: anywhere; } .ar-message:empty { display: none; } .ar-message.is-error { color: #ffb9b9; }
.ar-actions { justify-content: flex-start; margin-top: 18px; } .ar-actions small { color: #9cb3cb; font-size: 11px; }
.ar-confirm { border: 1px solid #856257; border-radius: 9px; padding: 12px; margin-top: 15px; font-size: 13px; } .ar-confirm[hidden] { display: none; }
.ar-dialog button { cursor: pointer; } .ar-dialog button:disabled, .ar-dialog input:disabled { opacity: .5; cursor: default; }
.ar-dialog .project-secondary-button { font-size: 12px; line-height: 1.35; padding: 9px 12px; }
.ar-dialog :focus-visible { outline: 2px solid var(--reference-cyan, #23d7ff); outline-offset: 3px; }
#accessRolesOpen { margin: 4px 0 12px; }
@media (max-width: 650px) { .ar-body { grid-template-columns: 1fr; padding: 16px; gap: 18px; } .ar-header { padding: 17px 16px; } .ar-message { padding: 0 16px; } .ar-list { flex-direction: row; overflow-x: auto; padding-bottom: 5px; } .ar-role { flex: 0 0 210px; padding: 10px; } }

[data-access-hidden] { display: none !important; }
[data-access-disabled] { pointer-events: none; opacity: .55; }
