.overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px var(--page-pad); background: rgba(0, 0, 0, 0.72); backdrop-filter: blur(2px); animation: overlayIn 0.22s ease; } .dialog { width: min(100%, 420px); padding: 32px 30px 26px; border-radius: 5px; background: var(--color-white); box-shadow: 0 28px 64px rgba(0, 0, 0, 0.35); animation: dialogIn 0.28s cubic-bezier(0.22, 1, 0.36, 1); } .kicker { margin: 0 0 10px; font-size: 11px; font-weight: 400; letter-spacing: 0.28em; text-transform: uppercase; color: var(--color-soft); } .title { margin: 0; font-size: 18px; font-weight: 400; letter-spacing: 0.16em; text-transform: uppercase; line-height: 1.35; } .message { margin: 14px 0 0; font-size: 14px; font-weight: 400; line-height: 1.6; color: var(--color-muted); } .actions { margin-top: 28px; display: flex; justify-content: flex-end; gap: 10px; } .cancelBtn, .confirmBtn { min-height: 38px; padding: 0 18px; font-size: 11px; letter-spacing: 0.16em; } .cancelBtn { border-color: #d4d4d4; color: var(--color-soft); } .cancelBtn::before { content: none; } .cancelBtn:hover, .cancelBtn:focus-visible { color: var(--color-black); border-color: var(--color-black); background: transparent; } .confirmBtn { border-color: var(--color-black); color: var(--color-black); } .confirmDanger { background: var(--color-black); border-color: var(--color-black); color: var(--color-white); } .confirmDanger:hover, .confirmDanger:focus-visible { background: #1a1a1a; } .confirmDanger::before { background: #fff; } .confirmDanger:hover, .confirmDanger:focus-visible { color: var(--color-black); } .cancelBtn:disabled, .confirmBtn:disabled { opacity: 0.5; cursor: not-allowed; } @keyframes overlayIn { from { opacity: 0; } to { opacity: 1; } } @keyframes dialogIn { from { opacity: 0; transform: translateY(10px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } @media (prefers-reduced-motion: reduce) { .overlay, .dialog { animation: none; } }