.app-dialog { width: min(460px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 24px; border: 1px solid var(--line-strong); border-radius: 20px; background: var(--surface-1, var(--surface)); color: var(--text-primary, var(--text)); font: inherit; box-shadow: 0 20px 70px rgb(0 0 0 / 25%); }
.app-dialog::backdrop { background: var(--overlay, rgb(0 0 0 / 50%)); backdrop-filter: blur(3px); }
.app-dialog form { margin: 0; padding: 0; }
.app-dialog h2 { margin: 0 0 12px; font-size: 21px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.app-dialog p { max-height: min(360px, 50dvh); overflow: auto; margin: 0; color: var(--text-muted, var(--muted)); font-size: 14px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
.app-dialog__field { display: grid; gap: 8px; margin-top: 16px; font-size: 13px; }
.app-dialog [hidden] { display: none; }
.app-dialog__field input { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: transparent; color: inherit; font: inherit; }
.app-dialog footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.app-dialog button { min-height: 40px; padding: 9px 16px; border: 1px solid var(--line-strong); border-radius: 9px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.app-dialog button:hover { background: var(--surface-hover, var(--surface)); }
.app-dialog .app-dialog__confirm { border-color: var(--brass-line, var(--gold)); background: var(--brass-wash); }
.app-dialog__confirm[data-danger="true"] { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 35%, transparent); background: color-mix(in srgb, var(--danger) 8%, transparent); }
.app-dialog :is(button, input):focus-visible { outline: 2px solid var(--brass, var(--gold)); outline-offset: 3px; }
