/* One shared, theme-aware top-layer surface for notices, confirmations and prompts. */
#app-dialog{
 --dialog-surface:var(--c-panel,#f7f9fc);--dialog-ink:var(--c-ink,#172d43);
 --dialog-muted:var(--c-muted,#52677b);--dialog-line:var(--c-line,#d7e2ec);
 --dialog-soft:var(--c-soft,#eaf1f8);--dialog-accent:#1763a6;
 position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100%;height:100dvh;
 max-height:none;margin:0;padding:24px;border:0;background:transparent;color:var(--dialog-ink);
 overflow:auto;overscroll-behavior:contain;z-index:10000;font:inherit;text-align:left
}
#app-dialog:not([open]){display:none}
#app-dialog[open]{display:grid;place-items:center}
#app-dialog[data-tone=success]{--dialog-accent:#13754f}
#app-dialog[data-tone=warning]{--dialog-accent:#985513}
#app-dialog[data-tone=error]{--dialog-accent:#b63744}
#app-dialog::backdrop{background:rgb(8 20 33 / 0);backdrop-filter:blur(0);transition:background 180ms ease,backdrop-filter 180ms ease}
#app-dialog.is-visible::backdrop{background:rgb(8 20 33 / .58);backdrop-filter:blur(5px)}
#app-dialog .app-dialog-card{
 position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:min(100%,520px);min-width:0;
 max-height:calc(100dvh - 48px);overflow:auto;padding:26px;border:1px solid var(--dialog-line);
 border-top:3px solid var(--dialog-accent);border-radius:20px;background:var(--dialog-surface);
 box-shadow:0 24px 80px rgb(8 20 33 / .24);opacity:0;transform:translateY(8px) scale(.975);
 transition:opacity 180ms ease,transform 180ms ease
}
#app-dialog.is-visible .app-dialog-card{opacity:1;transform:translateY(0) scale(1)}
#app-dialog .app-dialog-heading{display:flex;align-items:center;gap:14px;flex:none;margin:0 0 18px}
#app-dialog h2{flex:1;min-width:0;margin:0;padding:0;color:var(--dialog-ink);font:inherit;font-size:21px;font-weight:750;line-height:1.25;letter-spacing:-.025em;text-transform:none;overflow-wrap:anywhere}
#app-dialog .app-dialog-symbol{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;background:var(--dialog-soft);background:color-mix(in srgb,var(--dialog-accent) 11%,var(--dialog-surface));color:var(--dialog-accent)}
#app-dialog .app-dialog-symbol svg{width:25px;height:25px}
#app-dialog .app-dialog-dismiss{flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:10px}
#app-dialog .app-dialog-dismiss svg{width:18px;height:18px;pointer-events:none}
#app-dialog .app-dialog-message{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65;color:var(--dialog-muted)}
#app-dialog .app-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;flex-wrap:wrap;width:100%;margin-top:24px;padding-top:18px;border-top:1px solid var(--dialog-line)}
/* Only geometry is owned here. Primary, Secondary and Danger remain buttons.css variants. */
#app-dialog .app-dialog-button{flex:0 1 auto;min-width:90px;max-width:100%;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app-dialog .app-dialog-confirm{margin-inline-start:auto}
#app-dialog [hidden]{display:none!important}
#app-dialog.app-dialog-prompt .app-dialog-card{width:min(100%,440px);padding:20px}
#app-dialog.app-dialog-prompt h2{font-size:19px}
#app-dialog .app-dialog-field{display:grid;flex:none;gap:8px;margin-top:16px;color:var(--dialog-ink);font-size:13px;font-weight:700}
#app-dialog .app-dialog-input{box-sizing:border-box;width:100%;min-width:0;min-height:84px;max-height:180px;resize:vertical;padding:10px 12px;border:1px solid var(--dialog-line);border-radius:10px;background:var(--dialog-soft);color:var(--dialog-ink);font:inherit;font-size:14px;font-weight:400;line-height:1.5}
#app-dialog .app-dialog-input:focus-visible{outline:2px solid var(--dialog-accent);outline-offset:2px}
html[data-theme=dark] #app-dialog,html.dark #app-dialog{--dialog-surface:var(--c-panel,#102237);--dialog-ink:var(--c-ink,#edf5ff);--dialog-muted:var(--c-muted,#bbcddd);--dialog-line:var(--c-line,#35506b);--dialog-soft:var(--c-soft,#1a344c);--dialog-accent:#8bd7ff;color-scheme:dark}
html[data-theme=dark] #app-dialog[data-tone=success],html.dark #app-dialog[data-tone=success]{--dialog-accent:#78dbb2}
html[data-theme=dark] #app-dialog[data-tone=warning],html.dark #app-dialog[data-tone=warning]{--dialog-accent:#f6cf7a}
html[data-theme=dark] #app-dialog[data-tone=error],html.dark #app-dialog[data-tone=error]{--dialog-accent:#ffafbb}
/* Hide only after the bridge has safely queued a textual notice. No-JS stays legible. */
[data-vr-message-captured]{display:none!important}
@media(max-width:480px){#app-dialog{padding:14px}#app-dialog .app-dialog-card{padding:18px;max-height:calc(100dvh - 28px)}#app-dialog .app-dialog-heading{gap:10px}#app-dialog h2{font-size:19px}#app-dialog .app-dialog-symbol{flex-basis:40px;height:40px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){#app-dialog::backdrop,#app-dialog .app-dialog-card{transition:none;transform:none}}
@media(forced-colors:active){#app-dialog .app-dialog-card{background:Canvas;color:CanvasText;border:2px solid CanvasText;box-shadow:none}#app-dialog h2,#app-dialog .app-dialog-message,#app-dialog .app-dialog-symbol{color:CanvasText}#app-dialog .app-dialog-symbol{background:Canvas}}
@media print{#app-dialog{display:none!important}}
