/* Overlay that covers the entire screen */ .overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 1000; padding: 20px; } /* Main popup container */ .popup { border: 1px solid var(--color-primary); background: var(--color-bg); border-radius: 25px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; animation: popupSlideIn 0.2s ease-out; } /* Size variants */ .small { max-width: 400px; min-width: 300px; } .medium { max-width: 600px; min-width: 400px; } .large { max-width: 900px; min-width: 600px; } .fullscreen { width: 95vw; height: 95vh; max-width: none; max-height: none; } /* Popup animation */ @keyframes popupSlideIn { from { opacity: 0; transform: scale(0.9) translateY(-20px); } to { opacity: 1; transform: scale(1) translateY(0); } } /* Header section */ .header { padding: 20px 24px 16px; border-bottom: 1px solid var(--color-primary); display: flex; justify-content: space-between; align-items: center; background: var(--color-bg); flex-shrink: 0; } .title { margin: 0; font-size: 18px; font-weight: 400; color: var(--color-text); } .closeButton { background: none; border: none; font-size: 24px; color: var(--color-primary); cursor: pointer; padding: 4px; border-radius: 4px; transition: all 0.2s ease; line-height: 1; } .closeButton:hover { background-color: var(--color-bg); color: var(--color-primary-hover); } /* Content section */ .content { padding: 24px; overflow-y: auto; flex: 1; } /* Footer section */ .footer { padding: 16px 24px; border-top: 1px solid var(--color-primary); display: flex; justify-content: flex-end; gap: 12px; background: var(--color-bg); flex-shrink: 0; } /* Responsive design */ @media (max-width: 640px) { .popup { margin: 10px; } .small, .medium, .large { min-width: 280px; width: 100%; } .fullscreen { width: 100vw; height: 100vh; border-radius: 0; } .content { padding: 16px; } .header { padding: 16px; } .footer { padding: 12px 16px; flex-direction: column-reverse; } }