/* Only the existing announcements feature's new grant/recipient dialog content. */
.au-dialog.an-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;overscroll-behavior:contain}
.an-dialog>.au-body{padding:0}.an-dialog>header>div{min-width:0}
.an-dialog>header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}.an-dialog>header>[data-an-back]{grid-column:1;grid-row:1}.an-dialog>header>div{grid-column:2;grid-row:1}.an-dialog>header>[data-close]{grid-column:3;grid-row:1;position:static}
.an-dialog>header{display:grid;align-items:center;gap:10px;padding:16px;background:var(--av-surface-1);position:sticky;top:0;z-index:5}
.an-dialog>header h2{flex:1;min-width:0;font-size:20px;line-height:1.25;overflow-wrap:anywhere;margin:0}
.an-body{padding:0 16px 16px;color:var(--av-text-primary);font:14px/1.5 var(--av-font-sans)}
.an-body h3{font-size:15px;margin:12px 0 8px}.an-person{font-size:15px;font-weight:650;overflow-wrap:anywhere}
.an-base,.an-preview{padding:14px;border-radius:16px;background:var(--av-well);box-shadow:var(--av-shadow-well);margin:12px 0}
.an-base p{font-size:12px;line-height:1.5;color:var(--av-text-secondary);margin:4px 0 0}
.an-note{font-size:12px;line-height:1.5;color:var(--av-text-secondary);margin:10px 0}.an-warning{padding:12px;border-radius:13px;background:var(--av-warning-soft);color:var(--av-warning);font-size:12px;line-height:1.5}
.an-dialog .an-check{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 4px;margin:0;line-height:1.4;color:var(--av-text-primary);font-size:13px;cursor:pointer;text-transform:none;letter-spacing:0}
.an-dialog .an-check>input[type=checkbox]{appearance:auto;flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--av-accent-strong)}
.an-check span{min-width:0;overflow-wrap:anywhere}.an-check b{font-size:13px}.an-check small{display:block;color:var(--av-text-secondary);font-size:11px;margin-top:4px}
.an-dialog .an-grant{padding:12px;border-radius:14px;background:var(--av-card-bg);box-shadow:var(--av-shadow-card);margin:8px 0}
.an-grant:has(input:checked){background:var(--av-selected-bg)}.an-grant:has(input:focus-visible){outline:2px solid var(--av-accent);outline-offset:2px}
.an-section{margin:16px 0}.an-scope{margin:12px 0;padding:12px;border-radius:16px;background:var(--av-surface-2);border:1px solid var(--av-border-subtle)}
.an-scope>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;position:static;padding:0;background:transparent}
.an-dialog .an-text{border:0;background:transparent;box-shadow:none;color:var(--av-text-secondary);min-height:40px;padding:8px;font:inherit;font-size:12px;cursor:pointer}
.an-filter{margin:8px 0;padding:10px;border-radius:12px;background:var(--av-well)}.an-filter>summary{font-size:13px;font-weight:650;cursor:pointer;min-height:30px;line-height:1.5}
.an-values{max-height:220px;overflow:auto;overscroll-behavior:contain;padding:4px 0}.an-values .an-check{border-bottom:1px solid var(--av-divider)}.an-values .an-check[hidden]{display:none}
.an-search{width:100%;min-width:0;min-height:44px;box-sizing:border-box;font:inherit;font-size:14px;border:0;border-radius:12px;padding:10px 12px;background:var(--av-well);color:var(--av-text-primary);box-shadow:var(--av-shadow-well)}
.an-preview details{font-size:12px;margin-top:8px}.an-preview ul{max-height:200px;overflow:auto;padding-left:18px;font-size:12px}.an-preview li{padding:4px 0;overflow-wrap:anywhere}
.an-error{color:var(--av-danger);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.an-error:empty{display:none}
.an-actions{position:sticky;bottom:0;background:var(--av-surface-1);display:flex;gap:8px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));z-index:4}
.an-actions>button{flex:1;min-width:0;min-height:44px;padding:10px;font:650 13px/1.4 var(--av-font-sans);white-space:normal}
.an-dialog .av-control{border:0;background:var(--av-control-bg);box-shadow:var(--av-shadow-control);color:var(--av-text-primary);border-radius:12px;cursor:pointer;transition:transform var(--av-motion-fast),box-shadow var(--av-motion-fast)}
.an-dialog .av-control.av-primary{background:var(--av-primary-gradient);box-shadow:var(--av-shadow-primary);color:var(--av-primary-ink)}
.an-dialog .av-control:active{transform:translateY(1px);box-shadow:var(--av-shadow-pressed)}
.an-dialog :is(button,input,summary):focus-visible{outline:2px solid var(--av-focus);outline-offset:2px}
.an-dialog .an-rule-tab{min-height:44px}.an-dialog .an-text{min-height:44px}.an-dialog .an-filter>summary{min-height:44px;display:list-item;align-content:center}
.an-recipient-row>p{overflow-wrap:anywhere}.an-recipient-row>small{display:block;margin-bottom:10px;color:var(--av-text-secondary)}
.an-categories{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.an-categories>button{min-height:44px;padding:10px 12px;font:650 12px/1.35 var(--av-font-sans);white-space:normal}
.an-rule-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:4px;background:var(--av-well);border-radius:13px;margin:12px 0}
.an-dialog .an-rule-tab{min-height:40px;padding:8px;border:0;border-radius:9px;background:transparent;box-shadow:none;color:var(--av-text-secondary);font:650 12px/1.3 var(--av-font-sans);cursor:pointer}
.an-dialog .an-rule-tab.is-on{background:var(--av-selected-bg);box-shadow:var(--av-shadow-control);color:var(--av-text-primary)}
.an-recipient-launch{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:12px 14px;min-height:48px;background:var(--av-control-bg);color:var(--av-text-primary);box-shadow:var(--av-shadow-control);border:0;border-radius:13px;text-align:left;font:650 13px/1.5 var(--av-font-sans);cursor:pointer}
.an-recipient-launch span{overflow-wrap:anywhere;min-width:0}.an-recipient-launch b{flex:none;font-size:12px;color:var(--av-accent)}
.an-permission-badge{display:block;font-size:11px;color:var(--av-text-secondary);margin:4px 0}
@media(max-width:430px){.au-dialog.an-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.an-dialog>header{padding:12px}.an-dialog>header h2{font-size:18px}.an-body{padding:0 12px 12px}.an-scope{padding:10px}.an-categories>button{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){.an-dialog :is(button,input){transition:none;animation:none}}
