.overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; } .modal { background: var(--surface-color); border-radius: 12px; width: 90%; max-width: 600px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); } .sizeSm { max-width: 420px; } .sizeMd { max-width: 600px; } .sizeLg { max-width: 880px; } .sizeXl { max-width: 1200px; } .header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: 1px solid var(--border-color); } .title { font-size: 1.125rem; font-weight: 600; color: var(--text-primary); margin: 0; } .closeButton { background: none; border: none; font-size: 1.25rem; color: var(--text-secondary); cursor: pointer; padding: 0.25rem; line-height: 1; transition: color 0.2s; } .closeButton:hover { color: var(--text-primary); } .content { padding: 1.5rem; overflow-y: auto; flex: 1; } .footer { display: flex; justify-content: flex-end; gap: 0.75rem; padding: 1rem 1.5rem; border-top: 1px solid var(--border-color); } :global(.dark-theme) .overlay { background: rgba(0, 0, 0, 0.7); }