:root { --uaf-success: #58c91f; --uaf-error: #d83b3b; --uaf-warning: #d99000; --uaf-ink: #111827; }
.uaf-is-open { overflow: hidden; }
.uaf-overlay { position: fixed; inset: 0; z-index: 1000000; display: grid; place-items: center; padding: 22px; background: rgba(17,24,39,.55); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); opacity: 0; transition: opacity .18s ease; }
.uaf-overlay.is-visible { opacity: 1; }
.uaf-dialog { position: relative; box-sizing: border-box; width: min(100%,470px); overflow: hidden; padding: 38px 38px 32px; border: 1px solid rgba(255,255,255,.75); border-radius: 24px; background: #fff; box-shadow: 0 28px 80px rgba(15,23,42,.32); color: var(--uaf-ink); text-align: center; transform: translateY(14px) scale(.97); transition: transform .2s ease; }
.uaf-overlay.is-visible .uaf-dialog { transform: translateY(0) scale(1); }
.uaf-icon { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto 20px; border-radius: 50%; background: #effbe9; background: color-mix(in srgb,var(--uaf-success) 15%,white); color: var(--uaf-success); }
.uaf-icon svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.uaf-error .uaf-icon { background: #fce8e8; color: var(--uaf-error); }
.uaf-warning .uaf-icon { background: #fff4d6; color: var(--uaf-warning); }
.uaf-eyebrow { margin: 0 0 8px; color: #657080; font: 700 12px/1.3 system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.uaf-dialog h2 { margin: 0; color: var(--uaf-ink); font: 800 clamp(25px,5vw,32px)/1.15 system-ui,sans-serif; }
.uaf-message { margin: 14px auto 26px; max-width: 370px; color: #4b5563; font: 400 16px/1.55 system-ui,sans-serif; }
.uaf-action { min-width: 150px; min-height: 46px; padding: 10px 22px; border: 0; border-radius: 999px; background: var(--uaf-ink); color: #fff; cursor: pointer; font: 700 15px/1 system-ui,sans-serif; }
.uaf-action:hover { background: #263247; }
.uaf-action:focus-visible,.uaf-close:focus-visible { outline: 3px solid #b8e62e; outline-offset: 3px; }
.uaf-close { position: absolute; top: 14px; right: 16px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #4b5563; cursor: pointer; font: 300 30px/1 system-ui,sans-serif; }
.uaf-close:hover { background: #eef1f4; }
.uaf-progress { position: absolute; right: 0; bottom: 0; left: 0; height: 5px; background: var(--uaf-success); transform-origin: left; animation: uaf-countdown 5s linear forwards; }
.uaf-error .uaf-progress { background: var(--uaf-error); }.uaf-warning .uaf-progress { background: var(--uaf-warning); }
@keyframes uaf-countdown { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) { .uaf-overlay,.uaf-dialog { transition: none; }.uaf-progress { animation: none; } }
@media (max-width:520px) { .uaf-overlay { padding: 16px; }.uaf-dialog { padding: 34px 22px 28px; border-radius: 20px; }.uaf-message { font-size: 15px; } }
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) { .uaf-overlay { background: rgba(17,24,39,.72); } }
