/* Configure & Own shared application dialog service. */
.app-dialog-layer[hidden] { display: none; }
.app-dialog-layer { position: fixed; inset: 0; z-index: 24000; display: grid; place-items: center; padding: 20px; background: rgba(16,18,24,.58); backdrop-filter: blur(5px); }
.app-dialog-card { position: relative; width: min(100%, 500px); padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--text); box-shadow: 0 22px 70px rgba(0,0,0,.24); }
.app-dialog-card .eyebrow { display: inline-block; margin-bottom: 6px; }
.app-dialog-card h2 { margin: 4px 42px 8px 0; font-size: 1.45rem; letter-spacing: -.025em; }
.app-dialog-message { margin: 0 0 18px; color: var(--muted); line-height: 1.58; white-space: pre-line; }
.app-dialog-close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 9px; background: var(--surface-2); color: var(--text); font: inherit; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.app-dialog-close:hover { background: #e6eaf1; }
.app-dialog-close:focus-visible { outline: 3px solid rgba(31,94,255,.22); outline-offset: 2px; }
.app-dialog-field { display: grid; gap: 7px; margin: 2px 0 18px; font-size: .86rem; font-weight: 800; }
.app-dialog-field[hidden] { display: none; }
.app-dialog-field input { width: 100%; height: 44px; border: 1px solid var(--line); border-radius: 10px; padding: 0 12px; font: inherit; color: var(--text); background: #fff; }
.app-dialog-field input:focus { outline: 3px solid rgba(31,94,255,.18); border-color: var(--accent); }
.app-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.app-dialog-layer[data-tone="warning"] .app-dialog-eyebrow { color: #9a5b08; }
.app-dialog-layer[data-tone="danger"] .app-dialog-eyebrow { color: #b42318; }
.app-dialog-layer[data-tone="danger"] [data-app-dialog-confirm] { background: #b42318; border-color: #b42318; }
body.modal-open { overflow: hidden; }
@media (max-width: 520px) {
  .app-dialog-layer { align-items: end; padding: 10px; }
  .app-dialog-card { width: 100%; border-radius: 18px 18px 12px 12px; padding: 20px; }
  .app-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .app-dialog-actions .button { width: 100%; }
  .app-dialog-actions [data-app-dialog-cancel][hidden] + .button { grid-column: 1 / -1; }
}
