.modal-overlay{background:var(--overlay-backdrop);z-index:9999;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:fixed;inset:0;overflow:hidden}.modal-overlay-contained{z-index:30;background:var(--overlay-contained);padding:20px;position:absolute;inset:0}.modal-content{background:color-mix(in srgb, var(--color-surface) 96%, transparent);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);border-radius:24px;flex-direction:column;width:100%;max-height:calc(100vh - 64px);margin:0;display:flex;overflow:hidden}.modal-sm{width:400px;max-width:100%}.modal-md{width:560px;max-width:100%}.modal-lg{width:760px;max-width:100%}.modal-xl{width:1080px;max-width:100%}.modal-header{border-bottom:1px solid var(--color-border);background:var(--gradient-surface-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px 18px;display:flex}.modal-title{color:var(--color-text-primary);margin:0;font-size:1.2rem;font-weight:700}.modal-close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:4px;display:flex}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-overlay-contained .modal-content{background:var(--color-surface)}.modal-body{padding:24px 28px 28px;overflow-y:auto}@media (width<=768px){.modal-overlay{padding:16px}.modal-content{border-radius:20px;max-height:calc(100vh - 32px)}.modal-header{padding:18px 20px 16px}.modal-body{padding:18px 20px 20px}}
