.overlay { position: fixed; inset: 0; background: var(--modal-overlay-bg); backdrop-filter: blur(var(--modal-overlay-blur)); -webkit-backdrop-filter: blur(var(--modal-overlay-blur)); display: flex; align-items: center; justify-content: center; z-index: 300; padding: 20px; } .modal { width: 100%; max-width: 520px; max-height: calc(100vh - 40px); display: flex; flex-direction: column; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px); border: 1px solid var(--glass-border); border-radius: var(--radius); box-shadow: 0 20px 60px rgba(var(--primary-rgb) / 0.16); overflow: hidden; } .modalWide { max-width: 640px; } .modalXl { max-width: min(1180px, calc(100vw - 40px)); } .header { position: relative; padding: 18px 18px 10px; border-bottom: 1px solid rgba(148, 163, 184, 0.2); flex-shrink: 0; } .title { font-size: 18px; font-weight: 700; color: var(--text-primary); padding-right: 36px; } .closeBtn { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--text-muted); transition: background 0.2s, color 0.2s; } .closeBtn:hover { background: rgba(var(--primary-rgb) / 0.08); color: var(--primary); } .body { padding: 18px; overflow: auto; flex: 1; min-height: 0; }